The non empty patch.
Peter Kümmel wrote: > Enrico Forestieri wrote: >> On Wed, Dec 20, 2006 at 07:57:30PM +0100, Peter Kümmel wrote: >>> 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. >>>> >>>> Peter, does this have anything to do with your lyx/quit cleanup? >>>> >>>> Bo >>>> >>> Enrico was the last one who touched the quit logic. >> Yes, but I only made sure that the quit procedure was not entered at >> all if cancel was selected. >> > > > lyx_main.C: > > /// The main application class private implementation. > struct LyX::Singletons > { > Singletons(): iconv(ucs4_codeset, "UTF-8") > { > } > /// our function handler > LyXFunc lyxfunc_; > /// > BufferList buffer_list_; > /// > boost::scoped_ptr<kb_keymap> toplevel_keymap_; > > > buffer_list_ is not in a smart pointer, don't know why. > And there is no explicit destruction of the Singleton > object, so the compiler will do it. > > Maybe attached patch helps. > > -- Peter Kümmel
Index: src/lyx_main.C =================================================================== --- src/lyx_main.C (revision 16341) +++ src/lyx_main.C (working copy) @@ -181,6 +181,7 @@ LyX::~LyX() { + pimpl_.reset(); }