Original Post
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
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