Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libreoffice for openSUSE:Factory checked in at 2021-02-01 13:26:03 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libreoffice (Old) and /work/SRC/openSUSE:Factory/.libreoffice.new.28504 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "libreoffice" Mon Feb 1 13:26:03 2021 rev:221 rq:867658 version:7.0.4.2 Changes: -------- --- /work/SRC/openSUSE:Factory/libreoffice/libreoffice.changes 2021-01-27 18:56:16.972252172 +0100 +++ /work/SRC/openSUSE:Factory/.libreoffice.new.28504/libreoffice.changes 2021-02-01 13:27:58.558081846 +0100 @@ -0,0 +1,15 @@ +------------------------------------------------------------------- +Thu Jan 28 21:17:13 UTC 2021 - Andras Timar <andras.timar@collabora.com> + +- Fix bsc#1177955 - LO-L3: SmartArt: text wrongly aligned, background boxes not quite right,... + * bsc1177955.diff + +------------------------------------------------------------------- +Sat Jan 23 22:55:19 UTC 2021 - Andras Timar <andras.timar@collabora.com> + +- Update to 7.0.4 + * .4 bugfix release of 7.0 series +- Removed patch: + * icu68.patch + + integrated upstream + Old: ---- icu68.patch libreoffice-7.0.3.1.tar.xz libreoffice-7.0.3.1.tar.xz.asc libreoffice-help-7.0.3.1.tar.xz libreoffice-help-7.0.3.1.tar.xz.asc libreoffice-translations-7.0.3.1.tar.xz libreoffice-translations-7.0.3.1.tar.xz.asc pdfium-4137.tar.bz2 New: ---- bsc1177955.diff libreoffice-7.0.4.2.tar.xz libreoffice-7.0.4.2.tar.xz.asc libreoffice-help-7.0.4.2.tar.xz libreoffice-help-7.0.4.2.tar.xz.asc libreoffice-translations-7.0.4.2.tar.xz libreoffice-translations-7.0.4.2.tar.xz.asc pdfium-4306.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libreoffice.spec ++++++ --- /var/tmp/diff_new_pack.wHMMkI/_old 2021-02-01 13:28:03.230089115 +0100 +++ /var/tmp/diff_new_pack.wHMMkI/_new 2021-02-01 13:28:03.230089115 +0100 @@ -46,7 +46,7 @@ %bcond_with system_gpgme %endif Name: libreoffice -Version: 7.0.3.1 +Version: 7.0.4.2 Release: 0 Summary: A Free Office Suite (Framework) License: LGPL-3.0-or-later AND MPL-2.0+ @@ -87,7 +87,7 @@ Source2006: https://dev-www.libreoffice.org/extern/8249374c274932a21846fa7629c2aa9b-offi... Source2007: https://dev-www.libreoffice.org/extern/odfvalidator-0.9.0-RC2-SNAPSHOT-jar-w... # PDFium is bundled everywhere -Source2008: %{external_url}/pdfium-4137.tar.bz2 +Source2008: %{external_url}/pdfium-4306.tar.bz2 # Single C file with patches from LO Source2009: %{external_url}/dtoa-20180411.tgz # Skia is part of chromium and bundled everywhere as by google only way is monorepo way @@ -103,12 +103,12 @@ # LO-L3: Shadow effect(s) for table completely missing - part 1 and 2 Patch5: bsc1178944.diff Patch6: bsc1178943.diff -# Fix build with ICU 68 -Patch7: icu68.patch # Bug 1178807 - LO-L3: Text box from PowerPoint renders vertically instead of horizontally Patch8: bsc1178807.diff # Bug 1179025 - LO-L3: LibreOffice crashes opening a PPTX Patch9: bsc1179025.diff +# Bug 1177955 - LO-L3: SmartArt: text wrongly aligned, background boxes not quite right,... +Patch10: bsc1177955.diff # try to save space by using hardlinks Patch990: install-with-hardlinks.diff # save time by relying on rpm check rather than doing stupid find+grep @@ -969,9 +969,9 @@ %patch4 -p1 %patch5 -p1 %patch6 -p1 -%patch7 -p1 %patch8 -p1 %patch9 -p1 +%patch10 -p1 %patch990 -p1 %patch991 -p1 ++++++ bsc1177955.diff ++++++ From e80fb99133a8edf4c0b03319c7296889b0e52d54 Mon Sep 17 00:00:00 2001 From: Miklos Vajna <vmiklos@collabora.com> Date: Wed, 20 Jan 2021 11:15:34 +0100 Subject: [PATCH] bsc1177955.diff This is a combination of 2 commits. This is the 1st commit message: loplugin:flatten (cherry picked from commit 2d582244680e7f6dec6e4a466e276f93ccb01dc9) This is the commit message #2: oox smartart: composite algo: handle right constraint when left+width is given The bugdoc had this constraint: <dgm:constr type="l" for="ch" forName="text" refType="r" refFor="ch" refForName="img"/> While img has no "r", it has: <dgm:constr type="w" for="ch" forName="img" refType="w" refFor="ch" refForName="box" fact="0.2"/> <dgm:constr type="l" for="ch" forName="img" refType="h" refFor="ch" refForName="box" fact="0.1"/> Which is enough to fix the x position of the text to not overlap with img. (cherry picked from commit 1359e8c566970fcef860f7ba7f54a07d8e6e0513) Change-Id: I80db290bd1695884ffb7b1eabaffa09462e8883d --- .../drawingml/diagram/diagramlayoutatoms.cxx | 78 ++++++++++++++----- 1 file changed, 60 insertions(+), 18 deletions(-) diff --git a/oox/source/drawingml/diagram/diagramlayoutatoms.cxx b/oox/source/drawingml/diagram/diagramlayoutatoms.cxx index 24acaf176491..3492ccefaa1a 100644 --- a/oox/source/drawingml/diagram/diagramlayoutatoms.cxx +++ b/oox/source/drawingml/diagram/diagramlayoutatoms.cxx @@ -452,6 +452,37 @@ sal_Int32 AlgAtom::getVerticalShapesCount(const ShapePtr& rShape) namespace { +/** + * Decides if a certain reference type (e.g. "right") can be inferred from the available properties + * in rMap (e.g. left and width). Returns true if rValue is written to. + */ +bool InferFromLayoutProperty(const LayoutProperty& rMap, sal_Int32 nRefType, sal_Int32& rValue) +{ + switch (nRefType) + { + case XML_r: + { + auto it = rMap.find(XML_l); + if (it == rMap.end()) + { + return false; + } + sal_Int32 nLeft = it->second; + it = rMap.find(XML_w); + if (it == rMap.end()) + { + return false; + } + rValue = nLeft + it->second; + return true; + } + default: + break; + } + + return false; +} + /** * Apply rConstraint to the rProperties shared layout state. * @@ -468,26 +499,37 @@ void ApplyConstraintToLayout(const Constraint& rConstraint, LayoutPropertyMap& r } const LayoutPropertyMap::const_iterator aRef = rProperties.find(rConstraint.msRefForName); - if (aRef != rProperties.end()) + if (aRef == rProperties.end()) + return; + + const LayoutProperty::const_iterator aRefType = aRef->second.find(rConstraint.mnRefType); + sal_Int32 nInferredValue = 0; + if (aRefType != aRef->second.end()) + { + // Reference is found directly. + rProperties[rConstraint.msForName][rConstraint.mnType] + = aRefType->second * rConstraint.mfFactor; + } + else if (InferFromLayoutProperty(aRef->second, rConstraint.mnRefType, nInferredValue)) + { + // Reference can be inferred. + rProperties[rConstraint.msForName][rConstraint.mnType] + = nInferredValue * rConstraint.mfFactor; + } + else { - const LayoutProperty::const_iterator aRefType = aRef->second.find(rConstraint.mnRefType); - if (aRefType != aRef->second.end()) - rProperties[rConstraint.msForName][rConstraint.mnType] - = aRefType->second * rConstraint.mfFactor; + // Reference not found, assume a fixed value. + // Values are never in EMU, while oox::drawingml::Shape position and size are always in + // EMU. + double fUnitFactor = 0; + if (isFontUnit(rConstraint.mnRefType)) + // Points -> EMU. + fUnitFactor = EMU_PER_PT; else - { - // Values are never in EMU, while oox::drawingml::Shape position and size are always in - // EMU. - double fUnitFactor = 0; - if (isFontUnit(rConstraint.mnRefType)) - // Points -> EMU. - fUnitFactor = EMU_PER_PT; - else - // Millimeters -> EMU. - fUnitFactor = EMU_PER_HMM * 100; - rProperties[rConstraint.msForName][rConstraint.mnType] - = rConstraint.mfValue * fUnitFactor; - } + // Millimeters -> EMU. + fUnitFactor = EMU_PER_HMM * 100; + rProperties[rConstraint.msForName][rConstraint.mnType] + = rConstraint.mfValue * fUnitFactor; } } -- 2.26.2 ++++++ libreoffice-7.0.3.1.tar.xz -> libreoffice-7.0.4.2.tar.xz ++++++ /work/SRC/openSUSE:Factory/libreoffice/libreoffice-7.0.3.1.tar.xz /work/SRC/openSUSE:Factory/.libreoffice.new.28504/libreoffice-7.0.4.2.tar.xz differ: char 25, line 1 ++++++ libreoffice-help-7.0.3.1.tar.xz -> libreoffice-help-7.0.4.2.tar.xz ++++++ /work/SRC/openSUSE:Factory/libreoffice/libreoffice-help-7.0.3.1.tar.xz /work/SRC/openSUSE:Factory/.libreoffice.new.28504/libreoffice-help-7.0.4.2.tar.xz differ: char 26, line 1 ++++++ libreoffice-translations-7.0.3.1.tar.xz -> libreoffice-translations-7.0.4.2.tar.xz ++++++ /work/SRC/openSUSE:Factory/libreoffice/libreoffice-translations-7.0.3.1.tar.xz /work/SRC/openSUSE:Factory/.libreoffice.new.28504/libreoffice-translations-7.0.4.2.tar.xz differ: char 25, line 1 ++++++ pdfium-4137.tar.bz2 -> pdfium-4306.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/libreoffice/pdfium-4137.tar.bz2 /work/SRC/openSUSE:Factory/.libreoffice.new.28504/pdfium-4306.tar.bz2 differ: char 11, line 1