Accepting request 399630 from LibreOffice:Unstable

- Version update to 5.2.0.0.beta1:
  * Disable support for sle11, not needed anymore
  * Cleanup the specfile from all the compat conditionals per above
  * Disable bundled help and point to upstream wiki always (speeds
    up build quite a bit)
  * Use pkgconfig style dependencies instead of the develpkgs
  * Remove all the bundled tarballs that were aedded for sle11
  * Adjust the constraints a bit to reflect reality
  * Remove merged patches:
    * scp2-user-config-suse.diff
    * 0001-Make-HAVE_JAVA6-be-always-false.patch
    * 0001-mdds-1.0.patch
    * 0001-liborcus-0.11.patch
    * 0002-boost-filesystem1.patch
    * 0003-boost-filesystem2.patch
    * bnc856729.patch
    * bnc939998.patch
    * bnc945443.patch
    * bnc945445.patch
  * Refresh patches:
    * libreoffice-hotfix-disablebrokenshapetest.patch
    * system-pyuno.diff

OBS-URL: https://build.opensuse.org/request/show/399630
OBS-URL: https://build.opensuse.org/package/show/LibreOffice:Factory/libreoffice?expand=0&rev=407
This commit is contained in:
Tomáš Chvátal 2016-06-02 09:02:44 +00:00 committed by Git OBS Bridge
parent 4f3ed50e90
commit 8f368a0d1a
81 changed files with 235 additions and 3721 deletions

View File

@ -1,41 +0,0 @@
From 901eeaacd7219f61816b28873e45264c7d7de1ac Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= <tomas.chvatal@gmail.com>
Date: Thu, 23 Apr 2015 17:41:10 +0200
Subject: [PATCH] Make HAVE_JAVA6 be always false
Even if we have newer java for bundling we still test for 1.5 java
to be able to execute our bitecode.
Change-Id: I7bf5d86c4558b8ed583e3741c10e10daaaa825a7
NOTE: Do NOT upstream this.
---
configure.ac | 6 ------
1 file changed, 6 deletions(-)
diff --git a/configure.ac b/configure.ac
index 0d492ad..ba02fd6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -6725,9 +6725,6 @@ if test "$ENABLE_JAVA" != ""; then
if test "$_jdk_ver" -lt 10500; then
AC_MSG_ERROR([IBM JDK is too old, you need at least 1.5])
fi
- if test "$_jdk_ver" -ge 10600; then
- HAVE_JAVA6=TRUE
- fi
AC_MSG_RESULT([checked (IBM JDK $_jdk)])
@@ -6750,9 +6747,6 @@ you must use the "--with-jdk-home" configure option explicitly])
if test "$_jdk_ver" -gt 10600; then
JAVA_CLASSPATH_NOT_SET="1"
fi
- if test "$_jdk_ver" -ge 10600; then
- HAVE_JAVA6=TRUE
- fi
if test "$_jdk_ver" -ge 10900; then
HAVE_JAVA9=TRUE
fi
--
2.3.5

File diff suppressed because it is too large Load Diff

View File

@ -1,25 +0,0 @@
From a7c3a2a9be83686657c06f37d521f9f6d2004ddd Mon Sep 17 00:00:00 2001
From: Markus Mohrhard <markus.mohrhard@googlemail.com>
Date: Fri, 9 Oct 2015 01:03:29 +0200
Subject: update to mdds 1.0
Change-Id: I5b6e928ab5a5f2bf84d50f3f0221c0585670d972
Reviewed-on: https://gerrit.libreoffice.org/20251
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
diff --git a/configure.ac b/configure.ac
index 57a41f7..e00df959 100644
--- a/configure.ac
+++ b/configure.ac
@@ -8759,7 +8759,7 @@ AC_SUBST(SYSTEM_BOOST)
dnl ===================================================================
dnl Check for system mdds
dnl ===================================================================
-libo_CHECK_SYSTEM_MODULE([mdds], [MDDS], [mdds >= 0.12.0], ["-I${WORKDIR}/UnpackedTarball/mdds/include"])
+libo_CHECK_SYSTEM_MODULE([mdds], [MDDS], [mdds-1.0 >= 1.0.0], ["-I${WORKDIR}/UnpackedTarball/mdds/include"])
dnl ===================================================================
dnl Check for system glm

View File

@ -1,158 +0,0 @@
From ed41a33ca22f46b123df4132d376247682af07af Mon Sep 17 00:00:00 2001
From: David Tardon <dtardon@redhat.com>
Date: Tue, 8 Mar 2016 06:23:24 +0100
Subject: detect Boost.Filesystem
Change-Id: I86c268f49f44bd1e208a9de781a16bf19450c64c
diff --git a/config_host.mk.in b/config_host.mk.in
index 89081ca..0a2ec0b 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -37,6 +37,7 @@ export BARCODE_EXTENSION_PACK=@BARCODE_EXTENSION_PACK@
export BOOST_CPPFLAGS=@BOOST_CPPFLAGS@
export BOOST_CXXFLAGS=@BOOST_CXXFLAGS@
export BOOST_DATE_TIME_LIB=@BOOST_DATE_TIME_LIB@
+export BOOST_FILESYSTEM_LIB=@BOOST_FILESYSTEM_LIB@
export BOOST_IOSTREAMS_LIB=@BOOST_IOSTREAMS_LIB@
export BOOST_LDFLAGS=@BOOST_LDFLAGS@
export BOOST_SYSTEM_LIB=@BOOST_SYSTEM_LIB@
diff --git a/configure.ac b/configure.ac
index dab1919..7b5cedd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -8836,6 +8836,7 @@ if test "$with_system_boost" = "yes"; then
SYSTEM_BOOST=TRUE
AX_BOOST_BASE(1.47)
AX_BOOST_DATE_TIME
+ AX_BOOST_FILESYSTEM
AX_BOOST_IOSTREAMS
mingw_boost_date_time_dll=`echo $BOOST_DATE_TIME_LIB | sed -e 's/^-l//' -e 's/\.dll$//'`
libo_MINGW_TRY_DLL([$mingw_boost_date_time_dll])
diff --git a/m4/ax_boost_filesystem.m4 b/m4/ax_boost_filesystem.m4
new file mode 100644
index 0000000..f162163
--- /dev/null
+++ b/m4/ax_boost_filesystem.m4
@@ -0,0 +1,118 @@
+# ===========================================================================
+# http://www.gnu.org/software/autoconf-archive/ax_boost_filesystem.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_BOOST_FILESYSTEM
+#
+# DESCRIPTION
+#
+# Test for Filesystem library from the Boost C++ libraries. The macro
+# requires a preceding call to AX_BOOST_BASE. Further documentation is
+# available at <http://randspringer.de/boost/index.html>.
+#
+# This macro calls:
+#
+# AC_SUBST(BOOST_FILESYSTEM_LIB)
+#
+# And sets:
+#
+# HAVE_BOOST_FILESYSTEM
+#
+# LICENSE
+#
+# Copyright (c) 2009 Thomas Porschberg <thomas@randspringer.de>
+# Copyright (c) 2009 Michael Tindal
+# Copyright (c) 2009 Roman Rybalko <libtorrent@romanr.info>
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+#serial 26
+
+AC_DEFUN([AX_BOOST_FILESYSTEM],
+[
+ AC_ARG_WITH([boost-filesystem],
+ AS_HELP_STRING([--with-boost-filesystem@<:@=special-lib@:>@],
+ [use the Filesystem library from boost - it is possible to specify a certain library for the linker
+ e.g. --with-boost-filesystem=boost_filesystem-gcc-mt ]),
+ [
+ if test "$withval" = "no"; then
+ want_boost="no"
+ elif test "$withval" = "yes"; then
+ want_boost="yes"
+ ax_boost_user_filesystem_lib=""
+ else
+ want_boost="yes"
+ ax_boost_user_filesystem_lib="$withval"
+ fi
+ ],
+ [want_boost="yes"]
+ )
+
+ if test "x$want_boost" = "xyes"; then
+ AC_REQUIRE([AC_PROG_CC])
+ CPPFLAGS_SAVED="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
+ export CPPFLAGS
+
+ LDFLAGS_SAVED="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
+ export LDFLAGS
+
+ LIBS_SAVED=$LIBS
+ LIBS="$LIBS $BOOST_SYSTEM_LIB"
+ export LIBS
+
+ AC_CACHE_CHECK(whether the Boost::Filesystem library is available,
+ ax_cv_boost_filesystem,
+ [AC_LANG_PUSH([C++])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <boost/filesystem/path.hpp>]],
+ [[using namespace boost::filesystem;
+ path my_path( "foo/bar/data.txt" );
+ return 0;]])],
+ ax_cv_boost_filesystem=yes, ax_cv_boost_filesystem=no)
+ AC_LANG_POP([C++])
+ ])
+ if test "x$ax_cv_boost_filesystem" = "xyes"; then
+ AC_DEFINE(HAVE_BOOST_FILESYSTEM,,[define if the Boost::Filesystem library is available])
+ BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'`
+ if test "x$ax_boost_user_filesystem_lib" = "x"; then
+ for libextension in `ls -r $BOOSTLIBDIR/libboost_filesystem* 2>/dev/null | sed 's,.*/lib,,' | sed 's,\..*,,'` ; do
+ ax_lib=${libextension}
+ AC_CHECK_LIB($ax_lib, exit,
+ [BOOST_FILESYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_FILESYSTEM_LIB) link_filesystem="yes"; break],
+ [link_filesystem="no"])
+ done
+ if test "x$link_filesystem" != "xyes"; then
+ for libextension in `ls -r $BOOSTLIBDIR/boost_filesystem* 2>/dev/null | sed 's,.*/,,' | sed -e 's,\..*,,'` ; do
+ ax_lib=${libextension}
+ AC_CHECK_LIB($ax_lib, exit,
+ [BOOST_FILESYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_FILESYSTEM_LIB) link_filesystem="yes"; break],
+ [link_filesystem="no"])
+ done
+ fi
+ else
+ for ax_lib in $ax_boost_user_filesystem_lib boost_filesystem-$ax_boost_user_filesystem_lib; do
+ AC_CHECK_LIB($ax_lib, exit,
+ [BOOST_FILESYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_FILESYSTEM_LIB) link_filesystem="yes"; break],
+ [link_filesystem="no"])
+ done
+
+ fi
+ if test "x$ax_lib" = "x"; then
+ AC_MSG_ERROR(Could not find a version of the library!)
+ fi
+ if test "x$link_filesystem" != "xyes"; then
+ AC_MSG_ERROR(Could not link against $ax_lib !)
+ fi
+ fi
+
+ CPPFLAGS="$CPPFLAGS_SAVED"
+ LDFLAGS="$LDFLAGS_SAVED"
+ LIBS="$LIBS_SAVED"
+ fi
+])
--
cgit v0.10.2

View File

@ -1,25 +0,0 @@
From b4339fa7eee12f173b2273aed5dc6b8abae528f4 Mon Sep 17 00:00:00 2001
From: David Tardon <dtardon@redhat.com>
Date: Tue, 8 Mar 2016 06:08:36 +0100
Subject: define boost_filestystem external for system boost too
Change-Id: Ie9bfc6a5f3e1862acbd1bb08c6f2bb0b63f2587e
Index: libreoffice-5.1.1.3/RepositoryExternal.mk
===================================================================
--- libreoffice-5.1.1.3.orig/RepositoryExternal.mk
+++ libreoffice-5.1.1.3/RepositoryExternal.mk
@@ -676,6 +676,13 @@ $(call gb_LinkTarget_add_libs,$(1),\
endef
+define gb_LinkTarget__use_boost_filesystem
+$(call gb_LinkTarget__use_boost_lib,$(1),$(BOOST_FILESYSTEM_LIB))
+
+endef
+
+gb_ExternalProject__use_boost_filesystem :=
+
define gb_LinkTarget__use_boost_iostreams
$(call gb_LinkTarget_set_include,$(1),\
$$(INCLUDE) \

View File

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

View File

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

View File

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

View File

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

View File

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

Binary file not shown.

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

Binary file not shown.

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -9,7 +9,7 @@
<size unit="M">2000</size>
</physicalmemory>
<disk>
<size unit="G">40</size>
<size unit="G">30</size>
</disk>
</hardware>
</overwrite>
@ -22,10 +22,10 @@
</conditions>
<hardware>
<physicalmemory>
<size unit="M">4000</size>
<size unit="M">6000</size>
</physicalmemory>
<disk>
<size unit="G">40</size>
<size unit="G">30</size>
</disk>
</hardware>
</overwrite>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,155 +0,0 @@
From a5928a57a53df84cacd2975e227f9e03d50456a6 Mon Sep 17 00:00:00 2001
From: Miklos Vajna <vmiklos@collabora.co.uk>
Date: Fri, 15 Apr 2016 15:46:06 +0200
Subject: [PATCH] tdf#99315 VclPixelProcessor2D: fix double border line width
Regression from commit 2c91cb08d65cd35fa8ef6eaca3677aa82fb58cbe (better
drawing support for borders of different width, fdo#33634, 2012-04-04),
the problem is that previously the width of inner/outer double border
lines got rounded to integer values quite early, but after the commit
they are kept at a double precision for much longer, which needs pixel
correction in VclPixelProcessor2D.
Example: if the border with is 1.47, and the line gets moved by 0.2
pixels, then the inner and outer edge of the line will be 0.2 and 1.67,
which gets rounded to 0 -> 2 in the pixel processor. Previously the
input was rounded to 1, so moving by 0.2 resulted in 0.2 -> 1.2, which
got rounded to 0 -> 1. The result is that sometimes the line width is 1
pixel wider than expected.
Fix the problem by allowing VclPixelProcessor2D to request pixel
correction from BorderLinePrimitive2D. It wouldn't be possible to do
pixel correction only in VclPixelProcessor2D, as it has no idea what to
correct: it only gets polygons, so it has no idea if e.g. the top of a
polygon is the outer edge of a top border line or an inner edge of a
bottom border line.
Conflicts:
drawinglayer/source/primitive2d/borderlineprimitive2d.cxx
(cherry picked from commits 1ee570a4e625719f8bf270d372926c0d829ae6f0,
555c9add26e06030402c73f885de98f4b96826f0,
304f50684d3ac08e973fd27e6acf3e821394d164,
422f10c5d7ebe6f4b778636c9c1eb6dbdf708a27,
ce12a5021a080cc1781e0e0256af5e0085e11ef2 and
cac70559013e575009657aa3c5168b88b1f14691)
Change-Id: I1971f3a952fbcdc598ab46c659e12d976c13cbe6
Reviewed-on: https://gerrit.libreoffice.org/24238
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Eike Rathke <erack@redhat.com>
---
drawinglayer/CppunitTest_drawinglayer_border.mk | 52 +++++++
drawinglayer/Module_drawinglayer.mk | 4 +
drawinglayer/qa/unit/border.cxx | 150 +++++++++++++++++++++
.../source/primitive2d/borderlineprimitive2d.cxx | 28 +++-
.../source/processor2d/vclpixelprocessor2d.cxx | 7 +-
.../primitive2d/borderlineprimitive2d.hxx | 2 +
6 files changed, 239 insertions(+), 4 deletions(-)
create mode 100644 drawinglayer/CppunitTest_drawinglayer_border.mk
create mode 100644 drawinglayer/qa/unit/border.cxx
diff --git a/drawinglayer/source/primitive2d/borderlineprimitive2d.cxx b/drawinglayer/source/primitive2d/borderlineprimitive2d.cxx
index 30e656d..30e7dcb 100644
--- a/drawinglayer/source/primitive2d/borderlineprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/borderlineprimitive2d.cxx
@@ -28,6 +28,17 @@
#include <numeric>
#include <algorithm>
+#if defined(ANDROID)
+namespace std
+{
+template<typename T>
+T round(T x)
+{
+ return ::round(x);
+}
+}
+#endif
+
namespace drawinglayer {
namespace {
@@ -63,7 +74,7 @@ primitive2d::Primitive2DReference makeSolidLinePrimitive(
const basegfx::B2DVector& rVector, const basegfx::BColor& rColor, double fLineWidth, double fGap)
{
const basegfx::B2DVector aPerpendicular = basegfx::getPerpendicular(rVector);
- const basegfx::B2DVector aLineWidthOffset = ((fLineWidth + 1.0) * 0.5) * aPerpendicular;
+ const basegfx::B2DVector aLineWidthOffset = (fLineWidth * 0.5) * aPerpendicular;
basegfx::B2DPolygon aPolygon;
aPolygon.append(rStart + aLineWidthOffset);
@@ -163,6 +174,11 @@ primitive2d::Primitive2DReference makeSolidLinePrimitive(
Primitive2DSequence BorderLinePrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& rViewInformation) const
{
+ return createDecomposition(rViewInformation, false);
+ }
+
+ Primitive2DSequence BorderLinePrimitive2D::createDecomposition(const geometry::ViewInformation2D& rViewInformation, bool bPixelCorrection) const
+ {
Primitive2DSequence xRetval;
if(!getStart().equal(getEnd()) && ( isInsideUsed() || isOutsideUsed() ) )
@@ -199,8 +215,11 @@ primitive2d::Primitive2DReference makeSolidLinePrimitive(
xRetval[0] = makeHairLinePrimitive(
getStart(), getEnd(), aVector, getRGBColorLeft(), 0.0);
else
+ {
+ double fWidth = bPixelCorrection ? std::round(fLeftWidth) : fLeftWidth;
xRetval[0] = makeSolidLinePrimitive(
- aClipRegion, aTmpStart, aTmpEnd, aVector, getRGBColorLeft(), fLeftWidth, -fLeftWidth/2.0);
+ aClipRegion, aTmpStart, aTmpEnd, aVector, getRGBColorLeft(), fWidth, -fLeftWidth/2.0);
+ }
// "outside" line
@@ -208,8 +227,11 @@ primitive2d::Primitive2DReference makeSolidLinePrimitive(
xRetval[1] = makeHairLinePrimitive(
getStart(), getEnd(), aVector, getRGBColorRight(), fLeftWidth+mfDistance);
else
+ {
+ double fWidth = bPixelCorrection ? std::round(fRightWidth) : fRightWidth;
xRetval[1] = makeSolidLinePrimitive(
- aClipRegion, aTmpStart, aTmpEnd, aVector, getRGBColorRight(), fRightWidth, mfDistance+fRightWidth/2.0);
+ aClipRegion, aTmpStart, aTmpEnd, aVector, getRGBColorRight(), fWidth, mfDistance+fRightWidth/2.0);
+ }
}
else
{
diff --git a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
index 8dcd74e..8398573 100644
--- a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
+++ b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
@@ -1232,7 +1232,12 @@ namespace drawinglayer
static_cast<const drawinglayer::primitive2d::BorderLinePrimitive2D&>(rCandidate);
if (!tryDrawBorderLinePrimitive2DDirect(rBorder))
- process(rCandidate.get2DDecomposition(getViewInformation2D()));
+ {
+ if (rBorder.getStyle() == table::BorderLineStyle::DOUBLE)
+ process(rBorder.createDecomposition(getViewInformation2D(), true));
+ else
+ process(rCandidate.get2DDecomposition(getViewInformation2D()));
+ }
mpOutputDevice->SetAntialiasing(nAntiAliasing);
break;
diff --git a/include/drawinglayer/primitive2d/borderlineprimitive2d.hxx b/include/drawinglayer/primitive2d/borderlineprimitive2d.hxx
index 72e04d5..f152f2d 100644
--- a/include/drawinglayer/primitive2d/borderlineprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/borderlineprimitive2d.hxx
@@ -132,6 +132,8 @@ namespace drawinglayer
bool hasGapColor( ) const { return mbHasGapColor; }
short getStyle () const { return mnStyle; }
double getPatternScale() const { return mfPatternScale; }
+ /// Same as create2DDecomposition(), but can do pixel correction if requested.
+ Primitive2DSequence createDecomposition(const geometry::ViewInformation2D& rViewInformation, bool bPixelCorrection) const;
/// compare operator
virtual bool operator==(const BasePrimitive2D& rPrimitive) const override;
--
2.6.6

View File

@ -1,96 +0,0 @@
From 940b21a87cffffca0985c33e9ebb78ddf3aa0c3b Mon Sep 17 00:00:00 2001
From: Mike Kaganski <mike.kaganski@collabora.com>
Date: Wed, 13 Apr 2016 20:07:52 +1000
Subject: [PATCH] tdf#93124: Fix incorrect text fit in imported PPT - take two
This patch just fixes incorrect decision when the block alignment must
be applied.
diff --git a/filter/source/msfilter/svdfppt.cxx b/filter/source/msfilter/svdfppt.cxx
index 437207f..7ac251c 100644
--- a/filter/source/msfilter/svdfppt.cxx
+++ b/filter/source/msfilter/svdfppt.cxx
@@ -893,7 +893,6 @@ SdrObject* SdrEscherImport::ProcessObj( SvStream& rSt, DffObjData& rObjData, voi
eTHA = SDRTEXTHORZADJUST_LEFT;
break;
}
- // if there is a 100% use of following attributes, the textbox can been aligned also in vertical direction
switch ( eTextAnchor )
{
case mso_anchorTopCentered :
@@ -903,20 +902,20 @@ SdrObject* SdrEscherImport::ProcessObj( SvStream& rSt, DffObjData& rObjData, voi
case mso_anchorBottomCenteredBaseline:
{
// check if it is sensible to use the centered alignment
- sal_uInt32 nMask = PPT_TEXTOBJ_FLAGS_PARA_ALIGNMENT_USED_LEFT | PPT_TEXTOBJ_FLAGS_PARA_ALIGNMENT_USED_RIGHT;
- if ( ( nTextFlags & nMask ) != nMask ) // if the textobject has left and also right aligned pararagraphs
- eTVA = SDRTEXTVERTADJUST_CENTER; // the text has to be displayed using the full width;
- }
- break;
-
- default :
- {
- if ( nTextFlags == PPT_TEXTOBJ_FLAGS_PARA_ALIGNMENT_USED_LEFT )
- eTVA = SDRTEXTVERTADJUST_TOP;
- else if ( nTextFlags == PPT_TEXTOBJ_FLAGS_PARA_ALIGNMENT_USED_RIGHT )
- eTVA = SDRTEXTVERTADJUST_BOTTOM;
+ const sal_uInt32 nMask = PPT_TEXTOBJ_FLAGS_PARA_ALIGNMENT_USED_LEFT | PPT_TEXTOBJ_FLAGS_PARA_ALIGNMENT_USED_CENTER | PPT_TEXTOBJ_FLAGS_PARA_ALIGNMENT_USED_RIGHT | PPT_TEXTOBJ_FLAGS_PARA_ALIGNMENT_USED_BLOCK;
+ switch (nTextFlags & nMask)
+ {
+ case PPT_TEXTOBJ_FLAGS_PARA_ALIGNMENT_USED_LEFT:
+ case PPT_TEXTOBJ_FLAGS_PARA_ALIGNMENT_USED_CENTER:
+ case PPT_TEXTOBJ_FLAGS_PARA_ALIGNMENT_USED_RIGHT:
+ case PPT_TEXTOBJ_FLAGS_PARA_ALIGNMENT_USED_BLOCK:
+ eTVA = SDRTEXTVERTADJUST_CENTER; // If the textobject has only one type of alignment, then the text has not to be displayed using the full width;
+ break;
+ }
+ break;
}
- break;
+ default:
+ break;
}
nMinFrameWidth = rTextRect.GetWidth() - ( nTextLeft + nTextRight );
}
@@ -949,7 +948,6 @@ SdrObject* SdrEscherImport::ProcessObj( SvStream& rSt, DffObjData& rObjData, voi
eTVA = SDRTEXTVERTADJUST_BOTTOM;
break;
}
- // if there is a 100% usage of following attributes, the textbox can be aligned also in horizontal direction
switch ( eTextAnchor )
{
case mso_anchorTopCentered :
@@ -959,20 +957,20 @@ SdrObject* SdrEscherImport::ProcessObj( SvStream& rSt, DffObjData& rObjData, voi
case mso_anchorBottomCenteredBaseline:
{
// check if it is sensible to use the centered alignment
- sal_uInt32 nMask = PPT_TEXTOBJ_FLAGS_PARA_ALIGNMENT_USED_LEFT | PPT_TEXTOBJ_FLAGS_PARA_ALIGNMENT_USED_RIGHT;
- if ( ( nTextFlags & nMask ) != nMask ) // if the textobject has left and also right aligned pararagraphs
- eTHA = SDRTEXTHORZADJUST_CENTER; // the text has to be displayed using the full width;
- }
- break;
-
- default :
- {
- if ( nTextFlags == PPT_TEXTOBJ_FLAGS_PARA_ALIGNMENT_USED_LEFT )
- eTHA = SDRTEXTHORZADJUST_LEFT;
- else if ( nTextFlags == PPT_TEXTOBJ_FLAGS_PARA_ALIGNMENT_USED_RIGHT )
- eTHA = SDRTEXTHORZADJUST_RIGHT;
+ const sal_uInt32 nMask = PPT_TEXTOBJ_FLAGS_PARA_ALIGNMENT_USED_LEFT | PPT_TEXTOBJ_FLAGS_PARA_ALIGNMENT_USED_CENTER | PPT_TEXTOBJ_FLAGS_PARA_ALIGNMENT_USED_RIGHT | PPT_TEXTOBJ_FLAGS_PARA_ALIGNMENT_USED_BLOCK;
+ switch (nTextFlags & nMask)
+ {
+ case PPT_TEXTOBJ_FLAGS_PARA_ALIGNMENT_USED_LEFT:
+ case PPT_TEXTOBJ_FLAGS_PARA_ALIGNMENT_USED_CENTER:
+ case PPT_TEXTOBJ_FLAGS_PARA_ALIGNMENT_USED_RIGHT:
+ case PPT_TEXTOBJ_FLAGS_PARA_ALIGNMENT_USED_BLOCK:
+ eTHA = SDRTEXTHORZADJUST_CENTER; // If the textobject has only one type of alignment, then the text has not to be displayed using the full width;
+ break;
+ }
+ break;
}
- break;
+ default:
+ break;
}
nMinFrameHeight = rTextRect.GetHeight() - ( nTextTop + nTextBottom );
}

View File

@ -1,187 +0,0 @@
From 64b2f209b72c5a5662afcb0ac1706b882e0e059b Mon Sep 17 00:00:00 2001
From: Miklos Vajna <vmiklos@collabora.co.uk>
Date: Tue, 19 Apr 2016 17:38:14 +0200
Subject: [PATCH] tdf#99396 SvxTableController::SetVertical: implement undo
support
All the table and cell objects know how to undo this change, what was
missing is the begin/end undo calls and the broadcast of the cell
format change.
(cherry picked from commits 3057b5cdb989d44613518900b25ebad8b7c600a2,
d60d70d92cec7bbc471f8f0c653d443282227d34,
6819992113947e7a6272bf750fee712c2df41905 and
100eb15b4d8529d7a11d98a28742f31f0f792fa1)
Conflicts:
sd/qa/unit/misc-tests.cxx
Change-Id: I3dfd203faf5c579da2937fedab5647129a8e903a
Reviewed-on: https://gerrit.libreoffice.org/24276
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
---
include/svx/svdotable.hxx | 4 ++
sd/inc/drawdoc.hxx | 2 +-
sd/qa/unit/data/tdf99396.odp | Bin 0 -> 10956 bytes
sd/qa/unit/misc-tests.cxx | 104 +++++++++++++++++++++++++++++++++
sd/source/ui/table/TableDesignPane.cxx | 10 +++-
svx/source/table/cell.cxx | 5 ++
svx/source/table/svdotable.cxx | 12 ++++
svx/source/table/tablecontroller.cxx | 18 +++++-
8 files changed, 152 insertions(+), 3 deletions(-)
create mode 100644 sd/qa/unit/data/tdf99396.odp
diff --git a/include/svx/svdotable.hxx b/include/svx/svdotable.hxx
index 78a7e53c..f70d768 100644
--- a/include/svx/svdotable.hxx
+++ b/include/svx/svdotable.hxx
@@ -31,6 +31,7 @@
class SvStream;
class SfxStyleSheet;
+class SdrUndoAction;
namespace sdr { namespace contact {
class ViewContactOfTableObj;
@@ -257,6 +258,9 @@ public:
css::text::WritingMode GetWritingMode() const;
+ /// Add an undo action that should be on the undo stack after ending text edit.
+ void AddUndo(SdrUndoAction* pUndo);
+
virtual void onEditOutlinerStatusEvent( EditStatus* pEditStatus ) override;
diff --git a/sd/inc/drawdoc.hxx b/sd/inc/drawdoc.hxx
index e2ff20c..ee8a876 100644
--- a/sd/inc/drawdoc.hxx
+++ b/sd/inc/drawdoc.hxx
@@ -571,7 +571,7 @@ public:
languages set at this document */
SAL_DLLPRIVATE void getDefaultFonts( vcl::Font& rLatinFont, vcl::Font& rCJKFont, vcl::Font& rCTLFont );
- SAL_DLLPRIVATE sd::UndoManager* GetUndoManager() const;
+ sd::UndoManager* GetUndoManager() const;
/** converts the given western font height to a corresponding ctl font height, depending on the system language */
SAL_DLLPRIVATE static sal_uInt32 convertFontHeightToCTL( sal_uInt32 nWesternFontHeight );
diff --git a/sd/source/ui/table/TableDesignPane.cxx b/sd/source/ui/table/TableDesignPane.cxx
index 2bd52b5..4ae2e1d 100644
--- a/sd/source/ui/table/TableDesignPane.cxx
+++ b/sd/source/ui/table/TableDesignPane.cxx
@@ -806,7 +806,15 @@ short TableDesignDialog::Execute()
VclPtr<vcl::Window> createTableDesignPanel( vcl::Window* pParent, ViewShellBase& rBase )
{
- return VclPtr<TableDesignPane>::Create( pParent, rBase );
+ VclPtr<TableDesignPane> pRet = nullptr;
+ try
+ {
+ pRet = VclPtr<TableDesignPane>::Create( pParent, rBase );
+ }
+ catch (const uno::Exception&)
+ {
+ }
+ return pRet;
}
void showTableDesignDialog( vcl::Window* pParent, ViewShellBase& rBase )
diff --git a/svx/source/table/cell.cxx b/svx/source/table/cell.cxx
index b2d1604..c783cb1 100644
--- a/svx/source/table/cell.cxx
+++ b/svx/source/table/cell.cxx
@@ -799,6 +799,11 @@ void Cell::AddUndo()
{
CellRef xCell( this );
GetModel()->AddUndo( new CellUndo( &rObj, xCell ) );
+
+ // Undo action for the after-text-edit-ended stack.
+ SdrTableObj* pTableObj = dynamic_cast<sdr::table::SdrTableObj*>(&rObj);
+ if (pTableObj && pTableObj->IsTextEditActive())
+ pTableObj->AddUndo(new CellUndo(pTableObj, xCell));
}
}
diff --git a/svx/source/table/svdotable.cxx b/svx/source/table/svdotable.cxx
index 15bbb7f..5b979fe 100644
--- a/svx/source/table/svdotable.cxx
+++ b/svx/source/table/svdotable.cxx
@@ -205,6 +205,7 @@ public:
CellPos maEditPos;
TableStyleSettings maTableStyle;
Reference< XIndexAccess > mxTableStyle;
+ std::vector<std::unique_ptr<SdrUndoAction>> maUndos;
void SetModel(SdrModel* pOldModel, SdrModel* pNewModel);
@@ -1860,7 +1861,14 @@ void SdrTableObj::EndTextEdit(SdrOutliner& rOutl)
if(rOutl.IsModified())
{
if( GetModel() && GetModel()->IsUndoEnabled() )
+ {
+ // These actions should be on the undo stack after text edit.
+ for (std::unique_ptr<SdrUndoAction>& pAction : mpImpl->maUndos)
+ GetModel()->AddUndo(pAction.release());
+ mpImpl->maUndos.clear();
+
GetModel()->AddUndo( GetModel()->GetSdrUndoFactory().CreateUndoGeoObject(*this) );
+ }
OutlinerParaObject* pNewText = nullptr;
Paragraph* p1stPara = rOutl.GetParagraph( 0 );
@@ -2085,6 +2093,10 @@ WritingMode SdrTableObj::GetWritingMode() const
return eWritingMode;
}
+void SdrTableObj::AddUndo(SdrUndoAction* pUndo)
+{
+ mpImpl->maUndos.push_back(std::unique_ptr<SdrUndoAction>(pUndo));
+}
// gets base transformation and rectangle of object. If it's an SdrPathObj it fills the PolyPolygon
diff --git a/svx/source/table/tablecontroller.cxx b/svx/source/table/tablecontroller.cxx
index 0238e85..beb75e0 100644
--- a/svx/source/table/tablecontroller.cxx
+++ b/svx/source/table/tablecontroller.cxx
@@ -1177,6 +1177,13 @@ void SvxTableController::SetVertical( sal_uInt16 nSId )
{
TableModelNotifyGuard aGuard( mxTable.get() );
+ bool bUndo = mpModel && mpModel->IsUndoEnabled();
+ if (bUndo)
+ {
+ mpModel->BegUndo(ImpGetResStr(STR_TABLE_NUMFORMAT));
+ mpModel->AddUndo(mpModel->GetSdrUndoFactory().CreateUndoAttrObject(*pTableObj));
+ }
+
CellPos aStart, aEnd;
getSelectedCells( aStart, aEnd );
@@ -1203,11 +1210,20 @@ void SvxTableController::SetVertical( sal_uInt16 nSId )
{
CellRef xCell( dynamic_cast< Cell* >( mxTable->getCellByPosition( nCol, nRow ).get() ) );
if( xCell.is() )
- xCell->SetMergedItem(aItem);
+ {
+ if (bUndo)
+ xCell->AddUndo();
+ SfxItemSet aSet(xCell->GetItemSet());
+ aSet.Put(aItem);
+ xCell->SetMergedItemSetAndBroadcast(aSet, /*bClearAllItems=*/false);
+ }
}
}
UpdateTableShape();
+
+ if (bUndo)
+ mpModel->EndUndo();
}
}
--
2.6.6

View File

@ -1,276 +0,0 @@
From 5c32e526d7cc1f623ca1b60a16537efa5740dd6c Mon Sep 17 00:00:00 2001
From: Miklos Vajna <vmiklos@collabora.co.uk>
Date: Mon, 25 Apr 2016 10:57:49 +0200
Subject: [PATCH] tdf#99452 svx: fix undo of table row edge drag
The problem as seen by the user: if you have a table of 2 rows and 1 column,
and the separator line is dragged upwards by the mouse, then undo doesn't
restore the original situation.
Two items are created on the undo stack: sd::UndoGeoObject and
sdr::table::TableRowUndo. Let's say the table height is 8000 mm100 and the two
cell heights are 4000 and 4000. If the user resizes the first cell, so that its
height is 2000, then the new table height will be 6000. The problem is that
when undo is executed, first sd::UndoGeoObject resizes the table, distributing
the newly available 2000 between the existing rows, and then
sdr::table::TableRowUndo sets the row height of the first row: the height of
the second cell will be larger than expected. Fix the problem by not doing a
relayout during sd::UndoGeoObject, but doing a relayout after
sdr::table::TableRowUndo in this case.
This is done by:
1) Adding a new SdrDragStat::mbEndDragChangesLayout, so that
SdrTableObj::applySpecialDrag() can inform SdrDragObjOwn::EndSdrDrag() that
TableRowUndo will do the layout instead of UndoGeoObject. (This is done only in
case a row edge is dragged, as otherwise it's not guaranteed that a
TableRowUndo will follow the UndoGeoObject on the undo stack.)
2) Adding a new SdrUndoGeoObj::mbSkipChangeLayout, so that
SdrTableObj::applySpecialDrag() can let SdrUndoGeoObj::Undo() not do the
layout.
3) Adding a sdr::table::SdrTableObjImpl::mbSkipChangeLayout, so that
SdrUndoGeoObj::Undo() can let SdrTableObj::NbcSetLogicRect() not do the layout.
4) Marking the table model as modified in TableRowUndo::setData(), so it does
the layout at the end of the undo group.
(cherry picked from commits cafc53f8b4c08443524b1da6f4918d49afd45bb5,
8d1fa417bc49a9e9eee923e3ce6a37d7b0f056f1 and
758e6f39d96237881198818e3bac432012be61d8)
Conflicts:
sd/qa/unit/tiledrendering/tiledrendering.cxx
svx/source/table/svdotable.cxx
Change-Id: I8adde3cdad5741e6fcb420e333ce336e18c77cf1
Reviewed-on: https://gerrit.libreoffice.org/24392
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
---
include/svx/svddrag.hxx | 4 +++
include/svx/svdotable.hxx | 3 ++
include/svx/svdundo.hxx | 3 ++
sd/qa/unit/tiledrendering/data/table.odp | Bin 0 -> 10559 bytes
sd/qa/unit/tiledrendering/tiledrendering.cxx | 52 +++++++++++++++++++++++++++
svx/source/svdraw/svddrag.cxx | 1 +
svx/source/svdraw/svddrgmt.cxx | 6 ++++
svx/source/svdraw/svdundo.cxx | 7 ++++
svx/source/table/svdotable.cxx | 14 +++++++-
svx/source/table/tablerow.cxx | 4 +++
svx/source/table/tablerow.hxx | 2 ++
svx/source/table/tableundo.cxx | 3 ++
12 files changed, 98 insertions(+), 1 deletion(-)
create mode 100644 sd/qa/unit/tiledrendering/data/table.odp
diff --git a/include/svx/svddrag.hxx b/include/svx/svddrag.hxx
index ac2a978..aa4a03e 100644
--- a/include/svx/svddrag.hxx
+++ b/include/svx/svddrag.hxx
@@ -55,6 +55,8 @@ protected:
bool bEndDragChangesAttributes;
bool bEndDragChangesGeoAndAttributes;
+ /// Table row drag: table will re-layout itself later.
+ bool mbEndDragChangesLayout;
bool bMouseIsUp;
bool bShown; // Xor visible?
@@ -133,6 +135,8 @@ public:
void SetEndDragChangesAttributes(bool bOn) { bEndDragChangesAttributes=bOn; }
bool IsEndDragChangesGeoAndAttributes() const { return bEndDragChangesGeoAndAttributes; }
void SetEndDragChangesGeoAndAttributes(bool bOn) { bEndDragChangesGeoAndAttributes=bOn; }
+ bool IsEndDragChangesLayout() const { return mbEndDragChangesLayout; }
+ void SetEndDragChangesLayout(bool bOn) { mbEndDragChangesLayout=bOn; }
// Is set by the view and can be evaluated by Obj
bool IsMouseDown() const { return !bMouseIsUp; }
diff --git a/include/svx/svdotable.hxx b/include/svx/svdotable.hxx
index f70d768..408f0b8 100644
--- a/include/svx/svdotable.hxx
+++ b/include/svx/svdotable.hxx
@@ -261,6 +261,9 @@ public:
/// Add an undo action that should be on the undo stack after ending text edit.
void AddUndo(SdrUndoAction* pUndo);
+ /// Next time layouting would be done, skip it (to layout at the end of multiple actions).
+ void SetSkipChangeLayout(bool bSkipChangeLayout);
+
virtual void onEditOutlinerStatusEvent( EditStatus* pEditStatus ) override;
diff --git a/include/svx/svdundo.hxx b/include/svx/svdundo.hxx
index 966e408..7d4973f 100644
--- a/include/svx/svdundo.hxx
+++ b/include/svx/svdundo.hxx
@@ -213,6 +213,8 @@ protected:
SdrObjGeoData* pRedoGeo;
// If we have a group object:
SdrUndoGroup* pUndoGroup;
+ /// If we have a table object, should its layout change?
+ bool mbSkipChangeLayout;
public:
SdrUndoGeoObj(SdrObject& rNewObj);
@@ -222,6 +224,7 @@ public:
virtual void Redo() override;
virtual OUString GetComment() const override;
+ void SetSkipChangeLayout(bool bOn) { mbSkipChangeLayout=bOn; }
};
/**
diff --git a/svx/source/svdraw/svddrag.cxx b/svx/source/svdraw/svddrag.cxx
index 91cd2d1..2f44f47 100644
--- a/svx/source/svdraw/svddrag.cxx
+++ b/svx/source/svdraw/svddrag.cxx
@@ -50,6 +50,7 @@ void SdrDragStat::Reset()
pDragMethod=nullptr;
bEndDragChangesAttributes=false;
bEndDragChangesGeoAndAttributes=false;
+ mbEndDragChangesLayout=false;
bMouseIsUp=false;
Clear(true);
aActionRect=Rectangle();
diff --git a/svx/source/svdraw/svddrgmt.cxx b/svx/source/svdraw/svddrgmt.cxx
index bff9a6c..9d70c20 100644
--- a/svx/source/svdraw/svddrgmt.cxx
+++ b/svx/source/svdraw/svddrgmt.cxx
@@ -1423,6 +1423,12 @@ bool SdrDragObjOwn::EndSdrDrag(bool /*bCopy*/)
}
bRet = pObj->applySpecialDrag(DragStat());
+ if (DragStat().IsEndDragChangesLayout())
+ {
+ auto pGeoUndo = dynamic_cast<SdrUndoGeoObj*>(pUndo);
+ if (pGeoUndo)
+ pGeoUndo->SetSkipChangeLayout(true);
+ }
if(bRet)
{
diff --git a/svx/source/svdraw/svdundo.cxx b/svx/source/svdraw/svdundo.cxx
index b3cf6ae..9567d9e 100644
--- a/svx/source/svdraw/svdundo.cxx
+++ b/svx/source/svdraw/svdundo.cxx
@@ -603,6 +603,7 @@ SdrUndoGeoObj::SdrUndoGeoObj(SdrObject& rNewObj)
, pUndoGeo(nullptr)
, pRedoGeo(nullptr)
, pUndoGroup(nullptr)
+ , mbSkipChangeLayout(false)
{
SdrObjList* pOL=rNewObj.GetSubList();
if (pOL!=nullptr && pOL->GetObjCount() && dynamic_cast<const E3dScene* >( &rNewObj) == nullptr)
@@ -645,7 +646,13 @@ void SdrUndoGeoObj::Undo()
{
delete pRedoGeo;
pRedoGeo=pObj->GetGeoData();
+
+ auto pTableObj = dynamic_cast<sdr::table::SdrTableObj*>(pObj);
+ if (pTableObj && mbSkipChangeLayout)
+ pTableObj->SetSkipChangeLayout(true);
pObj->SetGeoData(*pUndoGeo);
+ if (pTableObj && mbSkipChangeLayout && pTableObj)
+ pTableObj->SetSkipChangeLayout(false);
}
}
diff --git a/svx/source/table/svdotable.cxx b/svx/source/table/svdotable.cxx
index 5b979fe..4fbcb1f 100644
--- a/svx/source/table/svdotable.cxx
+++ b/svx/source/table/svdotable.cxx
@@ -206,6 +206,7 @@ public:
TableStyleSettings maTableStyle;
Reference< XIndexAccess > mxTableStyle;
std::vector<std::unique_ptr<SdrUndoAction>> maUndos;
+ bool mbSkipChangeLayout;
void SetModel(SdrModel* pOldModel, SdrModel* pNewModel);
@@ -262,6 +263,7 @@ sal_Int32 SdrTableObjImpl::lastColCount;
SdrTableObjImpl::SdrTableObjImpl()
: mpTableObj( nullptr )
, mpLayouter( nullptr )
+, mbSkipChangeLayout(false)
{
}
@@ -1950,7 +1952,11 @@ void SdrTableObj::NbcSetLogicRect(const Rectangle& rRect)
const bool bWidth = maLogicRect.getWidth() != maRect.getWidth();
const bool bHeight = maLogicRect.getHeight() != maRect.getHeight();
maRect = maLogicRect;
- NbcAdjustTextFrameWidthAndHeight( !bHeight, !bWidth );
+ if (mpImpl->mbSkipChangeLayout)
+ // Avoid distributing newly available space between existing cells.
+ NbcAdjustTextFrameWidthAndHeight();
+ else
+ NbcAdjustTextFrameWidthAndHeight(!bHeight, !bWidth);
SetRectsDirty();
}
@@ -2098,6 +2104,11 @@ void SdrTableObj::AddUndo(SdrUndoAction* pUndo)
mpImpl->maUndos.push_back(std::unique_ptr<SdrUndoAction>(pUndo));
}
+void SdrTableObj::SetSkipChangeLayout(bool bSkipChangeLayout)
+{
+ mpImpl->mbSkipChangeLayout = bSkipChangeLayout;
+}
+
// gets base transformation and rectangle of object. If it's an SdrPathObj it fills the PolyPolygon
// with the base geometry and returns TRUE. Otherwise it returns FALSE.
@@ -2341,6 +2352,7 @@ bool SdrTableObj::applySpecialDrag(SdrDragStat& rDrag)
if( GetModel() && IsInserted() )
{
rDrag.SetEndDragChangesAttributes(true);
+ rDrag.SetEndDragChangesLayout(true);
}
mpImpl->DragEdge( pEdgeHdl->IsHorizontalEdge(), pEdgeHdl->GetPointNum(), pEdgeHdl->GetValidDragOffset( rDrag ) );
diff --git a/svx/source/table/tablerow.cxx b/svx/source/table/tablerow.cxx
index d86f7e9..37212b7 100644
--- a/svx/source/table/tablerow.cxx
+++ b/svx/source/table/tablerow.cxx
@@ -157,6 +157,10 @@ void TableRow::removeColumns( sal_Int32 nIndex, sal_Int32 nCount )
}
}
+TableModelRef const & TableRow::getModel() const
+{
+ return mxTableModel;
+}
// XCellRange
diff --git a/svx/source/table/tablerow.hxx b/svx/source/table/tablerow.hxx
index cc8c236..5fdd940 100644
--- a/svx/source/table/tablerow.hxx
+++ b/svx/source/table/tablerow.hxx
@@ -48,6 +48,8 @@ public:
void insertColumns( sal_Int32 nIndex, sal_Int32 nCount, CellVector::iterator* pIter = nullptr );
void removeColumns( sal_Int32 nIndex, sal_Int32 nCount );
+ /// Reference to the table model containing this row.
+ TableModelRef const & getModel() const;
// XCellRange
virtual css::uno::Reference< css::table::XCell > SAL_CALL getCellByPosition( sal_Int32 nColumn, sal_Int32 nRow ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) override;
diff --git a/svx/source/table/tableundo.cxx b/svx/source/table/tableundo.cxx
index 250675e..59d08a2 100644
--- a/svx/source/table/tableundo.cxx
+++ b/svx/source/table/tableundo.cxx
@@ -492,6 +492,9 @@ void TableRowUndo::setData( const Data& rData )
mxRow->mbIsVisible = rData.mbIsVisible;
mxRow->mbIsStartOfNewPage = rData.mbIsStartOfNewPage;
mxRow->maName = rData.maName;
+
+ // Trigger re-layout of the table.
+ mxRow->getModel()->setModified(true);
}
--
2.6.6

View File

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

View File

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

View File

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

View File

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

BIN
commons-logging-1.2-src.tar.gz (Stored with Git LFS)

Binary file not shown.

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,7 +1,7 @@
Index: libreoffice-5.1.2.2/sw/qa/extras/ooxmlexport/ooxmlexport7.cxx
Index: libreoffice-5.2.0.0.alpha1/sw/qa/extras/ooxmlexport/ooxmlexport7.cxx
===================================================================
--- libreoffice-5.1.2.2.orig/sw/qa/extras/ooxmlexport/ooxmlexport7.cxx
+++ libreoffice-5.1.2.2/sw/qa/extras/ooxmlexport/ooxmlexport7.cxx
--- libreoffice-5.2.0.0.alpha1.orig/sw/qa/extras/ooxmlexport/ooxmlexport7.cxx
+++ libreoffice-5.2.0.0.alpha1/sw/qa/extras/ooxmlexport/ooxmlexport7.cxx
@@ -1103,29 +1103,6 @@ DECLARE_OOXMLEXPORT_TEST(testTDF93675, "
assertXPath(pXmlDoc, "//w:ind", "start", "1418");
}
@ -17,7 +17,7 @@ Index: libreoffice-5.1.2.2/sw/qa/extras/ooxmlexport/ooxmlexport7.cxx
- // check rotation angle
- assertXPath(pXmlDoc, "//a:xfrm", "rot", "13500000");
- // check the first few coordinates of the polygon
-#ifndef MACOSX /* Retina-reatled rounding rountrip error
-#ifndef MACOSX /* Retina-related rounding rountrip error
- * hard to smooth out due to the use of string compare
- * instead of number */
- assertXPath(pXmlDoc, "//a:custGeom/a:pathLst/a:path/a:lnTo[1]/a:pt", "x", "2351");

View File

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

View File

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

View File

@ -1,3 +1,29 @@
-------------------------------------------------------------------
Thu Jun 2 08:53:49 UTC 2016 - tchvatal@suse.com
- Version update to 5.2.0.0.beta1:
* Disable support for sle11, not needed anymore
* Cleanup the specfile from all the compat conditionals per above
* Disable bundled help and point to upstream wiki always (speeds
up build quite a bit)
* Use pkgconfig style dependencies instead of the develpkgs
* Remove all the bundled tarballs that were aedded for sle11
* Adjust the constraints a bit to reflect reality
* Remove merged patches:
* scp2-user-config-suse.diff
* 0001-Make-HAVE_JAVA6-be-always-false.patch
* 0001-mdds-1.0.patch
* 0001-liborcus-0.11.patch
* 0002-boost-filesystem1.patch
* 0003-boost-filesystem2.patch
* bnc856729.patch
* bnc939998.patch
* bnc945443.patch
* bnc945445.patch
* Refresh patches:
* libreoffice-hotfix-disablebrokenshapetest.patch
* system-pyuno.diff
-------------------------------------------------------------------
Mon May 9 20:39:22 UTC 2016 - andras.timar@collabora.com

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,34 +0,0 @@
---
officecfg/registry/data/org/openoffice/Setup.xcu | 2 +-
scp2/source/ooo/common_brand.scp | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git officecfg/registry/data/org/openoffice/Setup.xcu officecfg/registry/data/org/openoffice/Setup.xcu
index 8e18ca5..7c0b95d 100644
--- officecfg/registry/data/org/openoffice/Setup.xcu
+++ officecfg/registry/data/org/openoffice/Setup.xcu
@@ -788,7 +788,7 @@
<value>10</value>
</prop>
<prop oor:name="VersionIdentifiers">
- <value oor:separator=",">Libreoffice 3=libreoffice/3,Openofice.org 3=openoffice.org/3,OpenOffice.org 2=openoffice.org2,StarOffice 8=staroffice8,StarSuite 8=starsuite8</value>
+ <value oor:separator=",">Libreoffice 3=libreoffice/3-suse,Openofice.org 3=ooo3,OpenOffice.org 2=ooo-2.0,StarOffice 8=staroffice8,StarSuite 8=starsuite8</value>
</prop>
<node oor:name="MigrationSteps">
<node oor:name="Datasources" oor:op="replace">
diff --git scp2/source/ooo/common_brand.scp scp2/source/ooo/common_brand.scp
index 7bbf873..0b235a0 100644
--- scp2/source/ooo/common_brand.scp
+++ scp2/source/ooo/common_brand.scp
@@ -774,7 +774,7 @@ ProfileItem gid_Brand_Profileitem_Bootstrap_Userinstall
#elif defined MACOSX
Value = "$SYSUSERCONFIG/%ONEWORDPRODUCTNAME/%USERDIRPRODUCTVERSION";
#else
- Value = "$SYSUSERCONFIG/%LCONEWORDPRODUCTNAME/%USERDIRPRODUCTVERSION";
+ Value = "$SYSUSERCONFIG/%LCONEWORDPRODUCTNAME/%USERDIRPRODUCTVERSION-suse";
#endif
End
--
1.7.0.1

View File

@ -1,11 +0,0 @@
[Bootstrap]
HideEula=1
Logo=1
NativeProgress=false
ProgressBarColor=0,0,0
ProgressFrameColor=102,102,102
ProgressPosition=35,153
ProgressSize=444,8
ProgressTextBaseline=145
ProgressTextColor=255,255,255
URE_BOOTSTRAP=${ORIGIN}/fundamentalrc

View File

@ -1,7 +1,8 @@
diff -urN libreoffice-4.0.0.0.beta2.old/desktop/scripts/soffice.sh libreoffice-4.0.0.0.beta2/desktop/scripts/soffice.sh
--- libreoffice-4.0.0.0.beta2.old/desktop/scripts/soffice.sh 2012-12-19 19:09:46.518989541 +0100
+++ libreoffice-4.0.0.0.beta2/desktop/scripts/soffice.sh 2012-12-19 19:10:21.810986269 +0100
@@ -120,6 +120,9 @@
Index: libreoffice-5.2.0.0.alpha1/desktop/scripts/soffice.sh
===================================================================
--- libreoffice-5.2.0.0.alpha1.orig/desktop/scripts/soffice.sh
+++ libreoffice-5.2.0.0.alpha1/desktop/scripts/soffice.sh
@@ -137,6 +137,9 @@ if echo "$checks" | grep -q "cc" ; then
exit 1;
fi
@ -9,11 +10,12 @@ diff -urN libreoffice-4.0.0.0.beta2.old/desktop/scripts/soffice.sh libreoffice-4
+export PYTHONPATH
+
case "`uname -s`" in
NetBSD|OpenBSD|FreeBSD|DragonFly)
NetBSD|OpenBSD|DragonFly)
# this is a temporary hack until we can live with the default search paths
diff -urN libreoffice-4.0.0.0.beta2.old/pyuno/source/module/uno.py libreoffice-4.0.0.0.beta2/pyuno/source/module/uno.py
--- libreoffice-4.0.0.0.beta2.old/pyuno/source/module/uno.py 2012-12-19 19:09:49.483989266 +0100
+++ libreoffice-4.0.0.0.beta2/pyuno/source/module/uno.py 2012-12-19 19:10:21.810986269 +0100
Index: libreoffice-5.2.0.0.alpha1/pyuno/source/module/uno.py
===================================================================
--- libreoffice-5.2.0.0.alpha1.orig/pyuno/source/module/uno.py
+++ libreoffice-5.2.0.0.alpha1/pyuno/source/module/uno.py
@@ -16,8 +16,12 @@
# except in compliance with the License. You may obtain a copy of
# the License at http://www.apache.org/licenses/LICENSE-2.0 .
@ -27,10 +29,11 @@ diff -urN libreoffice-4.0.0.0.beta2.old/pyuno/source/module/uno.py libreoffice-4
import pyuno
try:
diff -urN libreoffice-4.0.0.0.beta2.old/pyuno/source/officehelper.py libreoffice-4.0.0.0.beta2/pyuno/source/officehelper.py
--- libreoffice-4.0.0.0.beta2.old/pyuno/source/officehelper.py 2012-12-19 19:09:46.868989508 +0100
+++ libreoffice-4.0.0.0.beta2/pyuno/source/officehelper.py 2012-12-19 19:10:21.810986269 +0100
@@ -44,7 +44,7 @@
Index: libreoffice-5.2.0.0.alpha1/pyuno/source/officehelper.py
===================================================================
--- libreoffice-5.2.0.0.alpha1.orig/pyuno/source/officehelper.py
+++ libreoffice-5.2.0.0.alpha1/pyuno/source/officehelper.py
@@ -44,7 +44,7 @@ def bootstrap():
if "UNO_PATH" in os.environ:
sOffice = os.environ["UNO_PATH"]
else: