spell dialog: Make [Close] work in protected documents with editable fields.

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).

Change-Id: I1c310c028aaaf774431d0b1e6bba10e901a8166d
This commit is contained in:
Jan Holesovsky 2014-12-18 21:42:13 +01:00
parent 7ac1522d9e
commit 08e0a79aeb

View File

@ -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;
}