Accepting request 349056 from LibreOffice:Factory

1

OBS-URL: https://build.opensuse.org/request/show/349056
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libreoffice?expand=0&rev=101
This commit is contained in:
Dominique Leuenberger 2015-12-20 09:51:44 +00:00 committed by Git OBS Bridge
commit 6d5961679f
11 changed files with 140 additions and 15 deletions

104
bnc-945047.diff Normal file
View File

@ -0,0 +1,104 @@
From 0b6c9ddce0478bbedc36e8531f31b154bbce661c Mon Sep 17 00:00:00 2001
From: Mike Kaganski <mike.kaganski@collabora.com>
Date: Thu, 3 Dec 2015 19:05:03 +1000
Subject: [PATCH] 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.
Change-Id: Ia46d4e9a017fc628d424949a9d229045a249a4ca
---
sd/source/core/drawdoc3.cxx | 22 ++++++++++++++++------
svx/source/svdraw/svdobj.cxx | 1 +
tools/source/stream/stream.cxx | 1 -
3 files changed, 17 insertions(+), 7 deletions(-)
diff --git a/sd/source/core/drawdoc3.cxx b/sd/source/core/drawdoc3.cxx
index 3f966e8..cb15650 100644
--- a/sd/source/core/drawdoc3.cxx
+++ b/sd/source/core/drawdoc3.cxx
@@ -51,6 +51,7 @@
#include "strmname.h"
#include "anminfo.hxx"
#include "customshowlist.hxx"
+#include "sdxfer.hxx"
#include "../ui/inc/unmovss.hxx"
#include "../ui/inc/unchss.hxx"
@@ -110,7 +111,7 @@ void InsertBookmarkAsPage_FindDuplicateLayouts::operator()( SdDrawDocument& rDoc
{
// Ignore Layouts with "Default" these seem to be special - in the sense that there are lot of assumption all over Impress
// about this
- if( bRenameDuplicates && aTest != OUString( SdResId( STR_LAYOUT_DEFAULT_NAME ) ) && pTestPage->getHash() != pBMMPage->getHash() )
+ if( bRenameDuplicates && aTest != OUString( SdResId( STR_LAYOUT_DEFAULT_NAME ) ) && pTestPage->stringify() != pBMMPage->stringify() )
{
pBookmarkDoc->RenameLayoutTemplate( pBMMPage->GetLayoutName(), OUString(pBMMPage->GetName())+=OUString("_") );
aLayout = pBMMPage->GetName();
@@ -438,17 +439,26 @@ bool SdDrawDocument::InsertBookmarkAsPage(
sal_Int32 nNRight = pNPage->GetRgtBorder();
sal_Int32 nNUpper = pNPage->GetUppBorder();
sal_Int32 nNLower = pNPage->GetLwrBorder();
- Orientation eNOrient = pRefPage->GetOrientation();
+ Orientation eNOrient = pNPage->GetOrientation();
// Adapt page size and margins to those of the later pages?
pRefPage = GetSdPage(nSdPageCount - 1, PK_STANDARD);
if( bNoDialogs )
{
- if( rBookmarkList.empty() )
- bScaleObjects = pRefPage->IsScaleObjects();
- else
- bScaleObjects = true;
+ // If this is clipboard, then no need to scale objects:
+ // this will make copied masters to differ from the originals,
+ // and thus InsertBookmarkAsPage_FindDuplicateLayouts will
+ // duplicate masters on insert to same document
+ bool bIsClipBoard = (SD_MOD()->pTransferClip &&
+ SD_MOD()->pTransferClip->GetWorkDocument() == this);
+ if (!bIsClipBoard)
+ {
+ if (rBookmarkList.empty())
+ bScaleObjects = pRefPage->IsScaleObjects();
+ else
+ bScaleObjects = true;
+ }
}
else
{
diff --git a/svx/source/svdraw/svdobj.cxx b/svx/source/svdraw/svdobj.cxx
index b6d3827..b712850 100644
--- a/svx/source/svdraw/svdobj.cxx
+++ b/svx/source/svdraw/svdobj.cxx
@@ -1776,6 +1776,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();
diff --git a/tools/source/stream/stream.cxx b/tools/source/stream/stream.cxx
index bb6d21e..17bdcd1 100644
--- a/tools/source/stream/stream.cxx
+++ b/tools/source/stream/stream.cxx
@@ -1723,7 +1723,6 @@ SvMemoryStream::~SvMemoryStream()
const void* SvMemoryStream::GetBuffer()
{
- Flush();
return GetData();
}
--
2.1.4

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1c079b7cbcfbe9517585f8234187741ca79e6ee900fb13642869db5295eef31b
size 72992

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cfd066b327c2308b3d019f0fe124c02d9acfafdd4aa2af0feadb6e0384027cf9
size 73106

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:77f9c9569c1199d914f38afa01547c1874535c56ad74b19614a0afc3ad66d4bd
size 167009360

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:647440b70fc190a43a3373cfe5b06a87558ee07711e3d74cab8fb9d8cbac6dc8
size 167305516

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7e5535b8bd9be88170abdef187d3cf16d2cccdb1fdbd4404a22f1cff55bd953e
size 1882292

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5d3c20037a8c2abc04aa3d5991a956538a8dad6669ce0ee0de56d78ebce5b200
size 1882964

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b16b333bd926ee40af9ae6a49e648bfaa55e3d5d9aee648336558e565fc641ef
size 130083964

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0adeb2b7ccc4ffb2fb58b036029c161f8971b03610c383cc120be2a712d1b9cd
size 130096064

View File

@ -1,3 +1,21 @@
-------------------------------------------------------------------
Tue Dec 15 11:47:08 UTC 2015 - tchvatal@suse.com
- Version update to 5.0.4.2:
* Final of the 5.0.4 series
-------------------------------------------------------------------
Mon Dec 14 22:23:15 UTC 2015 - andras.timar@collabora.com
- bnc#945047 - LO-L3: LO is duplicating master pages
* bnc-945047.diff
-------------------------------------------------------------------
Fri Dec 11 12:13:27 UTC 2015 - tchvatal@suse.com
- Version update to 5.0.4.1:
* rc1 of 5.0.4 with various regression fixes
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Dec 1 13:25:35 UTC 2015 - andras.timar@collabora.com Tue Dec 1 13:25:35 UTC 2015 - andras.timar@collabora.com

View File

@ -22,7 +22,7 @@
%define numbertext_version 0.9.5 %define numbertext_version 0.9.5
# Urls # Urls
%define external_url http://dev-www.libreoffice.org/src/ %define external_url http://dev-www.libreoffice.org/src/
%define tarball_url http://download.documentfoundation.org/libreoffice/src/5.0.3 %define tarball_url http://download.documentfoundation.org/libreoffice/src/5.0.4
# Old Make and bundle or not # Old Make and bundle or not
%if 0%{?suse_version} > 1230 %if 0%{?suse_version} > 1230
%bcond_with oldmake %bcond_with oldmake
@ -64,7 +64,7 @@ Requires: python-importlib
%endif %endif
# This is used due to the need for beta releases # This is used due to the need for beta releases
Name: libreoffice Name: libreoffice
Version: 5.0.3.2 Version: 5.0.4.2
Release: 0 Release: 0
Summary: A Free Office Suite (Framework) Summary: A Free Office Suite (Framework)
License: Apache-2.0 and Artistic-1.0 and BSD-3-Clause and BSD-4-Clause and GPL-2.0+ and LPPL-1.3c and LGPL-2.1+ and LGPL-3.0 and MPL-1.1 and MIT and SUSE-Public-Domain and W3C License: Apache-2.0 and Artistic-1.0 and BSD-3-Clause and BSD-4-Clause and GPL-2.0+ and LPPL-1.3c and LGPL-2.1+ and LGPL-3.0 and MPL-1.1 and MIT and SUSE-Public-Domain and W3C
@ -152,7 +152,7 @@ Source2058: %{external_url}/36271d3fa0d9dec1632029b6d7aac925-liblangtag-0.5.
Source2059: %{external_url}/c0b4799ea9850eae3ead14f0a60e9418-postgresql-9.2.1.tar.bz2 Source2059: %{external_url}/c0b4799ea9850eae3ead14f0a60e9418-postgresql-9.2.1.tar.bz2
Source2060: %{external_url}/2e482c7567908d334785ce7d69ddfff7-commons-codec-1.6-src.tar.gz Source2060: %{external_url}/2e482c7567908d334785ce7d69ddfff7-commons-codec-1.6-src.tar.gz
Source2061: %{external_url}/b12c5f9cfdb6b04efce5a4a186b8416b-rasqal-0.9.30.tar.gz Source2061: %{external_url}/b12c5f9cfdb6b04efce5a4a186b8416b-rasqal-0.9.30.tar.gz
Source2062: %{external_url}/language-subtag-registry-2015-06-08.tar.bz2 Source2062: %{external_url}/language-subtag-registry-2015-08-04.tar.bz2
# Make for old distros where too old gnumake resides # Make for old distros where too old gnumake resides
Source3000: http://ftp.gnu.org/gnu/make/make-4.1.tar.bz2 Source3000: http://ftp.gnu.org/gnu/make/make-4.1.tar.bz2
# PATCH-FIX-SUSE: disable really fragile test run on hsqldb # PATCH-FIX-SUSE: disable really fragile test run on hsqldb
@ -177,6 +177,8 @@ Patch11: bnc-679938.diff
Patch12: use-long-for-test-comparsion.patch Patch12: use-long-for-test-comparsion.patch
# bnc#954345 - LO-L3: Insert-->Image-->Insert as Link hangs writer # bnc#954345 - LO-L3: Insert-->Image-->Insert as Link hangs writer
Patch13: bnc-954345.diff Patch13: bnc-954345.diff
# bnc#945047 - LO-L3: LO is duplicating master pages
Patch14: bnc-945047.diff
# try to save space by using hardlinks # try to save space by using hardlinks
Patch990: install-with-hardlinks.diff Patch990: install-with-hardlinks.diff
BuildRequires: %{name}-share-linker BuildRequires: %{name}-share-linker
@ -1008,6 +1010,7 @@ Provides additional %{langname} translations and resources for %{project}. \
%patch11 -p1 %patch11 -p1
%patch12 -p1 %patch12 -p1
%patch13 -p1 %patch13 -p1
%patch14 -p1
%patch990 -p1 %patch990 -p1
# 256x256 icons # 256x256 icons
tar -xjf %{SOURCE20} tar -xjf %{SOURCE20}