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();
}