Resolves: tdf#97055 hyphenation claims its already active after closing

cancel button works, hyphen all works, but closing it via wm close
skips the cancel callback.

simplest thing seems to be to call SpellEnd when necessary, flagging
that its not necessary by disabling the close button on the RET_OK
case

Change-Id: Ib0a67c4395e9d20941e735ebb14f6bd7f7ddb66c
This commit is contained in:
Caolán McNamara 2016-08-30 17:52:41 +01:00
parent 107e5981b4
commit c7fd653268

View File

@ -268,8 +268,11 @@ void SvxHyphenWordDialog::ContinueHyph_Impl( sal_Int32 nInsPos )
} }
} }
else else
{
m_pCloseBtn->Disable();
EndDialog(RET_OK); EndDialog(RET_OK);
} }
}
sal_uInt16 SvxHyphenWordDialog::GetHyphIndex_Impl() sal_uInt16 SvxHyphenWordDialog::GetHyphIndex_Impl()
@ -399,7 +402,6 @@ IMPL_LINK_NOARG_TYPED(SvxHyphenWordDialog, CancelHdl_Impl, Button*, void)
if( !m_bBusy ) if( !m_bBusy )
{ {
m_bBusy = true; m_bBusy = true;
m_pHyphWrapper->SpellEnd();
EndDialog(); EndDialog();
m_bBusy = false; m_bBusy = false;
} }
@ -501,6 +503,8 @@ SvxHyphenWordDialog::~SvxHyphenWordDialog()
void SvxHyphenWordDialog::dispose() void SvxHyphenWordDialog::dispose()
{ {
if (m_pCloseBtn->IsEnabled())
m_pHyphWrapper->SpellEnd();
m_pWordEdit.clear(); m_pWordEdit.clear();
m_pLeftBtn.clear(); m_pLeftBtn.clear();
m_pRightBtn.clear(); m_pRightBtn.clear();
@ -512,7 +516,6 @@ void SvxHyphenWordDialog::dispose()
SfxModalDialog::dispose(); SfxModalDialog::dispose();
} }
void SvxHyphenWordDialog::SetWindowTitle( LanguageType nLang ) void SvxHyphenWordDialog::SetWindowTitle( LanguageType nLang )
{ {
SetText( m_aLabel + " (" + SvtLanguageTable::GetLanguageString( nLang ) + ")" ); SetText( m_aLabel + " (" + SvtLanguageTable::GetLanguageString( nLang ) + ")" );