summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2016-03-17 10:20:34 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2016-03-17 10:23:39 +0100
commit06db842d732bba0deacc27e54176536e4c45b2c9 (patch)
treeacafc1c8394bcb426875ac9f3d897434f93792c4
parent743bbedb1a4d1ce9304f9cf864bfe3e2b6ea5efa (diff)
SwMailMergeWizardExecutor::EndDialogHdl: avoid accessing already deleted view
Valgrind points out that SwView::GetMailMergeConfigItem() is called on a pointer that is already deleted. SwView gets deleted, because it is closed by SwMailMergeWizardExecutor::EndDialogHdl(). Since the new MM toolbar the source view is never closed (since the toolbar is part of the source view), so adapt code here to always show the source frame at the end of the wizard, instead of conditionally showing or closing it. With this, MM to a merged document or individual documents no longer crashes for me. Change-Id: If90302f0619f621420e832a1acc0a05865b8f87d
-rw-r--r--sw/source/uibase/app/apphdl.cxx6
1 files changed, 1 insertions, 5 deletions
diff --git a/sw/source/uibase/app/apphdl.cxx b/sw/source/uibase/app/apphdl.cxx
index 3b6d4ae3e9b7..9ff99927771c 100644
--- a/sw/source/uibase/app/apphdl.cxx
+++ b/sw/source/uibase/app/apphdl.cxx
@@ -567,11 +567,7 @@ IMPL_LINK_NOARG_TYPED( SwMailMergeWizardExecutor, EndDialogHdl, Dialog&, void )
SwView* pSourceView = pMMConfig->GetSourceView();
if(pSourceView)
{
- SwDocShell* pDocShell = pSourceView->GetDocShell();
- if(pDocShell->HasName() && !pDocShell->IsModified())
- pMMConfig->GetSourceView()->GetViewFrame()->DoClose();
- else
- pMMConfig->GetSourceView()->GetViewFrame()->GetFrame().Appear();
+ pMMConfig->GetSourceView()->GetViewFrame()->GetFrame().Appear();
}
ExecutionFinished();
break;