Accepting request 876791 from LibreOffice:7.1
OBS-URL: https://build.opensuse.org/request/show/876791 OBS-URL: https://build.opensuse.org/package/show/LibreOffice:Factory/libreoffice?expand=0&rev=949
This commit is contained in:
parent
a01047f0e6
commit
4c0d2b49a4
153
bsc1176547_1.diff
Normal file
153
bsc1176547_1.diff
Normal file
@ -0,0 +1,153 @@
|
|||||||
|
From 5f4808d7536a4c551c8764ac2ac6be30ad975f69 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?G=C3=BCl=C5=9Fah=20K=C3=B6se?= <gulsah.kose@collabora.com>
|
||||||
|
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 <gulsah.kose@collabora.com>
|
||||||
|
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
||||||
|
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<graphic::XGraphic> const & x
|
||||||
|
return aReturnGraphic.GetXGraphic();
|
||||||
|
}
|
||||||
|
|
||||||
|
+Reference< XGraphic > lclMirrorGraphic(uno::Reference<graphic::XGraphic> 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<graphic::XGraphic> 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<sal_uInt8>& 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<beans::XPropertySet> xShape(getShapeFromPage(0, 0, xDocShRef), uno::UNO_SET_THROW);
|
||||||
|
+ CPPUNIT_ASSERT(xShape.is());
|
||||||
|
+ uno::Reference<graphic::XGraphic> 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();
|
284
bsc1176547_2.diff
Normal file
284
bsc1176547_2.diff
Normal file
@ -0,0 +1,284 @@
|
|||||||
|
From 33e69fb9ef450169e7d85ae3215fd9a4fc8082c2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?G=C3=BCl=C5=9Fah=20K=C3=B6se?= <gulsah.kose@collabora.com>
|
||||||
|
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 <gulsah.kose@collabora.com>
|
||||||
|
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
||||||
|
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<graphic::XGraphic> const &
|
||||||
|
return aReturnGraphic.GetXGraphic();
|
||||||
|
}
|
||||||
|
|
||||||
|
+void lclCalculateCropPercentage(uno::Reference<graphic::XGraphic> 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<graphic::XGraphic> const & xGraphic, geometry::IntegerRectangle2D aFillRect)
|
||||||
|
{
|
||||||
|
::Graphic aGraphic(xGraphic);
|
||||||
|
@@ -103,8 +127,15 @@ Reference< XGraphic > lclCropGraphic(uno::Reference<graphic::XGraphic> const & x
|
||||||
|
sal_Int32 nBottomCorr = nOrigHeight * -1 * static_cast<double>(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<double>(aFillRect.X1) / 100000;
|
||||||
|
+ nWidth += nLeftCorr;
|
||||||
|
+ sal_Int32 nRightCorr = nOrigWidth * -1 * static_cast<double>(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<XPropertySet>& rXPropSet, const cs
|
||||||
|
mpFS->endElementNS( XML_a , XML_pattFill );
|
||||||
|
}
|
||||||
|
|
||||||
|
-void DrawingML::WriteGraphicCropProperties(uno::Reference<beans::XPropertySet> const & rXPropSet, Size const & rOriginalSize, MapMode const & rMapMode)
|
||||||
|
+void DrawingML::WriteGraphicCropProperties(uno::Reference<beans::XPropertySet> 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. <a:srcRect> was exported as <a:fillRect> in <a:stretch>, 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: <a:srcRect l="4393" r="4393"/>
|
||||||
|
+ // 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<sal_uInt8>& 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<beans::XPropertySet> xShape(getShapeFromPage(0, 0, xDocShRef), uno::UNO_SET_THROW);
|
||||||
|
+ CPPUNIT_ASSERT(xShape.is());
|
||||||
|
+ uno::Reference<graphic::XGraphic> 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();
|
100
bsc1177955.diff
100
bsc1177955.diff
@ -1,100 +0,0 @@
|
|||||||
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(-)
|
|
||||||
|
|
||||||
Index: libreoffice-7.1.0.3/oox/source/drawingml/diagram/diagramlayoutatoms.cxx
|
|
||||||
===================================================================
|
|
||||||
--- libreoffice-7.1.0.3.orig/oox/source/drawingml/diagram/diagramlayoutatoms.cxx
|
|
||||||
+++ libreoffice-7.1.0.3/oox/source/drawingml/diagram/diagramlayoutatoms.cxx
|
|
||||||
@@ -784,6 +784,37 @@ sal_Int32 AlgAtom::getVerticalShapesCoun
|
|
||||||
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.
|
|
||||||
*
|
|
||||||
* Note that the order in which constraints are applied matters, given that constraints can refer to
|
|
||||||
@@ -803,11 +834,22 @@ void ApplyConstraintToLayout(const Const
|
|
||||||
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
|
|
||||||
{
|
|
||||||
+ // 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;
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:9ed0833f349da3f7b27f54fa24da388dc6a84079935322b305a7a2171e48f3e6
|
|
||||||
size 243091304
|
|
@ -1,16 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
|
|
||||||
iQIzBAABCAAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAmARy2IACgkQ9DSh76/u
|
|
||||||
rqM31BAAv+Bnrsex7cWAY+U2zY3wjdfBmxAFPcqDU05/OM4OBWkdOMFYhM5qwMdl
|
|
||||||
C0LccF4YchWyayfKIkF5OB4S2ZcJ9suWph7OdNdvZzh94SHlkaNbMGyv/iWtImRr
|
|
||||||
fw9JXDPsdfDiSOiTCtu5kL8OUcQKI0dsEpdCJ499/ra9I+RCW4Vz4F3ThgtTJkGs
|
|
||||||
Zom2vbRTvP5dTne+hVlkaN1oPyZ038BsFtJXr+he4slHkOQIPqTJ5d6btcViBWu2
|
|
||||||
aRULg5L+C4e30UY9SvcO6rl9X8Sl7NJGbnJd1obJKXLeSg4eAV9x3D4xfldJP0jt
|
|
||||||
343TX2uvklMqRIZfIZwF4ZjT6PeUL6upUWT+8a15gcaI6YZ85RQXqbKXijXLoBEe
|
|
||||||
UkFzx+/kq0WYu+qd8BgOpfOgnj4AI9JMePfUZYW5RH/dTdXQYsTT33CMt8qFd9mf
|
|
||||||
6FXPNtIqkn9S7FdekhA8SO1HfvWmyLtaJNl9EfpI7o1srpoDTtlfXnwibxu/3owN
|
|
||||||
AVrid7XAIRKUbUgCi7VKQuv5H+GGaf7d8Nf885NRxmv8Bx5WWDzvxwHHczaNl8Sz
|
|
||||||
C8nMHl4Y2o2zJQbkUDKo+wMpEjfnGHF7qfUUs0e2A0MMPVautLlN9yYIqM+AO+Ww
|
|
||||||
xwHEGSE6gkhz9sIYZ/BibwmAoQp9JC8At50elbafg4dk0GaKV4c=
|
|
||||||
=IqlL
|
|
||||||
-----END PGP SIGNATURE-----
|
|
3
libreoffice-7.1.1.2.tar.xz
Normal file
3
libreoffice-7.1.1.2.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:d6e570c59eec2f61eaccf93623c8dde153ff7c0a44bf68bf4496b0f52112e0ef
|
||||||
|
size 243478248
|
16
libreoffice-7.1.1.2.tar.xz.asc
Normal file
16
libreoffice-7.1.1.2.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
-----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-----
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:698ae21765ae1e2df8bbc3b448fe88437055402708f6afe3ed6f746491887acf
|
|
||||||
size 111785796
|
|
@ -1,16 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
|
|
||||||
iQIzBAABCAAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAmARy24ACgkQ9DSh76/u
|
|
||||||
rqPRdw//V71OahEGdMTJSNm1VyRLOIfEfKLayN956FB6WyFRhmZz6bMXgkZhMpCv
|
|
||||||
NAjLZSQSlcfCFl5344Zf1ilPmohAa13TEZ5Hb3yux6+xj/SDqGc2wQpeugj7NeVN
|
|
||||||
GvjBqVT71awlp7CgSCy7aefiSA/b/MzRV3SAJrqRexa26uNcTjKJgQEBWc45pEL0
|
|
||||||
boAjGTSgemD4b0qSV/x/BYNPvYUjSs0HNI4TPwtJfCnI+CXsVQnDEAUWpVL2HKBd
|
|
||||||
wB+oK/lEulNmCzqIBsMIAEDpjWoiASet+EmgOdRHqcdUy09kKEml8cNcL+D9N9j4
|
|
||||||
aRCojy1UH2F8VvcdWUXb68XndKI1nShQu/zFowf8MDhvzpH3byRcFUfAKnNaFieV
|
|
||||||
alfEfQYa/BKkr9ZWCQcwdB1ts0hXQOUFgRCe0j2S29vozmdyszVghRFANU5z7kCG
|
|
||||||
vWzRVDu1EUa7QZcOG7jLBBTC1SCIwCSdwy8xqPpzitq9XfllVqvQPf+OJR/Z6aai
|
|
||||||
eFQUugTkSGOgD0v1FP294R6JWuXsaAPVmpEUJ4znpiboE95mrQyGUbaP53Sk7r+k
|
|
||||||
i71K4WmOi/JE7ySCy2KiVt1r5pqn/B1vCi2aGa0SXmzYLu9Pkk7fmeQnGMH+MQYX
|
|
||||||
T1hcKpsHUpLp5J2zt5Xk/y77z2HrgrzKgHKi/l1bLYMkJQs0NBA=
|
|
||||||
=PMC5
|
|
||||||
-----END PGP SIGNATURE-----
|
|
3
libreoffice-help-7.1.1.2.tar.xz
Normal file
3
libreoffice-help-7.1.1.2.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:4774ec743f5463b65ba34e2e542b594d81de090a1be326490a52d3bb37059693
|
||||||
|
size 111786544
|
16
libreoffice-help-7.1.1.2.tar.xz.asc
Normal file
16
libreoffice-help-7.1.1.2.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
-----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-----
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:b17e0d7c61de80526d22c11c63596c4d56aaa2b1ad0f14d29e0abdd8b3efcc54
|
|
||||||
size 184441692
|
|
@ -1,16 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
|
|
||||||
iQIzBAABCAAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAmARy28ACgkQ9DSh76/u
|
|
||||||
rqNq2xAAh18WoddFFIKw830rW8A3t6ElwAiTj9XB7YVc9o1bclMEkAcL2cE5+4jP
|
|
||||||
HJ7CNi0OpWe3UXq8umdq0cSXIx6uv3/69DGGQOUEv/+fAYB+9aBlFGR07Gc14lwp
|
|
||||||
YPNyhnPK7hwSrD9QaLAl2GbHB7TJllEb+3YUT3/QH5xqkBhBnjYXuO/PdcopzHQV
|
|
||||||
SFwXGpHqYJVbq6l1J7YZAfvxyhOOL2UHA2g2/MNMRfuGr7xRBo3b3Kjp97KhC5Lv
|
|
||||||
BXWYfnQHdQv7c33cVi1Vb0r/sQzEUxcRHlMW8MQE4doWtCZE1y+lesTxtiuLrKa0
|
|
||||||
FBbr5kQsbpYVjdC1tTnU0LqM/xp6rETySF5E50u3sGjsxY/OEsVcK20/Kxp42ptC
|
|
||||||
REyKNP1lhWa9odymYGp5rkPHRvgqQcu/hIC+42EZDox2hpQAhlxANvbrfNXPaHL7
|
|
||||||
BBUwZQgkuGMy+c7Y7UROLWCeE26cPUmopf1UnHtR7Tj5cZDRCJoCKxEnI1hvBTTh
|
|
||||||
S6bfONe0gDcbYjcF5zq37ALKLEpEnt3yu7q5x3G5lRIPTyHc1Gfp6EjOZUzK/Id0
|
|
||||||
0SYSg7lEOILCmpYpv3xcBBUk5+tBF2XzGKePEZvgw0RRomBJpOWDoyFJCFk9nz1Y
|
|
||||||
CvUEfu/xn8Soi1yQEsuASfH05n33cGL61qCsGn0tVRCBnk4uPUM=
|
|
||||||
=na+z
|
|
||||||
-----END PGP SIGNATURE-----
|
|
3
libreoffice-translations-7.1.1.2.tar.xz
Normal file
3
libreoffice-translations-7.1.1.2.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:702bca8e3e3359d065a5e986f5437e1034aa617856ac83ec2769b87300da2dee
|
||||||
|
size 184669284
|
16
libreoffice-translations-7.1.1.2.tar.xz.asc
Normal file
16
libreoffice-translations-7.1.1.2.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
-----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-----
|
@ -1,3 +1,13 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Mar 1 11:04:00 UTC 2021 - Markéta Machová <mmachova@suse.com>
|
||||||
|
|
||||||
|
- Update to 7.1.1.2 (fixes bsc#1182790)
|
||||||
|
* 7.1.1 final release
|
||||||
|
- Drop merged patch bsc1177955.diff
|
||||||
|
- Fix bsc#1176547 - Image shown with different aspect ratio
|
||||||
|
* bsc1176547_1.diff
|
||||||
|
* bsc1176547_2.diff
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Feb 26 15:00:29 UTC 2021 - Andras Timar <andras.timar@collabora.com>
|
Fri Feb 26 15:00:29 UTC 2021 - Andras Timar <andras.timar@collabora.com>
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@
|
|||||||
%bcond_with system_gpgme
|
%bcond_with system_gpgme
|
||||||
%endif
|
%endif
|
||||||
Name: libreoffice
|
Name: libreoffice
|
||||||
Version: 7.1.0.3
|
Version: 7.1.1.2
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: A Free Office Suite (Framework)
|
Summary: A Free Office Suite (Framework)
|
||||||
License: LGPL-3.0-or-later AND MPL-2.0+
|
License: LGPL-3.0-or-later AND MPL-2.0+
|
||||||
@ -101,12 +101,13 @@ Patch2: nlpsolver-no-broken-help.diff
|
|||||||
Patch3: mediawiki-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
|
# PATCH-FIX-UPSTREAM https://github.com/LibreOffice/core/commit/f14b83b38d35a585976ef5d422754d8e0d0266a6 ucp: fix call to getComponentContext
|
||||||
Patch4: use-comphelper.patch
|
Patch4: use-comphelper.patch
|
||||||
# Bug 1177955 - LO-L3: SmartArt: text wrongly aligned, background boxes not quite right,...
|
|
||||||
Patch10: bsc1177955.diff
|
|
||||||
# Bug 1174465 - LO-L3: Impress in TW (7.0.0.0-beta2) messes up bullet points
|
# Bug 1174465 - LO-L3: Impress in TW (7.0.0.0-beta2) messes up bullet points
|
||||||
Patch11: bsc1174465.diff
|
Patch11: bsc1174465.diff
|
||||||
# Bug 1181644 - LO-L3: Text changes are reproducibly lost (PPTX, SmartArt)
|
# Bug 1181644 - LO-L3: Text changes are reproducibly lost (PPTX, SmartArt)
|
||||||
Patch12: bsc1181644.diff
|
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
|
# try to save space by using hardlinks
|
||||||
Patch990: install-with-hardlinks.diff
|
Patch990: install-with-hardlinks.diff
|
||||||
# save time by relying on rpm check rather than doing stupid find+grep
|
# save time by relying on rpm check rather than doing stupid find+grep
|
||||||
@ -966,9 +967,10 @@ Provides %{langname} translations and additional resources (help files, etc.) fo
|
|||||||
%patch2
|
%patch2
|
||||||
%patch3
|
%patch3
|
||||||
%patch4 -p1
|
%patch4 -p1
|
||||||
%patch10 -p1
|
|
||||||
%patch11 -p1
|
%patch11 -p1
|
||||||
%patch12 -p1
|
%patch12 -p1
|
||||||
|
%patch13 -p1
|
||||||
|
%patch14 -p1
|
||||||
%patch990 -p1
|
%patch990 -p1
|
||||||
%patch991 -p1
|
%patch991 -p1
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user