On Friday 01 March 2002 12:21 pm, Edwin Leuven wrote: > I am trying to make the qt2 frontend compile and added a method running() in > qt2/Timeout_pimpl > > there are two issues > > 1. Everything compiles but the dialogs are all xforms! > 2. Starting and closing lyx makes it crash: > > #0 0x0820f505 in Timeout::~Timeout (this=0x84710ec, __in_chrg=2) > at Timeout.C:31 > #1 0x082e190f in BufferView::Pimpl::~Pimpl (this=0x8471164, __in_chrg=3) > at /usr/include/g++-3/stl_vector.h:266 > #2 0x0805149f in BufferView::~BufferView (this=0x8471018, __in_chrg=3) > at BufferView.C:34 > #3 0x080873df in LyXView::~LyXView (this=0x84550c8, __in_chrg=0) > at LyXView.C:73 > #4 0x0809c61e in XFormsView::~XFormsView (this=0x84550c8, __in_chrg=3) > at XFormsView.C:71 > #5 0x080eb517 in LyXGUI::~LyXGUI (this=0x8428c68, __in_chrg=3) > at lyx_gui.C:174 > #6 0x080ecf7b in LyX::~LyX (this=0xbffff770, __in_chrg=2) > at ../boost/boost/utility.hpp:44 > #7 0x08131864 in main (argc=1, argv=0xbffff834) at ../src/main.C:39 > #8 0x4026a627 in __libc_start_main (main=0x81316fc <main>, argc=1, > ubp_av=0xbffff834, init=0x804f74c <_init>, fini=0x8376800 <_fini>, > rtld_fini=0x4000dcc4 <_dl_fini>, stack_end=0xbffff82c) > at ../sysdeps/generic/libc-start.c:129 > > anyone?
Try touching all the .C files in the frontends dir (only 4 or 5 files). It's possible that they think that their pimpl_s are qt2 ones, whilst your executable contains xforms ones. Why it has linked as it has is another matter about which I cannot comment. Incidentally, I think that this pimpl_ idiom is invalid in this case. I have a patch for Timeout.C that gives it a pointer to an abstract base class for it's interaction with the gui library. The Timeout c-tor is stored in the gui forntend, (like the Dialogs c-tor). This way, we never have to worry about such issues. Angus