On Tue, 2012-02-28 at 14:13 +0000, Michael Meeks wrote: > On Tue, 2012-02-28 at 12:26 +0000, Caolán McNamara wrote: > > Dialog is fragile and tricky :-( > > So - given that the dialog was moved to cui, is not public, and has > only one constructor in the factory method - would something like the > appended clean that up rather pleasantly ? >
Nah, I recall some more of the details now. The virtual methods that are a problem are those of SpellDialogChildWindow. Your patch call LateInit inside CreateSvxSpellDialog, but the problem is that the SpellDialogChildWindow::SpellDialogChildWindow ctor http://opengrok.libreoffice.org/xref/core/svx/source/dialog/SpellDialogChildWindow.cxx#47 is what is calling CreateSvxSpellDialog, so a LateInit there still tries to call virtual methods on an in-construction object, e.g. the IsGrammarChecking and HasAutoCorrection calls. Its only after a SpellDialogChildWindow, or the things that inherit from it, i.e. SwSpellDialogChildWindow, is itself finished construction that calling virtual methods on it from inside a SvxSpellDialog is safe. C. _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice