diff options
author | Michael Meeks <michael.meeks@collabora.com> | 2015-11-12 17:38:25 +0000 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2015-11-16 19:04:36 +0100 |
commit | 25aa4d4baf929cf41242e40cf45b860a66ca65ac (patch) | |
tree | 46b55b956695a2ce2848128bc70c722ea0b7c956 /svx | |
parent | 80b682362b51453e39f6bad2f809f3e551710dd3 (diff) |
tdf#95551 - fix image map crash.
Remove listener we add, and don't crash on callback for disposed dialog.
Reviewed-on: https://gerrit.libreoffice.org/19936
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
(cherry picked from commit 45c6d948fbac77a8a6926f56579a4ceba981288f)
Conflicts:
svx/source/dialog/imapdlg.cxx
Change-Id: Ia6a1bddd212cb28a0331469e8e87324346d02841
Diffstat (limited to 'svx')
-rw-r--r-- | svx/source/dialog/imapdlg.cxx | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/svx/source/dialog/imapdlg.cxx b/svx/source/dialog/imapdlg.cxx index 0716dc985c24..fabf364a611f 100644 --- a/svx/source/dialog/imapdlg.cxx +++ b/svx/source/dialog/imapdlg.cxx @@ -184,7 +184,7 @@ SvxIMapDlg::SvxIMapDlg(SfxBindings *_pBindings, SfxChildWindow *pCW, vcl::Window m_pEdtText->SetModifyHdl( LINK( this, SvxIMapDlg, URLModifyHdl ) ); m_pCbbTarget->SetLoseFocusHdl( LINK( this, SvxIMapDlg, URLLoseFocusHdl ) ); - SvtMiscOptions aMiscOptions; + SvtMiscOptions aMiscOptions; aMiscOptions.AddListenerLink( LINK( this, SvxIMapDlg, MiscHdl ) ); m_pTbxIMapDlg1->SetSelectHdl( LINK( this, SvxIMapDlg, TbxClickHdl ) ); @@ -222,6 +222,9 @@ void SvxIMapDlg::dispose() { pIMapWnd->SetUpdateLink( Link<>() ); + SvtMiscOptions aMiscOptions; + aMiscOptions.RemoveListenerLink( LINK( this, SvxIMapDlg, MiscHdl ) ); + // Delete URL-List pIMapWnd.disposeAndClear(); DELETEZ( pOwnData ); @@ -814,9 +817,11 @@ IMPL_LINK( SvxIMapDlg, StateHdl, IMapWindow*, pWnd ) IMPL_LINK_NOARG(SvxIMapDlg, MiscHdl) { - SvtMiscOptions aMiscOptions; - m_pTbxIMapDlg1->SetOutStyle( aMiscOptions.GetToolboxStyle() ); - + if (m_pTbxIMapDlg1) + { + SvtMiscOptions aMiscOptions; + m_pTbxIMapDlg1->SetOutStyle( aMiscOptions.GetToolboxStyle() ); + } return 0L; } |