I tried too to debug this issue. Here is a short summary. In mainWindow.cpp, function MainGui::fileSaveAs(), there is this call (starting at line 191):
QString fname = QFileDialog::getSaveFileName(
this,
tr("Save the HDR..."),
RecentDirHDRSetting,
filetypes
);
During the execution of getSaveFileName, the value of this->currenthdr
gets changed to null, which causes the subsequent segmentation fault
when trying to dereference it (for example, at line 208).
Changing "this" to "null" at line 192 doesn't help. I don't know how
getSaveFileName is able to write things in this. Trying to sort out from
here with gdb or ddd is really difficult: I think that the actual point
where currenthdr is change is MainGui::updateActions() (maniWindow.cpp
at line 277), but it's not clear to me how we arrive to that piece of code.
From the upstream SVN[1] it seems that backporting the "if" clause at
the line 341 fixes this bug without needing the workaround suggested by
Luca Niccoli.
[1]
http://qtpfsgui.svn.sourceforge.net/viewvc/qtpfsgui/trunk/qtpfsgui/src/MainWindow/MainWindow.cpp?revision=712&view=markup
Given that this trick works for me, I'll try to provide a patch and NMU
this bug.
Thanks, Giovanni.
--
Giovanni Mascellani <[email protected]>
Pisa, Italy
Web: http://poisson.phc.unipi.it/~mascellani
Jabber: [email protected] / [email protected]
signature.asc
Description: OpenPGP digital signature

