summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sd/inc/Outliner.hxx2
-rw-r--r--sd/source/ui/view/Outliner.cxx3
2 files changed, 2 insertions, 3 deletions
diff --git a/sd/inc/Outliner.hxx b/sd/inc/Outliner.hxx
index 772040f7a610..4a7100db3bb1 100644
--- a/sd/inc/Outliner.hxx
+++ b/sd/inc/Outliner.hxx
@@ -316,7 +316,7 @@ private:
search. It is set every time the
<member>SearchAndReplaceAll</member> method is called.
*/
- const SvxSearchItem* mpSearchItem;
+ std::unique_ptr<const SvxSearchItem> mpSearchItem;
/// The actual object iterator.
::sd::outliner::Iterator maObjectIterator;
diff --git a/sd/source/ui/view/Outliner.cxx b/sd/source/ui/view/Outliner.cxx
index 0f77f2070219..23353ba87c82 100644
--- a/sd/source/ui/view/Outliner.cxx
+++ b/sd/source/ui/view/Outliner.cxx
@@ -154,7 +154,6 @@ SdOutliner::SdOutliner( SdDrawDocument* pDoc, OutlinerMode nMode )
meStartEditMode(EditMode::Page),
mnStartPageIndex(sal_uInt16(-1)),
mpStartEditedObject(nullptr),
- mpSearchItem(nullptr),
mbPrepareSpellingPending(true)
{
SetStyleSheetPool(static_cast<SfxStyleSheetPool*>( mpDrawDocument->GetStyleSheetPool() ));
@@ -464,7 +463,7 @@ bool SdOutliner::StartSearchAndReplace (const SvxSearchItem* pSearchItem)
if ( ! bAbort)
{
meMode = SEARCH;
- mpSearchItem = pSearchItem;
+ mpSearchItem = std::unique_ptr<SvxSearchItem>(pSearchItem->Clone());
mbFoundObject = false;