Bo Peng wrote:
It appears to me that ~LyxView() is called before ~Buffer() so when the closing() signal is emitted (line 229, buffer.C), and triggers a LyXView::setBuffer, there is no instance of LyXView. This is the also the case for msvc, but lyx/win does not report any error.
That's because the signal connection are properly shut down at LyXView destruction. I suspect a gcc bug here.
Peter, does this have anything to do with your lyx/quit cleanup?
No, I think I have just solved this. Please try it out. Abdel.
Index: LyXView.C =================================================================== --- LyXView.C (revision 16362) +++ LyXView.C (working copy) @@ -86,6 +86,10 @@ LyXView::~LyXView() { + // Some gcc versions do not disconnect the boost signal + // on destruction. So we make sure here that it is properly + // disconnected: + disconnectBuffer(); }