[Libreoffice-commits] core.git: Branch 'private/swe/libreoffice-5-2+backports' - sc/source
Katarina Behrens
Katarina.Behrens at cib.de
Mon Feb 5 14:11:45 UTC 2018
sc/source/ui/inc/linkarea.hxx | 2 +-
sc/source/ui/miscdlgs/linkarea.cxx | 5 ++---
2 files changed, 3 insertions(+), 4 deletions(-)
New commits:
commit 91ec9510e5b28aa2214d735faf11197b931c72b3
Author: Katarina Behrens <Katarina.Behrens at cib.de>
Date: Thu Feb 1 12:08:34 2018 +0100
Don't recycle DocumentInserter, create a new one every time
After all, everyone else using DocumentInserter across the codebase
does the same.
For KDE4, an attempt to reuse the same filepicker dialog sporadically
crashes in the depths of (old-ish, possibly buggy) libQt due to nested
event loop and/or recursive repaints.
(crash scenario: Calc > Sheet > Link to external data > Browse > double-click
a file > Browse again > Kaboom!)
Reviewed-on: https://gerrit.libreoffice.org/49082
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Katarina Behrens <Katarina.Behrens at cib.de>
(cherry picked from commit a74590e4b4475253bd7752738e570cdafe45e674)
Change-Id: Ib494203abd07873919b8394a442f09c5329d237c
diff --git a/sc/source/ui/inc/linkarea.hxx b/sc/source/ui/inc/linkarea.hxx
index a9a8b575d6e7..0d0e4e245b18 100644
--- a/sc/source/ui/inc/linkarea.hxx
+++ b/sc/source/ui/inc/linkarea.hxx
@@ -47,7 +47,7 @@ private:
VclPtr<OKButton> m_pBtnOk;
ScDocShell* pSourceShell;
- sfx2::DocumentInserter* pDocInserter;
+ std::unique_ptr<sfx2::DocumentInserter> pDocInserter;
SfxObjectShellRef aSourceRef;
diff --git a/sc/source/ui/miscdlgs/linkarea.cxx b/sc/source/ui/miscdlgs/linkarea.cxx
index 143799d52ce3..0a475402dd12 100644
--- a/sc/source/ui/miscdlgs/linkarea.cxx
+++ b/sc/source/ui/miscdlgs/linkarea.cxx
@@ -88,9 +88,8 @@ short ScLinkedAreaDlg::Execute()
IMPL_LINK_NOARG_TYPED(ScLinkedAreaDlg, BrowseHdl, Button*, void)
{
- if ( !pDocInserter )
- pDocInserter = new sfx2::DocumentInserter(
- OUString::createFromAscii( ScDocShell::Factory().GetShortName() ) );
+ pDocInserter.reset( new sfx2::DocumentInserter(
+ OUString::createFromAscii( ScDocShell::Factory().GetShortName() ) ) );
pDocInserter->StartExecuteModal( LINK( this, ScLinkedAreaDlg, DialogClosedHdl ) );
}
More information about the Libreoffice-commits
mailing list