diff --git a/bsc1174465.diff b/bsc1174465.diff deleted file mode 100644 index 170f29d..0000000 --- a/bsc1174465.diff +++ /dev/null @@ -1,117 +0,0 @@ -From f767b83d1c5493815708135f0f2aec03e47615ac Mon Sep 17 00:00:00 2001 -From: Miklos Vajna -Date: Fri, 12 Feb 2021 17:22:57 +0100 -Subject: [PATCH] svx: fix import of multiple paragraphs into title shapes -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Title shapes try hard to have a single paragraph only, the Impress UI -inserts linebreaks instead of paragraphs breaks in -sd::FuText::KeyInput(), ever since commit -f47a9d9db3d06927380bb79b04bb6d4721a92d2b (initial import, 2000-09-18). -This matches the PowerPoint behavior. This is most visible when the -paragraph has a bullet associated with it. - -Interestingly you can still put multiple paragraphs into title shapes -using paste special -> plain text. - -In that case, it was inconsistent that we exported these multiple -paragraphs to ODP, but merged them to a single paragraph on import since -commit 0a783c1a041e2b74b7bf238d11ee2c303f6708f4 (#100190# don't allow -more then one paragraph on title text objects, 2002-06-25). - -This results in loosing your bullets on save + open, both in the ODP and -PPTX cases, since removeActionLock() on the XShape triggers this tweak. -Also, PowerPoint does not do this merging on import. So fix the problem -by removing the import-time tweak but leave the UI unchanged. - -(cherry picked from commit 043690eff82d5798774452a8364e1566b866a320) - -Change-Id: I6796f83c40e83f65cfb0f6c7e66069c3e08c1e2d -Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110900 -Tested-by: Jenkins -Reviewed-by: Gülşah Köse -Reviewed-by: Caolán McNamara ---- - svx/qa/unit/unodraw.cxx | 33 +++++++++++++++++++++++++++++++++ - svx/source/unodraw/unoshtxt.cxx | 12 ------------ - 2 files changed, 33 insertions(+), 12 deletions(-) - -diff --git a/svx/qa/unit/unodraw.cxx b/svx/qa/unit/unodraw.cxx -index 938e44f9ca21..d8e7c03183d1 100644 ---- a/svx/qa/unit/unodraw.cxx -+++ b/svx/qa/unit/unodraw.cxx -@@ -18,6 +18,7 @@ - #include - #include - #include -+#include - - #include - #include -@@ -175,6 +176,38 @@ CPPUNIT_TEST_FIXTURE(UnodrawTest, testTableShadowDirect) - // which has no shadow for cell text (only for cell borders and cell background). - assertXPath(pDocument, "//shadow//sdrblocktext", /*nNumberOfNodes=*/0); - } -+ -+CPPUNIT_TEST_FIXTURE(UnodrawTest, testTitleShapeBullets) -+{ -+ // Create a title shape with 2 paragraphs in it. -+ mxComponent = loadFromDesktop("private:factory/simpress", -+ "com.sun.star.presentation.PresentationDocument"); -+ uno::Reference xSupplier(mxComponent, uno::UNO_QUERY); -+ uno::Reference xDrawPages = xSupplier->getDrawPages(); -+ uno::Reference xDrawPage(xDrawPages->getByIndex(0), uno::UNO_QUERY); -+ // A default document contains a title shape and a text shape on the first slide. -+ uno::Reference xTitleShape(xDrawPage->getByIndex(0), uno::UNO_QUERY); -+ uno::Reference xTitleShapeInfo(xTitleShape, uno::UNO_QUERY); -+ CPPUNIT_ASSERT(xTitleShapeInfo->supportsService("com.sun.star.presentation.TitleTextShape")); -+ uno::Reference xTitleShapeText(xTitleShape, uno::UNO_QUERY); -+ uno::Reference xText = xTitleShapeText->getText(); -+ uno::Reference xCursor = xText->createTextCursor(); -+ xText->insertString(xCursor, "foo", /*bAbsorb=*/false); -+ xText->insertControlCharacter(xCursor, text::ControlCharacter::APPEND_PARAGRAPH, -+ /*bAbsorb=*/false); -+ xText->insertString(xCursor, "bar", /*bAbsorb=*/false); -+ -+ // Check that the title shape has 2 paragraphs. -+ uno::Reference xTextEA(xText, uno::UNO_QUERY); -+ uno::Reference xTextE = xTextEA->createEnumeration(); -+ // Has a first paragraph. -+ CPPUNIT_ASSERT(xTextE->hasMoreElements()); -+ xTextE->nextElement(); -+ // Has a second paragraph. -+ // Without the accompanying fix in place, this test would have failed, because the 2 paragraphs -+ // were merged together (e.g. 1 bullet instead of 2 bullets for bulleted paragraphs). -+ CPPUNIT_ASSERT(xTextE->hasMoreElements()); -+} - } - - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ -diff --git a/svx/source/unodraw/unoshtxt.cxx b/svx/source/unodraw/unoshtxt.cxx -index 7f2a8af49606..39cad52c073b 100644 ---- a/svx/source/unodraw/unoshtxt.cxx -+++ b/svx/source/unodraw/unoshtxt.cxx -@@ -780,18 +780,6 @@ void SvxTextEditSourceImpl::UpdateData() - { - if( mpOutliner->GetParagraphCount() != 1 || mpOutliner->GetEditEngine().GetTextLen( 0 ) ) - { -- if( mpOutliner->GetParagraphCount() > 1 ) -- { -- if (pTextObj->IsTextFrame() && pTextObj->GetTextKind() == OBJ_TITLETEXT) -- { -- while( mpOutliner->GetParagraphCount() > 1 ) -- { -- ESelection aSel( 0,mpOutliner->GetEditEngine().GetTextLen( 0 ), 1,0 ); -- mpOutliner->QuickInsertLineBreak( aSel ); -- } -- } -- } -- - pTextObj->NbcSetOutlinerParaObjectForText( mpOutliner->CreateParaObject(), mpText ); - } - else --- -2.26.2 - diff --git a/bsc1176547_1.diff b/bsc1176547_1.diff deleted file mode 100644 index c6016a0..0000000 --- a/bsc1176547_1.diff +++ /dev/null @@ -1,153 +0,0 @@ -From 5f4808d7536a4c551c8764ac2ac6be30ad975f69 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?G=C3=BCl=C5=9Fah=20K=C3=B6se?= -Date: Thu, 28 Jan 2021 09:37:58 +0300 -Subject: [PATCH] tdf#134210 Apply mirror property to custom cropped graphic. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Change-Id: I5bf2ba8fa432af8b6a560cc60c18bef799834fd0 -Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110039 -Tested-by: Jenkins -Reviewed-by: Gülşah Köse -Signed-off-by: Xisco Fauli -Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110972 ---- - oox/inc/drawingml/graphicproperties.hxx | 4 ++- - oox/source/drawingml/fillproperties.cxx | 29 ++++++++++++++++++++- - oox/source/drawingml/shape.cxx | 9 +++++-- - sd/qa/unit/data/pptx/mirrored-graphic.pptx | Bin 0 -> 173805 bytes - sd/qa/unit/import-tests.cxx | 16 ++++++++++++ - 5 files changed, 54 insertions(+), 4 deletions(-) - create mode 100644 sd/qa/unit/data/pptx/mirrored-graphic.pptx - -diff --git a/oox/inc/drawingml/graphicproperties.hxx b/oox/inc/drawingml/graphicproperties.hxx -index 85b47dbff593..48d1acf61931 100644 ---- a/oox/inc/drawingml/graphicproperties.hxx -+++ b/oox/inc/drawingml/graphicproperties.hxx -@@ -43,7 +43,9 @@ struct GraphicProperties - /** Writes the properties to the passed property map. */ - void pushToPropMap( - PropertyMap& rPropMap, -- const GraphicHelper& rGraphicHelper) const; -+ const GraphicHelper& rGraphicHelper, -+ bool bFlipH = false, -+ bool bFlipV = false) const; - }; - - } // namespace oox::drawingml -diff --git a/oox/source/drawingml/fillproperties.cxx b/oox/source/drawingml/fillproperties.cxx -index 837578ebc807..78ebff7e2122 100644 ---- a/oox/source/drawingml/fillproperties.cxx -+++ b/oox/source/drawingml/fillproperties.cxx -@@ -112,6 +112,28 @@ Reference< XGraphic > lclCropGraphic(uno::Reference const & x - return aReturnGraphic.GetXGraphic(); - } - -+Reference< XGraphic > lclMirrorGraphic(uno::Reference const & xGraphic, bool bFlipH, bool bFlipV) -+{ -+ ::Graphic aGraphic(xGraphic); -+ ::Graphic aReturnGraphic; -+ -+ assert (aGraphic.GetType() == GraphicType::Bitmap); -+ -+ BitmapEx aBitmapEx(aGraphic.GetBitmapEx()); -+ BmpMirrorFlags nMirrorFlags = BmpMirrorFlags::NONE; -+ -+ if(bFlipH) -+ nMirrorFlags |= BmpMirrorFlags::Horizontal; -+ if(bFlipV) -+ nMirrorFlags |= BmpMirrorFlags::Vertical; -+ -+ aBitmapEx.Mirror(nMirrorFlags); -+ -+ aReturnGraphic = ::Graphic(aBitmapEx); -+ aReturnGraphic.setOriginURL(aGraphic.getOriginURL()); -+ -+ return aReturnGraphic.GetXGraphic(); -+} - - Reference< XGraphic > lclCheckAndApplyChangeColorTransform(const BlipFillProperties &aBlipProps, uno::Reference const & xGraphic, - const GraphicHelper& rGraphicHelper, const ::Color nPhClr) -@@ -755,7 +777,7 @@ void FillProperties::pushToPropMap( ShapePropertyMap& rPropMap, - rPropMap.setProperty( ShapeProperty::FillStyle, eFillStyle ); - } - --void GraphicProperties::pushToPropMap( PropertyMap& rPropMap, const GraphicHelper& rGraphicHelper) const -+void GraphicProperties::pushToPropMap( PropertyMap& rPropMap, const GraphicHelper& rGraphicHelper, bool bFlipH, bool bFlipV) const - { - sal_Int16 nBrightness = getLimitedValue< sal_Int16, sal_Int32 >( maBlipProps.moBrightness.get( 0 ) / PER_PERCENT, -100, 100 ); - sal_Int16 nContrast = getLimitedValue< sal_Int16, sal_Int32 >( maBlipProps.moContrast.get( 0 ) / PER_PERCENT, -100, 100 ); -@@ -805,6 +827,11 @@ void GraphicProperties::pushToPropMap( PropertyMap& rPropMap, const GraphicHelpe - xGraphic = lclRotateGraphic(xGraphic, Degree10(nAngle/10) ); - } - -+ // We have not core feature that flips graphic in the shape. -+ // Here we are applying flip property to bitmap directly. -+ if(bFlipH || bFlipV) -+ xGraphic = lclMirrorGraphic(xGraphic, bFlipH, bFlipV ); -+ - rPropMap.setProperty(PROP_FillBitmap, xGraphic); - } - else -diff --git a/oox/source/drawingml/shape.cxx b/oox/source/drawingml/shape.cxx -index 4ec4c425c9ce..e711a3261bb3 100644 ---- a/oox/source/drawingml/shape.cxx -+++ b/oox/source/drawingml/shape.cxx -@@ -1049,8 +1049,13 @@ Reference< XShape > const & Shape::createAndInsert( - aShapeProps.assignUsed( maDefaultShapeProperties ); - if(mnRotation != 0 && bIsCustomShape) - aShapeProps.setProperty( PROP_RotateAngle, sal_Int32( NormAngle36000( mnRotation / -600 ) )); -- if ( bIsEmbMedia || aServiceName == "com.sun.star.drawing.GraphicObjectShape" || aServiceName == "com.sun.star.drawing.OLE2Shape" || bIsCustomShape ) -- mpGraphicPropertiesPtr->pushToPropMap( aShapeProps, rGraphicHelper ); -+ if( bIsEmbMedia || -+ bIsCustomShape || -+ aServiceName == "com.sun.star.drawing.GraphicObjectShape" || -+ aServiceName == "com.sun.star.drawing.OLE2Shape") -+ { -+ mpGraphicPropertiesPtr->pushToPropMap( aShapeProps, rGraphicHelper, mbFlipH, mbFlipV ); -+ } - if ( mpTablePropertiesPtr && aServiceName == "com.sun.star.drawing.TableShape" ) - mpTablePropertiesPtr->pushToPropSet( rFilterBase, xSet, mpMasterTextListStyle ); - -diff --git a/sd/qa/unit/import-tests.cxx b/sd/qa/unit/import-tests.cxx -index ee75e62a849b..eff937566383 100644 ---- a/sd/qa/unit/import-tests.cxx -+++ b/sd/qa/unit/import-tests.cxx -@@ -216,6 +216,7 @@ class SdImportTest : public SdModelTestBase - void testTdf128684(); - void testShapeGlowEffectPPTXImpoer(); - void testShapeBlurPPTXImport(); -+ void testMirroredGraphic(); - - bool checkPattern(sd::DrawDocShellRef const & rDocRef, int nShapeNumber, std::vector& rExpected); - void testPatternImport(); -@@ -344,6 +345,7 @@ class SdImportTest : public SdModelTestBase - CPPUNIT_TEST(testTdf49856); - CPPUNIT_TEST(testShapeGlowEffectPPTXImpoer); - CPPUNIT_TEST(testShapeBlurPPTXImport); -+ CPPUNIT_TEST(testMirroredGraphic); - - CPPUNIT_TEST_SUITE_END(); - }; -@@ -3308,6 +3310,20 @@ void SdImportTest::testShapeBlurPPTXImport() - - } - -+void SdImportTest::testMirroredGraphic() -+{ -+ sd::DrawDocShellRef xDocShRef = loadURL(m_directories.getURLFromSrc(u"sd/qa/unit/data/pptx/mirrored-graphic.pptx"), PPTX); -+ uno::Reference xShape(getShapeFromPage(0, 0, xDocShRef), uno::UNO_SET_THROW); -+ CPPUNIT_ASSERT(xShape.is()); -+ uno::Reference xGraphic; -+ xShape->getPropertyValue("FillBitmap") >>= xGraphic; -+ CPPUNIT_ASSERT(xGraphic.is()); -+ Graphic aGraphic(xGraphic); -+ BitmapEx aBitmap(aGraphic.GetBitmapEx()); -+ CPPUNIT_ASSERT_EQUAL( Color(5196117), aBitmap.GetPixelColor( 0, 0 )); -+ xDocShRef->DoClose(); -+} -+ - CPPUNIT_TEST_SUITE_REGISTRATION(SdImportTest); - - CPPUNIT_PLUGIN_IMPLEMENT(); diff --git a/bsc1176547_2.diff b/bsc1176547_2.diff deleted file mode 100644 index 1340fa4..0000000 --- a/bsc1176547_2.diff +++ /dev/null @@ -1,284 +0,0 @@ -From 33e69fb9ef450169e7d85ae3215fd9a4fc8082c2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?G=C3=BCl=C5=9Fah=20K=C3=B6se?= -Date: Mon, 1 Feb 2021 17:03:33 +0300 -Subject: [PATCH] tdf#134210 Import crop position of bitmap filled shape. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Change-Id: I6a62d68cd0f57e53934851a2f53dae05bf7d3730 -Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110262 -Tested-by: Jenkins -Reviewed-by: Gülşah Köse -Signed-off-by: Xisco Fauli -Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110973 ---- - oox/source/drawingml/fillproperties.cxx | 84 ++++++++++++++++++------ - oox/source/export/drawingml.cxx | 39 +++++++---- - sd/qa/unit/data/pptx/crop-position.pptx | Bin 0 -> 175724 bytes - sd/qa/unit/export-tests-ooxml1.cxx | 29 ++++++-- - sd/qa/unit/import-tests.cxx | 16 +++++ - 5 files changed, 129 insertions(+), 39 deletions(-) - create mode 100644 sd/qa/unit/data/pptx/crop-position.pptx - -diff --git a/oox/source/drawingml/fillproperties.cxx b/oox/source/drawingml/fillproperties.cxx -index 78ebff7e2122..3439d28a4f22 100644 ---- a/oox/source/drawingml/fillproperties.cxx -+++ b/oox/source/drawingml/fillproperties.cxx -@@ -87,6 +87,30 @@ Reference< XGraphic > lclRotateGraphic(uno::Reference const & - return aReturnGraphic.GetXGraphic(); - } - -+void lclCalculateCropPercentage(uno::Reference const & xGraphic, geometry::IntegerRectangle2D &aFillRect) -+{ -+ ::Graphic aGraphic(xGraphic); -+ assert (aGraphic.GetType() == GraphicType::Bitmap); -+ -+ BitmapEx aBitmapEx(aGraphic.GetBitmapEx()); -+ -+ sal_Int32 nScaledWidth = aBitmapEx.GetSizePixel().Width(); -+ sal_Int32 nScaledHeight = aBitmapEx.GetSizePixel().Height(); -+ -+ sal_Int32 nOrigWidth = (nScaledWidth * (100000 - aFillRect.X1 - aFillRect.X2)) / 100000; -+ sal_Int32 nOrigHeight = (nScaledHeight * (100000 - aFillRect.Y1 - aFillRect.Y2)) / 100000; -+ -+ sal_Int32 nLeftPercentage = nScaledWidth * aFillRect.X1 / nOrigWidth; -+ sal_Int32 nRightPercentage = nScaledWidth * aFillRect.X2 / nOrigWidth; -+ sal_Int32 nTopPercentage = nScaledHeight * aFillRect.Y1 / nOrigHeight; -+ sal_Int32 nBottomPercentage = nScaledHeight * aFillRect.Y2 / nOrigHeight; -+ -+ aFillRect.X1 = -nLeftPercentage; -+ aFillRect.X2 = -nRightPercentage; -+ aFillRect.Y1 = -nTopPercentage; -+ aFillRect.Y2 = -nBottomPercentage; -+} -+ - Reference< XGraphic > lclCropGraphic(uno::Reference const & xGraphic, geometry::IntegerRectangle2D aFillRect) - { - ::Graphic aGraphic(xGraphic); -@@ -103,8 +127,15 @@ Reference< XGraphic > lclCropGraphic(uno::Reference const & x - sal_Int32 nBottomCorr = nOrigHeight * -1 * static_cast(aFillRect.Y2) / 100000; - nHeight += nBottomCorr; - -- aBitmapEx.Scale(Size(aBitmapEx.GetSizePixel().Width(), nHeight)); -- aBitmapEx.Crop(tools::Rectangle(Point(0, nTopCorr), Size(aBitmapEx.GetSizePixel().Width(), nOrigHeight))); -+ sal_Int32 nOrigWidth = aBitmapEx.GetSizePixel().Width(); -+ sal_Int32 nWidth = nOrigWidth; -+ sal_Int32 nLeftCorr = nOrigWidth * -1 * static_cast(aFillRect.X1) / 100000; -+ nWidth += nLeftCorr; -+ sal_Int32 nRightCorr = nOrigWidth * -1 * static_cast(aFillRect.X2) / 100000; -+ nWidth += nRightCorr; -+ -+ aBitmapEx.Scale(Size(nWidth, nHeight)); -+ aBitmapEx.Crop(tools::Rectangle(Point(nLeftCorr, nTopCorr), Size(nOrigWidth, nOrigHeight))); - - aReturnGraphic = ::Graphic(aBitmapEx); - aReturnGraphic.setOriginURL(aGraphic.getOriginURL()); -@@ -813,6 +844,36 @@ void GraphicProperties::pushToPropMap( PropertyMap& rPropMap, const GraphicHelpe - nContrast = 0; - } - -+ // cropping -+ if ( maBlipProps.moClipRect.has() ) -+ { -+ geometry::IntegerRectangle2D oClipRect( maBlipProps.moClipRect.get() ); -+ awt::Size aOriginalSize( rGraphicHelper.getOriginalSize( xGraphic ) ); -+ if ( aOriginalSize.Width && aOriginalSize.Height ) -+ { -+ text::GraphicCrop aGraphCrop( 0, 0, 0, 0 ); -+ if ( oClipRect.X1 ) -+ aGraphCrop.Left = rtl::math::round( ( static_cast< double >( aOriginalSize.Width ) * oClipRect.X1 ) / 100000 ); -+ if ( oClipRect.Y1 ) -+ aGraphCrop.Top = rtl::math::round( ( static_cast< double >( aOriginalSize.Height ) * oClipRect.Y1 ) / 100000 ); -+ if ( oClipRect.X2 ) -+ aGraphCrop.Right = rtl::math::round( ( static_cast< double >( aOriginalSize.Width ) * oClipRect.X2 ) / 100000 ); -+ if ( oClipRect.Y2 ) -+ aGraphCrop.Bottom = rtl::math::round( ( static_cast< double >( aOriginalSize.Height ) * oClipRect.Y2 ) / 100000 ); -+ rPropMap.setProperty(PROP_GraphicCrop, aGraphCrop); -+ } -+ -+ if(mbIsCustomShape) -+ { -+ geometry::IntegerRectangle2D aCropRect = oClipRect; -+ lclCalculateCropPercentage(xGraphic, aCropRect); -+ xGraphic = lclCropGraphic(xGraphic, aCropRect); -+ -+ rPropMap.setProperty(PROP_FillBitmap, xGraphic); -+ } -+ -+ } -+ - if(mbIsCustomShape) - { - // it is a cropped graphic. -@@ -837,25 +898,6 @@ void GraphicProperties::pushToPropMap( PropertyMap& rPropMap, const GraphicHelpe - else - rPropMap.setProperty(PROP_Graphic, xGraphic); - -- // cropping -- if ( maBlipProps.moClipRect.has() ) -- { -- geometry::IntegerRectangle2D oClipRect( maBlipProps.moClipRect.get() ); -- awt::Size aOriginalSize( rGraphicHelper.getOriginalSize( xGraphic ) ); -- if ( aOriginalSize.Width && aOriginalSize.Height ) -- { -- text::GraphicCrop aGraphCrop( 0, 0, 0, 0 ); -- if ( oClipRect.X1 ) -- aGraphCrop.Left = rtl::math::round( ( static_cast< double >( aOriginalSize.Width ) * oClipRect.X1 ) / 100000 ); -- if ( oClipRect.Y1 ) -- aGraphCrop.Top = rtl::math::round( ( static_cast< double >( aOriginalSize.Height ) * oClipRect.Y1 ) / 100000 ); -- if ( oClipRect.X2 ) -- aGraphCrop.Right = rtl::math::round( ( static_cast< double >( aOriginalSize.Width ) * oClipRect.X2 ) / 100000 ); -- if ( oClipRect.Y2 ) -- aGraphCrop.Bottom = rtl::math::round( ( static_cast< double >( aOriginalSize.Height ) * oClipRect.Y2 ) / 100000 ); -- rPropMap.setProperty(PROP_GraphicCrop, aGraphCrop); -- } -- } - - if ( maBlipProps.moAlphaModFix.has() ) - { -diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx -index 21394acc80da..94b67cb379f2 100644 ---- a/oox/source/export/drawingml.cxx -+++ b/oox/source/export/drawingml.cxx -@@ -1598,27 +1598,40 @@ void DrawingML::WritePattFill(const Reference& rXPropSet, const cs - mpFS->endElementNS( XML_a , XML_pattFill ); - } - --void DrawingML::WriteGraphicCropProperties(uno::Reference const & rXPropSet, Size const & rOriginalSize, MapMode const & rMapMode) -+void DrawingML::WriteGraphicCropProperties(uno::Reference const & rXPropSet, -+ Size const & rOriginalSize, -+ MapMode const & rMapMode) - { - if (!GetProperty(rXPropSet, "GraphicCrop")) - return; - -- Size aOriginalSize(rOriginalSize); -- -- // GraphicCrop is in mm100, so in case the original size is in pixels, convert it over. -- if (rMapMode.GetMapUnit() == MapUnit::MapPixel) -- aOriginalSize = Application::GetDefaultDevice()->PixelToLogic(aOriginalSize, MapMode(MapUnit::Map100thMM)); -- - css::text::GraphicCrop aGraphicCropStruct; - mAny >>= aGraphicCropStruct; - -- if ( (0 != aGraphicCropStruct.Left) || (0 != aGraphicCropStruct.Top) || (0 != aGraphicCropStruct.Right) || (0 != aGraphicCropStruct.Bottom) ) -+ if(GetProperty(rXPropSet, "CustomShapeGeometry")) -+ { -+ // tdf#134210 GraphicCrop property is handled in import filter because of LibreOffice has not core -+ // feature. We croped the bitmap physically and MSO shouldn't crop bitmap one more time. When we -+ // have core feature for graphic cropping in custom shapes, we should uncomment the code anymore. -+ -+ mpFS->singleElementNS( XML_a, XML_srcRect); -+ } -+ else - { -- mpFS->singleElementNS( XML_a, XML_srcRect, -- XML_l, OString::number(rtl::math::round(aGraphicCropStruct.Left * 100000.0 / aOriginalSize.Width())), -- XML_t, OString::number(rtl::math::round(aGraphicCropStruct.Top * 100000.0 / aOriginalSize.Height())), -- XML_r, OString::number(rtl::math::round(aGraphicCropStruct.Right * 100000.0 / aOriginalSize.Width())), -- XML_b, OString::number(rtl::math::round(aGraphicCropStruct.Bottom * 100000.0 / aOriginalSize.Height())) ); -+ Size aOriginalSize(rOriginalSize); -+ -+ // GraphicCrop is in mm100, so in case the original size is in pixels, convert it over. -+ if (rMapMode.GetMapUnit() == MapUnit::MapPixel) -+ aOriginalSize = Application::GetDefaultDevice()->PixelToLogic(aOriginalSize, MapMode(MapUnit::Map100thMM)); -+ -+ if ( (0 != aGraphicCropStruct.Left) || (0 != aGraphicCropStruct.Top) || (0 != aGraphicCropStruct.Right) || (0 != aGraphicCropStruct.Bottom) ) -+ { -+ mpFS->singleElementNS( XML_a, XML_srcRect, -+ XML_l, OString::number(rtl::math::round(aGraphicCropStruct.Left * 100000.0 / aOriginalSize.Width())), -+ XML_t, OString::number(rtl::math::round(aGraphicCropStruct.Top * 100000.0 / aOriginalSize.Height())), -+ XML_r, OString::number(rtl::math::round(aGraphicCropStruct.Right * 100000.0 / aOriginalSize.Width())), -+ XML_b, OString::number(rtl::math::round(aGraphicCropStruct.Bottom * 100000.0 / aOriginalSize.Height())) ); -+ } - } - } - -diff --git a/sd/qa/unit/export-tests-ooxml1.cxx b/sd/qa/unit/export-tests-ooxml1.cxx -index 0e938e05e9c7..a1e752834f1a 100644 ---- a/sd/qa/unit/export-tests-ooxml1.cxx -+++ b/sd/qa/unit/export-tests-ooxml1.cxx -@@ -1145,17 +1145,36 @@ void SdOOXMLExportTest1::testCustomshapeBitmapfillSrcrect() - xDocShRef->DoClose(); - - xmlDocUniquePtr pXmlDoc = parseExport(tempFile, "ppt/slides/slide1.xml"); -- const OString sXmlPath = "//a:blipFill/a:srcRect"; -+ -+ // tdf#132680 -+ // We are preventing the side effect of DOCX improvement to PPTX case. - // Without the accompanying fix in place, this test would have failed with: - // - Expected: 1 - // - Actual : 0 - // - XPath '//a:blipFill/a:srcRect' number of nodes is incorrect - // i.e. was exported as in , which made part of the image - // invisible. -- double fLeftPercent = std::round(getXPath(pXmlDoc, sXmlPath, "l").toDouble() / 1000); -- CPPUNIT_ASSERT_EQUAL(4.0, fLeftPercent); -- double fRightPercent = std::round(getXPath(pXmlDoc, sXmlPath, "r").toDouble() / 1000); -- CPPUNIT_ASSERT_EQUAL(4.0, fRightPercent); -+ -+ // tdf#134210 -+ // Original values of attribute of l and r in xml files: -+ // Because of we have not core feature for cropping bitmap in custom shapes, we added cropping -+ // support to import filter. We modified the bitmap during import. As result the original -+ // image is cropped anymore (if we had the core feature for that, the original image would -+ // remain same, just we would see like cropped in the shape) To see the image in correct -+ // position in Microsoft Office too, we have to remove left right top bottom percentages -+ // anymore. In the future if we add core feature to LibreOffice, this test will failed with -+ // When we add the core feature, we should change the control value with 4393 as following. -+ -+ //const OString sXmlPath = "//a:blipFill/a:srcRect"; -+ //sal_Int32 nLeftPercent = getXPath(pXmlDoc, sXmlPath, "l").toInt32(); -+ //CPPUNIT_ASSERT_EQUAL(sal_Int32(4393), nLeftPercent); -+ //sal_Int32 nRightPercent = getXPath(pXmlDoc, sXmlPath, "r").toInt32(); -+ //CPPUNIT_ASSERT_EQUAL(sal_Int32(4393), nRightPercent); -+ -+ assertXPathNoAttribute(pXmlDoc, "/p:sld/p:cSld/p:spTree/p:sp/p:spPr/a:blipFill/a:srcRect", "l"); -+ assertXPathNoAttribute(pXmlDoc, "/p:sld/p:cSld/p:spTree/p:sp/p:spPr/a:blipFill/a:srcRect", "r"); -+ assertXPathNoAttribute(pXmlDoc, "/p:sld/p:cSld/p:spTree/p:sp/p:spPr/a:blipFill/a:srcRect", "t"); -+ assertXPathNoAttribute(pXmlDoc, "/p:sld/p:cSld/p:spTree/p:sp/p:spPr/a:blipFill/a:srcRect", "b"); - } - - void SdOOXMLExportTest1::testTdf100348FontworkBitmapFill() -diff --git a/sd/qa/unit/import-tests.cxx b/sd/qa/unit/import-tests.cxx -index eff937566383..9aefdd4ecc7b 100644 ---- a/sd/qa/unit/import-tests.cxx -+++ b/sd/qa/unit/import-tests.cxx -@@ -217,6 +217,7 @@ class SdImportTest : public SdModelTestBase - void testShapeGlowEffectPPTXImpoer(); - void testShapeBlurPPTXImport(); - void testMirroredGraphic(); -+ void testCropPositionGraphic(); - - bool checkPattern(sd::DrawDocShellRef const & rDocRef, int nShapeNumber, std::vector& rExpected); - void testPatternImport(); -@@ -346,6 +347,7 @@ class SdImportTest : public SdModelTestBase - CPPUNIT_TEST(testShapeGlowEffectPPTXImpoer); - CPPUNIT_TEST(testShapeBlurPPTXImport); - CPPUNIT_TEST(testMirroredGraphic); -+ CPPUNIT_TEST(testCropPositionGraphic); - - CPPUNIT_TEST_SUITE_END(); - }; -@@ -3324,6 +3326,20 @@ void SdImportTest::testMirroredGraphic() - xDocShRef->DoClose(); - } - -+void SdImportTest::testCropPositionGraphic() -+{ -+ sd::DrawDocShellRef xDocShRef = loadURL(m_directories.getURLFromSrc(u"sd/qa/unit/data/pptx/crop-position.pptx"), PPTX); -+ uno::Reference xShape(getShapeFromPage(0, 0, xDocShRef), uno::UNO_SET_THROW); -+ CPPUNIT_ASSERT(xShape.is()); -+ uno::Reference xGraphic; -+ xShape->getPropertyValue("FillBitmap") >>= xGraphic; -+ CPPUNIT_ASSERT(xGraphic.is()); -+ Graphic aGraphic(xGraphic); -+ BitmapEx aBitmap(aGraphic.GetBitmapEx()); -+ CPPUNIT_ASSERT_EQUAL( Color(8682893), aBitmap.GetPixelColor( 0, 0 )); -+ xDocShRef->DoClose(); -+} -+ - CPPUNIT_TEST_SUITE_REGISTRATION(SdImportTest); - - CPPUNIT_PLUGIN_IMPLEMENT(); diff --git a/bsc1181644.diff b/bsc1181644.diff deleted file mode 100644 index 478b3e6..0000000 --- a/bsc1181644.diff +++ /dev/null @@ -1,149 +0,0 @@ -From 54ad2128db5d324f530cb15ee56e6512d9093872 Mon Sep 17 00:00:00 2001 -From: Miklos Vajna -Date: Thu, 25 Feb 2021 18:04:19 +0100 -Subject: [PATCH] tdf#132368 svx: empty the interop grab-bag on ending text - edit - -Regression from commit aafaf1f55fa413ad49d4556cf7c0a713dd206ae4 (PPTX -export: save SmartArt as diagram instead of group of shapes, -2019-03-13), the idea of interop grab-bag was to carry additional -information around as long as the object is not changed. - -However, actual clearing of the grab-bag was never implemented, do this -when editing shape text. - -An alternative would be to do this in SdrObject::SetChanged(), but -Writer sets the layer of SdrObjects during layout (when the import -filter is already finished and undo is enabled), so that would mean loss -of the smartart metadata for DOCX. - -Change-Id: I9ab205b4ef84169f4b5a16b86fe9a152e3370a6c -Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111560 -Reviewed-by: Miklos Vajna -Tested-by: Jenkins -Signed-off-by: Xisco Fauli ---- - svx/CppunitTest_svx_unit.mk | 1 + - svx/qa/unit/svdraw.cxx | 55 ++++++++++++++++++++++++++++++++++++ - svx/source/svdraw/svdobj.cxx | 20 +++++++++++++ - 3 files changed, 76 insertions(+) - -diff --git a/svx/CppunitTest_svx_unit.mk b/svx/CppunitTest_svx_unit.mk -index ac9f3e4531ad..892490265261 100644 ---- a/svx/CppunitTest_svx_unit.mk -+++ b/svx/CppunitTest_svx_unit.mk -@@ -36,6 +36,7 @@ $(eval $(call gb_CppunitTest_add_exception_objects,svx_unit, \ - $(eval $(call gb_CppunitTest_use_libraries,svx_unit, \ - basegfx \ - drawinglayer \ -+ editeng \ - sal \ - sfx \ - svxcore \ -diff --git a/svx/qa/unit/svdraw.cxx b/svx/qa/unit/svdraw.cxx -index c96ccbb7aa97..783420d56fea 100644 ---- a/svx/qa/unit/svdraw.cxx -+++ b/svx/qa/unit/svdraw.cxx -@@ -25,6 +25,12 @@ - #include - #include - #include -+#include -+#include -+#include -+#include -+#include -+ - #include - - using namespace ::com::sun::star; -@@ -105,6 +111,55 @@ CPPUNIT_TEST_FIXTURE(SvdrawTest, testSemiTransparentText) - CPPUNIT_ASSERT_EQUAL(nTransparence, - static_cast(basegfx::fround(fTransparence * 100))); - } -+ -+CPPUNIT_TEST_FIXTURE(SvdrawTest, testTextEditEmptyGrabBag) -+{ -+ // Given a document with a groupshape, which has 2 children. -+ getComponent() = loadFromDesktop("private:factory/sdraw"); -+ uno::Reference xFactory(getComponent(), uno::UNO_QUERY); -+ uno::Reference xRect1( -+ xFactory->createInstance("com.sun.star.drawing.RectangleShape"), uno::UNO_QUERY); -+ xRect1->setPosition(awt::Point(1000, 1000)); -+ xRect1->setSize(awt::Size(10000, 10000)); -+ uno::Reference xRect2( -+ xFactory->createInstance("com.sun.star.drawing.RectangleShape"), uno::UNO_QUERY); -+ xRect2->setPosition(awt::Point(1000, 1000)); -+ xRect2->setSize(awt::Size(10000, 10000)); -+ uno::Reference xGroup( -+ xFactory->createInstance("com.sun.star.drawing.GroupShape"), uno::UNO_QUERY); -+ uno::Reference xDrawPagesSupplier(getComponent(), uno::UNO_QUERY); -+ uno::Reference xDrawPage(xDrawPagesSupplier->getDrawPages()->getByIndex(0), -+ uno::UNO_QUERY); -+ uno::Reference xGroupShape(xGroup, uno::UNO_QUERY); -+ xDrawPage->add(xGroupShape); -+ xGroup->add(xRect1); -+ xGroup->add(xRect2); -+ uno::Reference xRect2Text(xRect2, uno::UNO_QUERY); -+ xRect2Text->setString("x"); -+ uno::Sequence aGrabBag = { -+ comphelper::makePropertyValue("OOXLayout", true), -+ }; -+ uno::Reference xGroupProps(xGroup, uno::UNO_QUERY); -+ xGroupProps->setPropertyValue("InteropGrabBag", uno::makeAny(aGrabBag)); -+ -+ // When editing the shape text of the 2nd rectangle (insert a char at the start). -+ SfxViewShell* pViewShell = SfxViewShell::Current(); -+ SdrView* pSdrView = pViewShell->GetDrawView(); -+ SdrObject* pObject = GetSdrObjectFromXShape(xRect2); -+ pSdrView->SdrBeginTextEdit(pObject); -+ EditView& rEditView = pSdrView->GetTextEditOutlinerView()->GetEditView(); -+ rEditView.InsertText("y"); -+ pSdrView->SdrEndTextEdit(); -+ -+ // Then make sure that grab-bag is empty to avoid loosing the new text. -+ xGroupProps->getPropertyValue("InteropGrabBag") >>= aGrabBag; -+ // Without the accompanying fix in place, this test would have failed with: -+ // assertion failed -+ // - Expression: !aGrabBag.hasElements() -+ // i.e. the grab-bag was still around after modifying the shape, and that grab-bag contained the -+ // old text. -+ CPPUNIT_ASSERT(!aGrabBag.hasElements()); -+} - } - - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ -diff --git a/svx/source/svdraw/svdobj.cxx b/svx/source/svdraw/svdobj.cxx -index 638c590a52cd..5480ac1d86ce 100644 ---- a/svx/source/svdraw/svdobj.cxx -+++ b/svx/source/svdraw/svdobj.cxx -@@ -1740,6 +1740,26 @@ void SdrObject::SetOutlinerParaObject(std::unique_ptr pTextO - if (GetCurrentBoundRect()!=aBoundRect0) { - SendUserCall(SdrUserCallType::Resize,aBoundRect0); - } -+ -+ if (getSdrModelFromSdrObject().IsUndoEnabled()) -+ { -+ // Don't do this during import. -+ SdrObject* pTopGroupObj = nullptr; -+ if (getParentSdrObjectFromSdrObject()) -+ { -+ pTopGroupObj = getParentSdrObjectFromSdrObject(); -+ while (pTopGroupObj->getParentSdrObjectFromSdrObject()) -+ { -+ pTopGroupObj = pTopGroupObj->getParentSdrObjectFromSdrObject(); -+ } -+ } -+ if (pTopGroupObj) -+ { -+ // A shape was modified, which is in a group shape. Empty the group shape's grab-bag, -+ // which potentially contains the old text of the shapes in case of diagrams. -+ pTopGroupObj->SetGrabBagItem(uno::makeAny(uno::Sequence())); -+ } -+ } - } - - void SdrObject::NbcSetOutlinerParaObject(std::unique_ptr /*pTextObject*/) --- -2.26.2 - diff --git a/libreoffice-7.1.1.2.tar.xz b/libreoffice-7.1.1.2.tar.xz deleted file mode 100644 index cf62802..0000000 --- a/libreoffice-7.1.1.2.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d6e570c59eec2f61eaccf93623c8dde153ff7c0a44bf68bf4496b0f52112e0ef -size 243478248 diff --git a/libreoffice-7.1.1.2.tar.xz.asc b/libreoffice-7.1.1.2.tar.xz.asc deleted file mode 100644 index 14450de..0000000 --- a/libreoffice-7.1.1.2.tar.xz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCAAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAmA3mwAACgkQ9DSh76/u -rqO5YBAAzlTwFHXI74/NibyoEv43DR2Lcsdc5hNxtEN81/sdRmjS4Na+DnECtapD -b3W8ZOoHRdVWoXsgSXn7dT+ikZ9UDTTqYXRZoUsVTOSMqTI0/9yHwNmNPLACNOcN -1smsTVIVOyQ2w6ezYRA8YMAqY5YuwGAHCcx1ZEbwNL4Lkr8p5OeeD09L7HgC1Fjw -3FcsPPn/07ESOCaKqFPQM8D2+R4lio7gOLHKgyN8V5Dn3dP/+WlKk9fDeXjZXLPB -/bIiBgfa4Z/ig77KS3KyAhbqPwu3CA28hbktQovgVUgRyK4v8/5UdWcI4js+WxGO -0JBrLZ7ajDSNdpu8Aa8Tj+G2Osmvxct02ueYOSHXRiLzE2Ey37XF4/kN5tlh9YO2 -W53y35osciA7W07XCFP+sCjs5nGUDbTuTi3yGHHn94VH9h1MmYW+j5qnjzVm4vlS -U95J0XFFU3EmBc3RizOA8R4H38kZqTVYMIRSHnNTS40YAakfo45HGxvIn3r7Rmxv -AanujetGmzhzrfgja4G4PEcQkcIPSs14pgiCvH0FSwNRCZdZxyqTqlvgvXSd8AK6 -5AtMmDGTA0z5qBPjOBne1iRwEA4PTFrXAQf1wtn6Yl+VR3i1wGVq49JdWkQiUHJW -uh3s+tgg6DkSKB88gwt9gAp6ZR+2nc0y3PH93ksRPlyCU2jfDsI= -=4LjS ------END PGP SIGNATURE----- diff --git a/libreoffice-7.1.2.2.tar.xz b/libreoffice-7.1.2.2.tar.xz new file mode 100644 index 0000000..4e343a9 --- /dev/null +++ b/libreoffice-7.1.2.2.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ba58991f626dc42c75ca2c28f91915ffabae18ba5a5fba5344ed7004eba29f8 +size 243806936 diff --git a/libreoffice-7.1.2.2.tar.xz.asc b/libreoffice-7.1.2.2.tar.xz.asc new file mode 100644 index 0000000..9a22945 --- /dev/null +++ b/libreoffice-7.1.2.2.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCAAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAmBbbf4ACgkQ9DSh76/u +rqOjMw/+OMIJPkPgTvvSlUIiRGeUV7I08mB3jN1yH11wkJ39FFJ7jWDSWtVzXegq +v8E5ZmvCTSa//erR5vX5LK/5tjSJkxX9O44MThBcY0mzafi0H3PQk1WRteXCf2K9 +Q1CNzGoi7Wyj6iRV34uvwYs9PapcHLj21BuiVOIJ3s8m7CaRizMmppQuFb4/BUsQ +eMryFc/c5j7MOk00Uwrxq8W4AlN4typmarCAwIx5KRzOpsWcwxOFbDaHXUWfNje/ +jTdbWUdbdMmxBUjkCbNI9P5W0JoI47LATUa9PKN8eHWK+AXda6oiFxwawpmb5295 +cpFF3V9wkag3VOidq/YjEvfRzBGmlYGuV2A6ziAfAGpQwDFy0i3Bzwkm5U0zAQtC +GXsFhhDoMlJSHB4uG0iyKswvGeuPdz3RseRwoZk1I+2aQr89oTcHhCw4XMeSHyji +s3B5V1Yu9W2OcKQL16RnMb3hb1WXAQV9PQETKfljT7AVZ9ayVxNbLjmwnefkADwd +ZpnRA3r4LdAKXL53fqlTm5EH2ot6H60NB1mWt/pwlbeMGaD4OE8eG7fAcfxExFCU +ul/27bShl0PnUab/SfVpuaj5KHocCb7Dh5u+x5cO4f9K+jU+7RoftXxz84DpVtrD +8rwuzPRwTl3YuZD30Hj1/iOmBE5PlkTi4lvjzo9Xh/P0MxIbRZI= +=D3Ax +-----END PGP SIGNATURE----- diff --git a/libreoffice-help-7.1.1.2.tar.xz b/libreoffice-help-7.1.1.2.tar.xz deleted file mode 100644 index e11e01b..0000000 --- a/libreoffice-help-7.1.1.2.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4774ec743f5463b65ba34e2e542b594d81de090a1be326490a52d3bb37059693 -size 111786544 diff --git a/libreoffice-help-7.1.1.2.tar.xz.asc b/libreoffice-help-7.1.1.2.tar.xz.asc deleted file mode 100644 index c1d024d..0000000 --- a/libreoffice-help-7.1.1.2.tar.xz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCAAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAmA3mwYACgkQ9DSh76/u -rqOcEg/8DpmO1JOAlMwf4Oeqgl/8FSTU0pxakBeOUgNlpn/EqMZhVqW593pxjpYZ -0+iBLZ7Kj5kmM/9mNUcqOAzgjUADL3LRII04XviW6Q3vhe1ckaKaGMQzN7oJHVz+ -Ee9QKO8KJ1DwkiAUi139FfmaxzAi1j/ZdKhkuuB9kcCSUK0yRkTM84+ETEr9ESSg -zeSgg2cyNSBQ/3YBhl7gUrNJevqs1BMpnG6TqDj4+hultYgEbc4HX2H1kc8pYnrk -UOnMVOGZk3ZEHyCRUPVkRhovwnEN4NTn6uZ4MDqEK9e8OnWZA0B/Z6wyZbAPtN1e -ALfvP8JF5Ve4Ou7ZSz9+HzzGzziLuDtUw7RbHujWK/6EMMYtx4wFYmRmNupUBijd -Xzy3YYHmuO+hEhKuRZRK8zHTk0EILIAr92FeZgHImaShIEmWEAt2rfabF1a97DEU -Wx3u0ajPJ2isBG1ivspV2RxD+fZ5VhtupRSBSXEbb2+yz3iAn6/IRNt7yc4r1h/s -vapvmM99ANwmkr+L/Iq1nqtfwmOGVXOlwY0hjG1gIMYu9EdUf8LHK6NoCks3pm+s -kmIof+VLza2rygQsIyuMLNKmtnScqhr14oD85r1N6PFvC1q55/N+JVejMjTKKbSI -35TcrDi8iiPHCF7AC58TGf54E6+ZGEi5iA17HtM95F5cuXSAKVQ= -=QcRA ------END PGP SIGNATURE----- diff --git a/libreoffice-help-7.1.2.2.tar.xz b/libreoffice-help-7.1.2.2.tar.xz new file mode 100644 index 0000000..c0bd72b --- /dev/null +++ b/libreoffice-help-7.1.2.2.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e5b980d453793308b49e9ab9100738394f5c9dfaed5a94eacd95f087f9d59af +size 111784492 diff --git a/libreoffice-help-7.1.2.2.tar.xz.asc b/libreoffice-help-7.1.2.2.tar.xz.asc new file mode 100644 index 0000000..b71299e --- /dev/null +++ b/libreoffice-help-7.1.2.2.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCAAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAmBbbgQACgkQ9DSh76/u +rqMXlg/+Irv/C0ybdtJqYYlp2JaOTFQ6x5cFjV4pym30VhPWJgblyibKBI4dWuvh +GB827C+ZNaMwYNdBgVj08oyRAe4PiL1VagfybiwI1hR4KMNVzVolG+5RqdacAwqN +OiY93qL7pJG5izoWecT1KwmabmQ1llmgyp3shalPLBmyT/VqwlVYyq2khPaAmgFy +hWHjKbFdwXOLYGXapd7IQsFjvX6CgSKeSIqzDmGV9a9Z1bMTjUQ3DOHoak05eyfl +0JF/q+Kr6xX/EVM+2fu0UZbaFk5/T1ERkH+phLye258R0ioyneIPE51TIubNjUz/ +dY8v8BwmyZ+seicWdTRyBKTJYDTZegP/FjePD9770g2GjZerClsF646TbJiv+0FD +nqo3iQ+ANqSkJznbdrQlxE1UAF8G+ji/WnJqDttP01L2hjvvILWV7m6ZDiBhPB/v +fqQpgI/PynT5pf7V4hz5a4Gcj4BNEHsfQIv8V3efSMcX42vwyJ+bWIK8bggVVpWN +Wyi6nzAc5B42yQI3zNvNFdqo9kcPjHlqTofnIbUFkfClHTiNuMCgVuhGh8sL+9jM ++xJVK3oQ9VkPrkipah1YcNHLc3nLwcZHKbIetD7azTGHU8YEETcpN2D++eZ98ykJ +DziTj/7dn/DL9+lvMfvcYeEgQHOBiI/Pisl+uydxr6EsA32QWcQ= +=f/cB +-----END PGP SIGNATURE----- diff --git a/libreoffice-translations-7.1.1.2.tar.xz b/libreoffice-translations-7.1.1.2.tar.xz deleted file mode 100644 index 1f5a429..0000000 --- a/libreoffice-translations-7.1.1.2.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:702bca8e3e3359d065a5e986f5437e1034aa617856ac83ec2769b87300da2dee -size 184669284 diff --git a/libreoffice-translations-7.1.1.2.tar.xz.asc b/libreoffice-translations-7.1.1.2.tar.xz.asc deleted file mode 100644 index bb2805f..0000000 --- a/libreoffice-translations-7.1.1.2.tar.xz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCAAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAmA3mwcACgkQ9DSh76/u -rqPk7hAApDQBCuJlM4Nt+dsl66the7jhu4e3cWFJqXpeM0GrynOQx0ckWXSZwaN4 -Z1RViBC+WiaQHSghiJDBGxMJy/0iIl1Eh+o5H4JVgnOBSHF3Hgm23/UVhJ0WdtrT -H00xvDUxufoZBkYTNffJ0w6nAfnscTEo03VR5+HLgej7958YF5vNO3SCrR/8dluY -efe/d4dm9SCHnkRi6fEA1FA50el6mRIE62gG4PCjw+9xRzhCt1SSw+WKjUi0dCwT -SZR1TZXkWh71t5PaVcuG8R/5bzFlIGu8XxLDFh0bmnCqI3mKZ5445if82R0Sj4bb -1oDDTYEXC1UWoY5RlBv7h/5mTcOkEz2+Lc7pQ0i4w1LBEKKYm4IAs5wcTz8FzSjJ -cSWkWvUjh6qYdnEVl+Kz9/Xg2rrdTGTFKS8MOfJXrPZVii9NGIxX3HPL8+KO6MGM -0hXSupQngAMi2a0UNPJee2wk7Yh2DquD6UZookqjTPuWdiAPX264LZQ3uLLfAzQW -uBzsTtcr996dP68VpbMugtFAtQruk6/sSIaj12wlbMK0zZwvDAEsZOyee24dK+6/ -zMMzxUutVvtGph2lXYTDJqqXsDY+wnL9jf7npIJW/+d362RLFujVXHdkjhmMVauA -TX2fR4OZO5gg+1RT3KjZ8gVIMzstXPoVBDelqXjFjePp1YJqtNY= -=e67E ------END PGP SIGNATURE----- diff --git a/libreoffice-translations-7.1.2.2.tar.xz b/libreoffice-translations-7.1.2.2.tar.xz new file mode 100644 index 0000000..9227fd8 --- /dev/null +++ b/libreoffice-translations-7.1.2.2.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a724be1fb8895ad14d1e1e6558d1bb65037d1f15858bd48228ad0cb66828a2c8 +size 184782132 diff --git a/libreoffice-translations-7.1.2.2.tar.xz.asc b/libreoffice-translations-7.1.2.2.tar.xz.asc new file mode 100644 index 0000000..5ed5362 --- /dev/null +++ b/libreoffice-translations-7.1.2.2.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCAAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAmBbbgUACgkQ9DSh76/u +rqPjiRAAxr6Lay7Q5dQyX2B7uzzMEtooorqsxoq81txdsiCgE2M28ZD30jDaRxRr +KE2jB73qtDfNqMTZPCNC8x6xgWVbAdyb9jbpWZoKrfXy5G8I0FGRHLWB/AQL4L06 +9ExlOyp5OayaXXzosPv9destPlBFlncK1B/BZ5slZtd8EaKUGWQRgWfvL4nUQfcz +RJTeO6tuPeQaRVB4YhA+sL23QyS5JJG4K1YetaLd1Cj8BVXj+X58cTI8OIXhKhF8 +VPC4yLZuSbsCuvbvJBUoVSu7xGtMXBAleCO3UbwpAZqiE8harKx18nj3itmKLAOX +hot6BuabIRqCQnowejjPzPs1GUhbQUTEJzTXzMC7PkL9+BCMjOs7yHbk3TMGejO9 +RuWQ2xUgufSls2hwTLt0ghA5FBrV/1XYBYtseolFHiE3cZGIOnt1mc/CYL1dtdF5 +79e2VrClyfflRp950fXtRsm4iilDPbT4AY1qdXAJOcpUGMfkysaQ6FbK9cyX+Ha4 +PFK8NC43rBGSI4w5nU8SSoxQnTbq48DLDG0rYgI5mO5PMdHrXpajKj6b9FUvyYNo +nt5K0DkTymE8fioSs+eiuPb6s9/8FboF1qhhsT3rUwynUU907+/1Tf50fkbHwrn/ +v1za2dNljbHRFYKFMHH07QbCWFD0rYT450OL7a58uHddU9j/9f4= +=nvIA +-----END PGP SIGNATURE----- diff --git a/libreoffice.changes b/libreoffice.changes index 9781246..e2e20f9 100644 --- a/libreoffice.changes +++ b/libreoffice.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Thu Mar 25 14:25:20 UTC 2021 - Tomáš Chvátal + +- Version update to 7.1.2.2: + * 7.1.2 final release +- Drop merged patches: + * bsc1174465.diff + * bsc1181644.diff + * bsc1176547_1.diff + * bsc1176547_2.diff + ------------------------------------------------------------------- Mon Mar 1 11:04:00 UTC 2021 - Markéta Machová diff --git a/libreoffice.spec b/libreoffice.spec index 3a6404e..79b6bdd 100644 --- a/libreoffice.spec +++ b/libreoffice.spec @@ -46,7 +46,7 @@ %bcond_with system_gpgme %endif Name: libreoffice -Version: 7.1.1.2 +Version: 7.1.2.2 Release: 0 Summary: A Free Office Suite (Framework) License: LGPL-3.0-or-later AND MPL-2.0+ @@ -101,13 +101,6 @@ Patch2: nlpsolver-no-broken-help.diff Patch3: mediawiki-no-broken-help.diff # PATCH-FIX-UPSTREAM https://github.com/LibreOffice/core/commit/f14b83b38d35a585976ef5d422754d8e0d0266a6 ucp: fix call to getComponentContext Patch4: use-comphelper.patch -# Bug 1174465 - LO-L3: Impress in TW (7.0.0.0-beta2) messes up bullet points -Patch11: bsc1174465.diff -# Bug 1181644 - LO-L3: Text changes are reproducibly lost (PPTX, SmartArt) -Patch12: bsc1181644.diff -# Bug 1176547 - Image shown with different aspect ratio (and different clipping), some colored instead of grey, one horizontally mirrored -Patch13: bsc1176547_1.diff -Patch14: bsc1176547_2.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 @@ -967,10 +960,6 @@ Provides %{langname} translations and additional resources (help files, etc.) fo %patch2 %patch3 %patch4 -p1 -%patch11 -p1 -%patch12 -p1 -%patch13 -p1 -%patch14 -p1 %patch990 -p1 %patch991 -p1