[REVIEW][3.5]fdo#46531, spell checking display fun

Caolán McNamara caolanm at redhat.com
Thu Mar 8 06:32:52 PST 2012


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.



More information about the LibreOffice mailing list