seg fault or Fatal in <operator delete> in TGFileDialog

Ulrich Jost (jost@evalo1.ific.uv.es)
Fri, 28 May 1999 11:12:36 +0200 (CET)


Hi,

I try to use a TGFileDialog like this:

if (parm1 == eSaveToFile){
TGFileInfo fi;
fi.fFileTypes = (char **) gSaveAsTypes;
TGFileDialog diag(fClient->GetRoot(), this, kFDSave, &fi);
if (!fi.fFilename)
return(kTRUE);
if (strstr(fi.fFilename, ".ps") ||
strstr(fi.fFilename, ".eps") ||
strstr(fi.fFilename, ".gif")){
filename = strdup(fi.fFilename);
delete [] fi.fFilename;
}
else{
cout << "RootWindow::ProcessMessage: file can only be saved
"
"with extensions .ps, .eps, .gif" << endl;
delete [] fi.fFilename;
return(kTRUE);
}
}

I get
Fatal in <operator delete>: unreasonable size (1076454348)
aborting

When I create it with new, I get a segfault on
delete diag;

Thanks, Ulrich