summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>2018-06-18 11:46:10 +0200
committerThorsten Behrens <Thorsten.Behrens@CIB.de>2018-06-28 14:04:58 +0200
commit0f530cb9fb086e058ba2946e8f956b33924e82f4 (patch)
tree53496e66b83d536d89dd5a44b5566869cb2d0a2e
parent521d8ff0e64d59c88fc44ad376c96c1d019a29f1 (diff)
tdf#117904 Don't allow copying signed shapes
Instead just copy the "unsigned" graphic Change-Id: I5183b0b33be0469dceaace142d73aa403cc32ef2 Reviewed-on: https://gerrit.libreoffice.org/56472 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> (cherry picked from commit 79e434948d65dd9eba150bc986e968bcb3754631) Reviewed-on: https://gerrit.libreoffice.org/56510 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
-rw-r--r--svx/source/svdraw/svdograf.cxx5
-rw-r--r--xmloff/source/draw/SignatureLineContext.cxx7
2 files changed, 11 insertions, 1 deletions
diff --git a/svx/source/svdraw/svdograf.cxx b/svx/source/svdraw/svdograf.cxx
index 1f623faeffe9..d336c9634d42 100644
--- a/svx/source/svdraw/svdograf.cxx
+++ b/svx/source/svdraw/svdograf.cxx
@@ -885,7 +885,6 @@ SdrGrafObj& SdrGrafObj::operator=( const SdrGrafObj& rObj )
return *this;
SdrRectObj::operator=( rObj );
- mpGraphicObject->SetGraphic( rObj.GetGraphic(), &rObj.GetGraphicObject() );
aFileName = rObj.aFileName;
aFilterName = rObj.aFilterName;
bMirrored = rObj.bMirrored;
@@ -899,6 +898,10 @@ SdrGrafObj& SdrGrafObj::operator=( const SdrGrafObj& rObj )
mbIsSignatureLineShowSignDate = rObj.mbIsSignatureLineShowSignDate;
mbIsSignatureLineCanAddComment = rObj.mbIsSignatureLineCanAddComment;
mpSignatureLineUnsignedGraphic = rObj.mpSignatureLineUnsignedGraphic;
+ if (mbIsSignatureLine && rObj.mpSignatureLineUnsignedGraphic)
+ mpGraphicObject->SetGraphic(rObj.mpSignatureLineUnsignedGraphic);
+ else
+ mpGraphicObject->SetGraphic( rObj.GetGraphic(), &rObj.GetGraphicObject() );
if( rObj.IsLinkedGraphic() )
{
diff --git a/xmloff/source/draw/SignatureLineContext.cxx b/xmloff/source/draw/SignatureLineContext.cxx
index 3adc70dd779c..445d9c73c2bc 100644
--- a/xmloff/source/draw/SignatureLineContext.cxx
+++ b/xmloff/source/draw/SignatureLineContext.cxx
@@ -100,6 +100,13 @@ SignatureLineContext::SignatureLineContext(SvXMLImport& rImport, sal_uInt16 nPrf
"No InvalidSignatureLineImage!");
xGraphic = xSignatureInfo[i].InvalidSignatureLineImage;
}
+
+ // Save unsigned graphic
+ Reference<XGraphic> xUnsignedGraphic;
+ xPropSet->getPropertyValue("Graphic") >>= xUnsignedGraphic;
+ if (xUnsignedGraphic.is())
+ xPropSet->setPropertyValue("SignatureLineUnsignedImage", Any(xUnsignedGraphic));
+
xPropSet->setPropertyValue("Graphic", Any(xGraphic));
break;
}