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-01-15 19:45:12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libreoffice (Old) and /work/SRC/openSUSE:Factory/.libreoffice.new.28504 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libreoffice" Fri Jan 15 19:45:12 2021 rev:219 rq:863076 version:7.0.3.1 Changes: -------- --- /work/SRC/openSUSE:Factory/libreoffice/libreoffice.changes 2021-01-03 21:26:13.323559327 +0100 +++ /work/SRC/openSUSE:Factory/.libreoffice.new.28504/libreoffice.changes 2021-01-15 19:45:33.481961951 +0100 @@ -1,0 +2,17 @@ +Thu Jan 14 08:44:52 UTC 2021 - Andras Timar <andras.ti...@collabora.com> + +- Fix bsc#1179025 - LO-L3: LibreOffice crashes opening a PPTX + * bsc1179025.diff + +------------------------------------------------------------------- +Tue Jan 12 10:32:53 UTC 2021 - Andras Timar <andras.ti...@collabora.com> + +- Fix bsc#1178807 - LO-L3: Text box from PowerPoint renders vertically instead of horizontally + * bsc1178807.diff + +------------------------------------------------------------------- +Sat Jan 2 11:07:57 UTC 2021 - Callum Farmer <gm...@opensuse.org> + +- Add icu68.patch: fix build with ICU 68 + +------------------------------------------------------------------- New: ---- bsc1178807.diff bsc1179025.diff icu68.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libreoffice.spec ++++++ --- /var/tmp/diff_new_pack.4lzZ5O/_old 2021-01-15 19:45:36.421966328 +0100 +++ /var/tmp/diff_new_pack.4lzZ5O/_new 2021-01-15 19:45:36.425966334 +0100 @@ -1,7 +1,7 @@ # # spec file for package libreoffice # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -102,6 +102,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 # 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 @@ -962,6 +968,9 @@ %patch4 -p1 %patch5 -p1 %patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%patch9 -p1 %patch990 -p1 %patch991 -p1 ++++++ bsc1178807.diff ++++++ >From 0bd430959f1605cb7ab5ab2efdb4b6fd217cd8c2 Mon Sep 17 00:00:00 2001 From: Miklos Vajna <vmik...@collabora.com> Date: Wed, 6 Jan 2021 10:23:44 +0100 Subject: [PATCH] bsc1178807.diff tdf#134288 svx: fix rendering of text on a zero-width shape We have conflicting requirements here: on one hand, the shape is zero width, so the text area is also zero. On the other hand, we put some text on the shape, which should be visible. The result was that the left/right text margin (2x250 mm100) was counted as part of the text area, so we put a few (but not 1) characters / line for zero width. Fix this to be PowerPoint-compatible: as the width decreases, we break the text up to more and more lines, but if the width is 0, then we don't break it up at all. An alternative would be to do this later in SdrTextObj::impDecomposeBlockTextPrimitive(), but there we no longer know the width is really 0, because the text margins and some small increase (+1 to be an inclusive range, +1 to have a non-zero scale) is already added to the original width. (cherry picked from commit 65e2ef43f186164729e1cc071b805bc1a7125cfe) Conflicts: svx/qa/unit/sdr.cxx Change-Id: Ieaa3e726bc5d37983b6221452e14f01db315f790 --- .../sdr/primitive2d/sdrdecompositiontools.cxx | 28 +++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx b/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx index 2ee2bb625e2d..801190f5e92a 100644 --- a/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx +++ b/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx @@ -278,12 +278,36 @@ namespace drawinglayer::primitive2d // create a range describing the wanted text position and size (aTextAnchorRange). This // means to use the text distance values here - const basegfx::B2DPoint aTopLeft(aSnapRange.getMinX() + rText.getTextLeftDistance(), aSnapRange.getMinY() + rText.getTextUpperDistance()); - const basegfx::B2DPoint aBottomRight(aSnapRange.getMaxX() - rText.getTextRightDistance(), aSnapRange.getMaxY() - rText.getTextLowerDistance()); + sal_Int32 nTextLeftDistance = rText.getTextLeftDistance(); + // If the margin is larger than the entire width of the text area, then limit the + // margin. + if (nTextLeftDistance > aSnapRange.getWidth()) + nTextLeftDistance = aSnapRange.getWidth(); + sal_Int32 nTextRightDistance = rText.getTextRightDistance(); + if (nTextRightDistance > aSnapRange.getWidth()) + nTextRightDistance = aSnapRange.getWidth(); + const basegfx::B2DPoint aTopLeft(aSnapRange.getMinX() + nTextLeftDistance, + aSnapRange.getMinY() + + rText.getTextUpperDistance()); + const basegfx::B2DPoint aBottomRight(aSnapRange.getMaxX() - nTextRightDistance, + aSnapRange.getMaxY() + - rText.getTextLowerDistance()); basegfx::B2DRange aTextAnchorRange; aTextAnchorRange.expand(aTopLeft); aTextAnchorRange.expand(aBottomRight); + if (aTextAnchorRange.getWidth() == 0) + { + // If the shape has no width, then don't attempt to break the text into multiple + // lines, not a single character would satisfy a zero width requirement. + // SdrTextObj::impDecomposeBlockTextPrimitive() uses the same constant to + // effectively set no limits. + aTextAnchorRange.expand( + basegfx::B2DPoint(aTopLeft.getX() - 1000000, aTopLeft.getY())); + aTextAnchorRange.expand( + basegfx::B2DPoint(aBottomRight.getX() + 1000000, aBottomRight.getY())); + } + // now create a transformation from this basic range (aTextAnchorRange) // #i121494# if we have no scale use at least 1.0 to have a carrier e.g. for // mirror values, else these will get lost -- 2.26.2 ++++++ bsc1179025.diff ++++++ >From 9a10330ff8fb0499ed8b0a91563b3c7f62b94096 Mon Sep 17 00:00:00 2001 From: Miklos Vajna <vmik...@collabora.com> Date: Tue, 12 Jan 2021 10:13:14 +0100 Subject: [PATCH] bsc1179025.diff oox smartart: fix crash in pyra algorithm with a single child shape Regression from commit 14a56533ff2c9c859d22cd3039ada75b99e94bc0 (SmartArt Pyramid: Now lays out shapes, 2018-07-10), the added pyramid algorithm by first centering the topmost children, then decrementing the horizontal postion of each additional shape, with the end goal of having 0 horizontal position of the last children. This means that simply avoiding the division in the 1-child case leads to correct results, because in this case the only child is also the last child at the sane time. (cherry picked from commit f2e04fe98e313cffa3f98d55eae641415142a431) Change-Id: Ifd0027e9616b0909dbfde43e1555427b50de4dad --- oox/source/drawingml/diagram/diagramlayoutatoms.cxx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/oox/source/drawingml/diagram/diagramlayoutatoms.cxx b/oox/source/drawingml/diagram/diagramlayoutatoms.cxx index 7f926cc9a5e8..24acaf176491 100644 --- a/oox/source/drawingml/diagram/diagramlayoutatoms.cxx +++ b/oox/source/drawingml/diagram/diagramlayoutatoms.cxx @@ -1286,7 +1286,10 @@ void AlgAtom::layoutShape(const ShapePtr& rShape, const std::vector<Constraint>& for (auto & aCurrShape : rShape->getChildren()) { aCurrShape->setPosition(aCurrPos); - aCurrPos.X -= aChildSize.Height/(nCount-1); + if (nCount > 1) + { + aCurrPos.X -= aChildSize.Height / (nCount - 1); + } aChildSize.Width += aChildSize.Height; aCurrShape->setSize(aChildSize); aCurrShape->setChildSize(aChildSize); -- 2.26.2 ++++++ icu68.patch ++++++ >From 0b14b9ec55fb2a8dd0ec24e1c03702bc4bbf1878 Mon Sep 17 00:00:00 2001 From: Rene Engelhard <r...@debian.org> Date: Sun, 1 Nov 2020 18:30:49 +0100 Subject: fix build with ICU 68 use standard true. /home/rene/LibreOffice/git/master/i18npool/source/calendar/calendar_gregorian.cxx: In member function 'virtual void i18npool::Calendar_gregorian::setLocalDateTime(double)': /home/rene/LibreOffice/git/master/i18npool/source/calendar/calendar_gregorian.cxx:363:40: error: 'TRUE' was not declared in this scope 363 | body->getTimeZone().getOffset( fR, TRUE, nZoneOffset, nDSTOffset, status ); | ^~~~ /usr/include/unicode/umachine.h says: @deprecated ICU 68 Use standard "true" instead. Change-Id: I45d2b0afa6a9043767af5c2cf41ba24377f2cdc4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105057 Tested-by: Jenkins Reviewed-by: Eike Rathke <er...@redhat.com> --- i18npool/source/calendar/calendar_gregorian.cxx | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/i18npool/source/calendar/calendar_gregorian.cxx b/i18npool/source/calendar/calendar_gregorian.cxx index b7ae49fbd96e..59ee46fa0e0f 100644 --- a/i18npool/source/calendar/calendar_gregorian.cxx +++ b/i18npool/source/calendar/calendar_gregorian.cxx @@ -347,7 +347,7 @@ Calendar_gregorian::setLocalDateTime( double fTimeInDays ) "Calendar_gregorian::setLocalDateTime: " << std::fixed << fM << " rounded to " << fR); int32_t nZoneOffset, nDSTOffset; UErrorCode status = U_ZERO_ERROR; - body->getTimeZone().getOffset( fR, TRUE, nZoneOffset, nDSTOffset, status ); + body->getTimeZone().getOffset( fR, true, nZoneOffset, nDSTOffset, status ); if ( !U_SUCCESS(status) ) throw ERROR; status = U_ZERO_ERROR; body->setTime( fR - (nZoneOffset + nDSTOffset), status );