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 <mascell...@poisson.phc.unipi.it>
Pisa, Italy

Web: http://poisson.phc.unipi.it/~mascellani
Jabber: g.mascell...@jabber.org / giova...@elabor.homelinux.org

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to