diff options
-rw-r--r-- | cui/source/dialogs/SpellDialog.cxx | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/cui/source/dialogs/SpellDialog.cxx b/cui/source/dialogs/SpellDialog.cxx index a589bab71f27..2aba722656d6 100644 --- a/cui/source/dialogs/SpellDialog.cxx +++ b/cui/source/dialogs/SpellDialog.cxx @@ -736,9 +736,13 @@ IMPL_LINK_NOARG(SpellDialog, IgnoreHdl) bool SpellDialog::Close() { - GetBindings().GetDispatcher()-> - Execute(rParent.GetType(), - SfxCallMode::ASYNCHRON|SfxCallMode::RECORD); + // We have to call ToggleChildWindow directly; calling SfxDispatcher's + // Execute() does not work here when we are in a document with protected + // section - in that case, the cursor can move from the editable field to + // the protected area, and the slots get disabled because of + // SW_DISABLE_ON_PROTECTED_CURSOR (see FN_SPELL_GRAMMAR_DIALOG in .sdi). + SfxViewFrame::Current()->ToggleChildWindow(rParent.GetType()); + return true; } |