summaryrefslogtreecommitdiff
path: root/cui/source/dialogs/SpellDialog.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'cui/source/dialogs/SpellDialog.cxx')
-rw-r--r--cui/source/dialogs/SpellDialog.cxx10
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;
}