Blob Blame History Raw
From cbef9bda246c13dcad27bf8205930fc16b3e0265 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Wed, 3 Jun 2015 16:51:41 +0100
Subject: [PATCH] Resolves: tdf#90435 secondary pool set to that of temp docs
 drawing layers

overwriting the original one, and when the temp doc goes away then its drawing
layer goes away autoamtically settings the secondary pools of the other pools
it is a secondary of back to 0

(see also tdf#87245)

Change-Id: Ie6dd8d615f81cf4d4776eaeac1cc2507b2abaa37
(cherry picked from commit 8ae25bbc092254f680e2976873f15bdbc26615ef)
Reviewed-on: https://gerrit.libreoffice.org/16075
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
---
 sc/source/core/data/documen9.cxx | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sc/source/core/data/documen9.cxx b/sc/source/core/data/documen9.cxx
index 4fe1a11..118efa6 100644
--- a/sc/source/core/data/documen9.cxx
+++ b/sc/source/core/data/documen9.cxx
@@ -139,11 +139,11 @@ void ScDocument::InitDrawLayer( SfxObjectShell* pDocShell )
         // in SfxItemSets using the Calc SfxItemPool. This is e.g. needed when
         // the PageStyle using SvxBrushItem is visualized and will be potentially
         // used more intense in the future
-        if(xPoolHelper.is())
+        if (xPoolHelper.is() && !IsClipOrUndo()) //Using IsClipOrUndo as a proxy for SharePooledResources called
         {
             ScDocumentPool* pLocalPool = xPoolHelper->GetDocPool();
 
-            if(pLocalPool)
+            if (pLocalPool)
             {
                 OSL_ENSURE(!pLocalPool->GetSecondaryPool(), "OOps, already a secondary pool set where the DrawingLayer ItemPool is to be placed (!)");
                 pLocalPool->SetSecondaryPool(&pDrawLayer->GetItemPool());
-- 
2.4.0