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

Reply via email to