[SDL_Image] Img_Load : segmentation fault ....
bonsoir
voila
dans mon programme j'exécute les deux méthodes suivantes l'une apres l'autre
j'obtient un segmentation faul SDL parachute deployed lors du chargement avec img_load()
aisje oublié quelque chose dans initialiser_affichage_SDL ? ??
je précise que j'ai un exécutable d'une version précédente qui marche impécable
seulement g perdu les sources
donc je peut pas comparer ...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
void Moteur3D::initialiser_affichage_SDL()
{
//===================
// Initialiser la vidéo
//===================
if(SDL_Init(SDL_INIT_VIDEO)!=0)
{
printf("[ ERREUR ] Initialisation de la vidéo via SDL impossible.\n");
SDL_Quit();
exit(1);
}
//====================
// Création de l'écran d'affichage
//====================
if(fullScreen==false)
{
ecran=SDL_SetVideoMode(resX,resY,nbBitParPixel,SDL_HWSURFACE);
}
else
{
ecran=SDL_SetVideoMode(resX,resY,nbBitParPixel,SDL_HWSURFACE|SDL_FULLSCREEN);
}
if(ecran==NULL)
{
SDL_Quit();
printf("[ ERREUR ] La fenêtre n'a pas pu être créée.");
SDL_Quit();
exit(1);
}
else
{
printf("[ OK ] Création de la fenêtre %d x %d x %d\n",resX,resY,nbBitParPixel);
// Donner un nom a la fenêtre
SDL_WM_SetCaption("Mon Jeu","Mon Jeu");
}
//=======================
// Attributs SDL
//=======================
SDL_EnableKeyRepeat(1,1); // Répétition des touches
SDL_ShowCursor(SDL_ENABLE); // Masquer le curseur de la souris
// SDL_WM_GrabInput(SDL_GRAB_ON); // Autoriser la souris a dépasser les limites de l'écran
}
void Moteur3D::afficher_intro()
{
SDL_Surface *surf_image1;
SDL_Surface *surf_image2;
SDL_Rect dest;
SDL_Event event;
float last_time = 0.0;
float current_time=0.0;
float temps;
int compteur=1;
bool encore=true;
char * image1 = "images/titre.png";
char * image2 = "images/titre_2.png";
// Charger les images PNG en mémoire vidéo.
surf_image1 = IMG_Load(image1); //Ligne qui plabnte
if ( surf_image1 == NULL )
{
printf("[ ERREUR ] Le fichier %s est manquant",image1);
SDL_Quit();
exit(1);
}
surf_image2 = IMG_Load(image2);
if ( surf_image2 == NULL )
{
printf("[ ERREUR ] Le fichier %s est manquant",image2);
SDL_Quit();
exit(1);
}
.
.
.
.
} |