diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2015-12-03 19:05:03 +1000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2015-12-14 11:10:04 +0000 |
commit | 02d09f424cac957e2d214a3fc6eebac14b3852a7 (patch) | |
tree | 8bd780a914265d87e3f03d2f76ff62ebebe4b34b /svx/source/svdraw | |
parent | f3bcf57125196333250e95a2f9eb21caf6f8f924 (diff) |
tdf#96206: Avoid scaling objects while copying to clipboard
... to prevent duplicating masters on slide copy-paste.
Also fixed a 10-year copy-paste error (pRefPage wasn't replaced
with pNPage).
Fixed argument evaluation order issue (aStream.GetEndOfData()
depends on Flush() but doesn't call it, so will return incorrect
result if called before aStream.GetBuffer()).
Replaced compare of hashes with results of stringify(),
because it removes useless overhead (hashes are calculated from
stringify() anyway, and are not cached anywhere).
Removed Flush() called from SvMemoryStream::GetBuffer(), because
it calls GetData(), which calls Flush() itself.
Thanks to Andras Timar for unit test framework.
Change-Id: Ia46d4e9a017fc628d424949a9d229045a249a4ca
Reviewed-on: https://gerrit.libreoffice.org/20367
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
(cherry picked from commit 6381fe554aec600d13d0359903216811d644dd36)
Reviewed-on: https://gerrit.libreoffice.org/20694
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'svx/source/svdraw')
-rw-r--r-- | svx/source/svdraw/svdobj.cxx | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/svx/source/svdraw/svdobj.cxx b/svx/source/svdraw/svdobj.cxx index 5cbef0802e3e..b0b602ad4f3d 100644 --- a/svx/source/svdraw/svdobj.cxx +++ b/svx/source/svdraw/svdobj.cxx @@ -1756,6 +1756,7 @@ OString SdrObject::stringify() const SfxItemSet aSet(GetMergedItemSet()); aSet.InvalidateDefaultItems(); aSet.Store(aStream, true); + aStream.Flush(); // for correct results from aStream.GetEndOfData() aString.append(static_cast<const char *>(aStream.GetBuffer()), aStream.GetEndOfData()); return aString.makeStringAndClear(); |