killwin

Member
  • Content count

    2
  • Joined

  • Last visited

Community Reputation

101 Neutral

About killwin

  • Rank
    Newbie
  1. SDL_FreeSurface and segfault

    Solved thanks, i found a line with surface = destimg. Then i was calling SDL_FreeSurface two times on the same pointer.
  2. Hello, I I have a verry bad problem. In my draw.h : [source lang="cpp"]class CDraw : public CGraphic { public : // constructor CDraw(const float& coef_resol_); ... private : SDL_Surface *destimg; }[/source] In my draw.cpp : [source lang="cpp"]CDraw::CDraw(const float& coef_resol_) : CGraphic({0, 0}, coef_resol_), texture(NULL), destimg(NULL) { } void CDraw::~CDraw() { if(surface) SDL_FreeSurface(surface); /* segfault with it :-( */ if(destimg) SDL_FreeSurface(destimg); } [/source] Well in all lines in draw.cpp, i'm not working with destimg. i commented all destimg. I have only destimg(NULL) and if(destimg) SDL_FreeSurface(destimg); With gdb, with a break point before the if(destimg) i have : (gdb) print destimg $2 = (SDL_Surface *) 0x766177 And next a SEGFAULT. I don t understand, thanks