Hi,
I have submitted a patch for review:
https://gerrit.libreoffice.org/3642
To pull it, you can do:
git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/42/3642/1
fdo#60910: discard UNO shape object in SdrObject::SetPage
The creation of the UNO shape in SdrObject::getUnoShape is influenced
by pPage, so when the page changes we need to discard the cached UNO
shape so that a new one will be created with the new page.
This replaces my first shot at a fix for fdo#60910 which reinstated a
line to discard the custom shape engine (and consequently the UNO shape) in
SdrObjCustomShape::InvalidateRenderGeometry. That worked but did more
discarding than was necessary.
Change-Id: I665fb6f9e1563bbc4eced046f027a53991a7e45f
---
M svx/source/svdraw/svdobj.cxx
1 file changed, 6 insertions(+), 0 deletions(-)
diff --git a/svx/source/svdraw/svdobj.cxx b/svx/source/svdraw/svdobj.cxx
index 8385b07..1f7cba6 100644
--- a/svx/source/svdraw/svdobj.cxx
+++ b/svx/source/svdraw/svdobj.cxx
@@ -568,6 +568,12 @@
void SdrObject::SetPage(SdrPage* pNewPage)
{
+ // The creation of the UNO shape in SdrObject::getUnoShape is influenced
+ // by pPage, so when the page changes we need to discard the cached UNO
+ // shape so that a new one will be created.
+ if (pPage != pNewPage)
+ setUnoShape(NULL);
+
pPage=pNewPage;
if (pPage!=NULL) {
SdrModel* pMod=pPage->GetModel();
--
To view, visit https://gerrit.libreoffice.org/3642
To unsubscribe, visit https://gerrit.libreoffice.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I665fb6f9e1563bbc4eced046f027a53991a7e45f
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: master
Gerrit-Owner: Luke Deller <luke@deller.id.au>
Context
- [PATCH] fdo#60910: discard UNO shape object in SdrObject::SetPage · Luke Deller (via Code Review)
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.