[Libreoffice-commits] core.git: Branch 'distro/collabora/co-2021' - 24 commits - canvas/source download.lst editeng/source icon-themes/colibre icon-themes/colibre_svg include/editeng include/oox include/svx officecfg/registry oox/CppunitTest_oox_export.mk oox/Module_oox.mk oox/qa oox/source sc/source sd/source sd/xml sfx2/uiconfig shell/source solenv/gbuild svx/inc svx/source svx/uiconfig sw/qa sw/source vcl/skia vcl/unx
Michael Stahl (via logerrit)
logerrit at kemper.freedesktop.org
Wed Apr 21 19:08:57 UTC 2021
canvas/source/cairo/cairo_spritehelper.cxx | 32 ++
download.lst | 4
editeng/source/editeng/editview.cxx | 5
icon-themes/colibre/cmd/32/actionmode.png |binary
icon-themes/colibre/cmd/sc_sendmail.png |binary
icon-themes/colibre/cmd/sc_tabdialog.png |binary
icon-themes/colibre_svg/cmd/32/actionmode.svg | 2
icon-themes/colibre_svg/cmd/sc_sendmail.svg | 3
icon-themes/colibre_svg/cmd/sc_tabdialog.svg | 2
include/editeng/editview.hxx | 1
include/oox/export/drawingml.hxx | 2
include/svx/sdrundomanager.hxx | 2
officecfg/registry/data/org/openoffice/Office/UI/Effects.xcu | 2
oox/CppunitTest_oox_export.mk | 46 +++
oox/Module_oox.mk | 1
oox/qa/unit/data/dml-groupshape-polygon.docx |binary
oox/qa/unit/export.cxx | 157 +++++++++++
oox/source/export/drawingml.cxx | 29 +-
oox/source/export/shapes.cxx | 8
sc/source/ui/view/gridwin.cxx | 9
sd/source/ui/view/drviews4.cxx | 7
sd/xml/effects.xml | 24 -
sfx2/uiconfig/ui/linkeditdialog.ui | 35 +-
shell/source/unix/exec/shellexec.cxx | 1
solenv/gbuild/extensions/pre_MergedLibsList.mk | 4
svx/inc/sdr/contact/viewcontactofsdrole2obj.hxx | 6
svx/source/dialog/weldeditview.cxx | 72 +----
svx/source/form/fmview.cxx | 35 +-
svx/source/sdr/contact/viewcontactofsdrole2obj.cxx | 76 +----
svx/source/sdr/properties/defaultproperties.cxx | 5
svx/source/svdraw/sdrundomanager.cxx | 3
svx/source/svdraw/svdedxv.cxx | 3
svx/source/unodraw/unoshape.cxx | 10
svx/uiconfig/ui/fillctrlbox.ui | 3
sw/qa/extras/ooxmlexport/ooxmlexport6.cxx | 4
sw/source/core/frmedt/feshview.cxx | 8
sw/source/ui/dbui/addresslistdialog.cxx | 6
vcl/skia/win/gdiimpl.cxx | 6
vcl/unx/generic/gdi/salgdi.cxx | 9
vcl/unx/gtk3/gtk3gtkinst.cxx | 2
40 files changed, 431 insertions(+), 193 deletions(-)
New commits:
commit 2d61d0639d7b97046ed4f4ef98cc34281e63fcf4
Author: Michael Stahl <michael.stahl at allotropia.de>
AuthorDate: Fri Apr 16 16:21:26 2021 +0200
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Wed Apr 21 21:08:16 2021 +0200
svx: fix crash in DefaultProperties::dumpAsXml()
mpItemSet can be null
Change-Id: I4192f84639116c550bba5303a5fc70528cb3e8c3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114263
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl at allotropia.de>
(cherry picked from commit 832b23d9376019619929764606276aacde1e329a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114268
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/svx/source/sdr/properties/defaultproperties.cxx b/svx/source/sdr/properties/defaultproperties.cxx
index e9a9934a9973..9244356af297 100644
--- a/svx/source/sdr/properties/defaultproperties.cxx
+++ b/svx/source/sdr/properties/defaultproperties.cxx
@@ -246,7 +246,10 @@ namespace sdr::properties
{
xmlTextWriterStartElement(pWriter, BAD_CAST("DefaultProperties"));
BaseProperties::dumpAsXml(pWriter);
- mpItemSet->dumpAsXml(pWriter);
+ if (mpItemSet)
+ {
+ mpItemSet->dumpAsXml(pWriter);
+ }
xmlTextWriterEndElement(pWriter);
}
} // end of namespace
commit 128ee71195b4376daf5c191dd74b7d5479dc689f
Author: Samuel Mehrbrodt <samuel.mehrbrodt at allotropia.de>
AuthorDate: Wed Apr 21 14:15:07 2021 +0200
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Wed Apr 21 21:08:16 2021 +0200
Related tdf#139804 Allow activating btn on first click
Change-Id: I3bcdf8bdd6f25fd30106214f40e72bf1506f6bbf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114398
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt at allotropia.de>
(cherry picked from commit 8d633320df3fb58e6e9ac12dcf9983ad5d5db75e)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114416
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/svx/source/form/fmview.cxx b/svx/source/form/fmview.cxx
index 79651f7ab732..8de9b531950f 100644
--- a/svx/source/form/fmview.cxx
+++ b/svx/source/form/fmview.cxx
@@ -516,6 +516,7 @@ bool FmFormView::KeyInput(const KeyEvent& rKEvt, vcl::Window* pWin)
if (rI18nHelper.MatchMnemonic(pWindow->GetText(), rKEvt.GetCharCode()))
{
pWindow->GrabFocus();
+ pWindow->KeyInput(rKEvt);
bDone = true;
break;
}
commit b8ebcf1c35ad99322c7eea5061f232fb14235560
Author: Luboš Luňák <l.lunak at collabora.com>
AuthorDate: Tue Apr 20 17:20:31 2021 +0200
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Wed Apr 21 21:08:16 2021 +0200
prevent cairo from breaking because of a large matrix (tdf#125949)
Some presentation animations temporarily cause extensive zoom matrix
and Cairo doesn't take that well.
Change-Id: I1eb6d63fc2dcde6553bc8cc7ab967532d085a579
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114344
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak at collabora.com>
(cherry picked from commit 3a4bfe3e45be2d5b591ab5cae3694c9492ca9e1b)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114419
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/canvas/source/cairo/cairo_spritehelper.cxx b/canvas/source/cairo/cairo_spritehelper.cxx
index 1fe9eb9152e0..b0eb7e9b7e44 100644
--- a/canvas/source/cairo/cairo_spritehelper.cxx
+++ b/canvas/source/cairo/cairo_spritehelper.cxx
@@ -28,6 +28,7 @@
#include <tools/diagnose_ex.h>
#include <cairo.h>
+#include <pixman.h>
#include "cairo_spritehelper.hxx"
@@ -140,6 +141,37 @@ namespace cairocanvas
cairo_clip( pCairo.get() );
cairo_set_matrix( pCairo.get(), &aOrigMatrix );
+ cairo_matrix_t aInverseMatrix = aOrigMatrix;
+ bool matrixProblem = false;
+ // tdf#125949: Cairo internally uses the pixman library, and _cairo_matrix_to_pixman_matrix()
+ // checks all matrix components to fix PIXMAN_MAX_INT, which is about 32k. Which means that
+ // if our transformation is large, such as an initial step of some zooming animations,
+ // the conversion will fail. To make things worse, once something in cairo fails, it's treated
+ // as a fatal error, the error status of that cairo_t gets set, and there's no way to reset it
+ // besides recreating the whole cairo_t
+ // (https://lists.cairographics.org/archives/cairo/2006-September/007892.html).
+ // So copy&paste PIXMAN_MAX_INT here, and if our matrix could fail, bail out.
+#define PIXMAN_MAX_INT ((pixman_fixed_1 >> 1) - pixman_fixed_e) /* need to ensure deltas also fit */
+ if(cairo_matrix_invert(&aInverseMatrix) == CAIRO_STATUS_SUCCESS)
+ {
+ if(abs(aOrigMatrix.xx) > PIXMAN_MAX_INT || abs(aOrigMatrix.xx) > PIXMAN_MAX_INT
+ || abs(aOrigMatrix.xy) > PIXMAN_MAX_INT || abs(aOrigMatrix.yx) > PIXMAN_MAX_INT
+ || abs(aOrigMatrix.x0) > PIXMAN_MAX_INT || abs(aOrigMatrix.y0) > PIXMAN_MAX_INT
+ || abs(aInverseMatrix.xx) > PIXMAN_MAX_INT || abs(aInverseMatrix.xx) > PIXMAN_MAX_INT
+ || abs(aInverseMatrix.xy) > PIXMAN_MAX_INT || abs(aInverseMatrix.yx) > PIXMAN_MAX_INT
+ || abs(aInverseMatrix.x0) > PIXMAN_MAX_INT || abs(aInverseMatrix.y0) > PIXMAN_MAX_INT)
+ matrixProblem = true;
+#undef PIXMAN_MAX_INT
+ }
+ else
+ matrixProblem = true;
+ if(matrixProblem)
+ {
+ SAL_WARN( "canvas.cairo", "matrix would overflow PIXMAN_MAX_INT, avoiding drawing" );
+ cairo_restore( pCairo.get() );
+ return;
+ }
+
if( isContentFullyOpaque() )
cairo_set_operator( pCairo.get(), CAIRO_OPERATOR_SOURCE );
cairo_set_source_surface( pCairo.get(),
commit 0dc04d91aa6bebdbf49d24c7eaf6b6ffcb06c8c9
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Wed Apr 21 14:01:47 2021 +0100
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Wed Apr 21 21:08:15 2021 +0200
Resolves: tdf#141765 set 'color' GtkToolbar to small-button size
so its height is as small as possible so it won't force the surrounding
toolbar's height to stretch to fit it in
Change-Id: Ibfbcfb551cdd82df05faf382d8cb8fcaa142ec14
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114415
Tested-by: Jenkins
Reviewed-by: Aron Budea <aron.budea at collabora.com>
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/svx/uiconfig/ui/fillctrlbox.ui b/svx/uiconfig/ui/fillctrlbox.ui
index e13508f77e1f..5ca5b329e354 100644
--- a/svx/uiconfig/ui/fillctrlbox.ui
+++ b/svx/uiconfig/ui/fillctrlbox.ui
@@ -63,6 +63,9 @@
<property name="homogeneous">False</property>
</packing>
</child>
+ <style>
+ <class name="small-button"/>
+ </style>
</object>
<packing>
<property name="expand">False</property>
commit dd6a4abe28333abb13c0122d1adf92f05f56c8e0
Author: Samuel Mehrbrodt <samuel.mehrbrodt at allotropia.de>
AuthorDate: Wed Apr 21 10:57:16 2021 +0200
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Wed Apr 21 21:07:38 2021 +0200
tdf#141703 Restore tab function in sd tables
Regression from 67ad205404211a2ae17c430a17ede6e9d04d0b7e
Change-Id: Iadbdaf1b59d2481264e45b85aed248c84404c26b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114383
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt at allotropia.de>
(cherry picked from commit 75f5fdbbe48a847874397d9d126f832dbdfada5a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114368
Reviewed-by: Adolfo Jayme Barrientos <fitojb at ubuntu.com>
diff --git a/sd/source/ui/view/drviews4.cxx b/sd/source/ui/view/drviews4.cxx
index f333dba5f71e..ec59d54aaf0d 100644
--- a/sd/source/ui/view/drviews4.cxx
+++ b/sd/source/ui/view/drviews4.cxx
@@ -177,9 +177,9 @@ void DrawViewShell::DeleteActualLayer()
bool DrawViewShell::KeyInput (const KeyEvent& rKEvt, ::sd::Window* pWin)
{
- bool bRet = GetView()->KeyInput(rKEvt, pWin);
+ bool bRet = false;
- if (!bRet && (!IsInputLocked() || (rKEvt.GetKeyCode().GetCode() == KEY_ESCAPE)))
+ if (!IsInputLocked() || (rKEvt.GetKeyCode().GetCode() == KEY_ESCAPE))
{
if(KEY_RETURN == rKEvt.GetKeyCode().GetCode()
&& rKEvt.GetKeyCode().IsMod1()
@@ -256,6 +256,9 @@ bool DrawViewShell::KeyInput (const KeyEvent& rKEvt, ::sd::Window* pWin)
}
}
+ if (!bRet)
+ bRet = GetView()->KeyInput(rKEvt, pWin);
+
return bRet;
}
commit cafcd239cb39dee9fa5df7636571ac88bba4403f
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Fri Mar 19 15:32:53 2021 +0000
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Wed Apr 21 21:07:37 2021 +0200
cid#1474166 Deference null return value
Change-Id: I725eff105f963b139ae8646cd1cb193ce737d313
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112760
Tested-by: Caolán McNamara <caolanm at redhat.com>
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
(cherry picked from commit 229558c0bf257e4e559cc1b84bd2918b04c68305)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114365
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt at allotropia.de>
diff --git a/svx/source/form/fmview.cxx b/svx/source/form/fmview.cxx
index 3a4b443f4541..79651f7ab732 100644
--- a/svx/source/form/fmview.cxx
+++ b/svx/source/form/fmview.cxx
@@ -499,24 +499,26 @@ bool FmFormView::KeyInput(const KeyEvent& rKEvt, vcl::Window* pWin)
// tdf#139804 Allow selecting form controls with Alt-<Mnemonic>
if (rKeyCode.IsMod2() && rKeyCode.GetCode())
{
- FmFormPage* pCurPage = GetCurPage();
- for (size_t a = 0; a < pCurPage->GetObjCount(); ++a)
+ if (FmFormPage* pCurPage = GetCurPage())
{
- SdrObject* pObj = pCurPage->GetObj(a);
- FmFormObj* pFormObject = FmFormObj::GetFormObject(pObj);
- if (!pFormObject)
- continue;
-
- Reference<awt::XControl> xControl = pFormObject->GetUnoControl(*this, *pWin);
- if (!xControl.is())
- continue;
- const vcl::I18nHelper& rI18nHelper = Application::GetSettings().GetUILocaleI18nHelper();
- VclPtr<vcl::Window> pWindow = VCLUnoHelper::GetWindow(xControl->getPeer());
- if (rI18nHelper.MatchMnemonic(pWindow->GetText(), rKEvt.GetCharCode()))
+ for (size_t a = 0; a < pCurPage->GetObjCount(); ++a)
{
- pWindow->GrabFocus();
- bDone = true;
- break;
+ SdrObject* pObj = pCurPage->GetObj(a);
+ FmFormObj* pFormObject = FmFormObj::GetFormObject(pObj);
+ if (!pFormObject)
+ continue;
+
+ Reference<awt::XControl> xControl = pFormObject->GetUnoControl(*this, *pWin);
+ if (!xControl.is())
+ continue;
+ const vcl::I18nHelper& rI18nHelper = Application::GetSettings().GetUILocaleI18nHelper();
+ VclPtr<vcl::Window> pWindow = VCLUnoHelper::GetWindow(xControl->getPeer());
+ if (rI18nHelper.MatchMnemonic(pWindow->GetText(), rKEvt.GetCharCode()))
+ {
+ pWindow->GrabFocus();
+ bDone = true;
+ break;
+ }
}
}
}
commit 60c8520ed1986c5336dde8eff8be0947a579b51c
Author: Miklos Vajna <vmiklos at collabora.com>
AuthorDate: Mon Apr 19 20:27:32 2021 +0200
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Wed Apr 21 21:07:37 2021 +0200
tdf#122962 DOCX drawingML export: fix polygon shape in group shape
Regression from commit cfb5b20cdc230320ff9f864d1cfd81aaea221da0
(DocxAttributeOutput::OutputFlyFrame_Impl: enable DML export by default,
2013-12-18), there were two problems here.
First, <a:chOff> and <a:chExt> was not written for docx group shapes.
This can be done for toplevel shapes just by writing what would be the
shape position and size (but for docx, we don't write the size).
Second, (poly)polygon shapes used the bounding rectangle of their points
as size, which doesn't necessarily match the shape size. Given that the
group shape is meant to simply contain its children in LibreOffice (and
not have an own size), switch to using the UNO API for polygon shapes as
well, that way the two sizes will always match.
Change-Id: I4406ddefe5f6105aa2fc74d805359add452936bb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114305
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos at collabora.com>
(cherry picked from commit 4cb71fefc61d9015a0142f3a4fdafc5250913f2c)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114279
Reviewed-by: Michael Stahl <michael.stahl at allotropia.de>
diff --git a/include/oox/export/drawingml.hxx b/include/oox/export/drawingml.hxx
index 0a42eb84f001..00049fd94103 100644
--- a/include/oox/export/drawingml.hxx
+++ b/include/oox/export/drawingml.hxx
@@ -250,7 +250,7 @@ public:
void WriteShapeTransformation(const css::uno::Reference< css::drawing::XShape >& rXShape,
sal_Int32 nXmlNamespace, bool bFlipH = false, bool bFlipV = false, bool bSuppressRotation = false, bool bSuppressFlipping = false, bool bFlippedBeforeRotation = false);
- void WriteTransformation(const tools::Rectangle& rRectangle,
+ void WriteTransformation(const css::uno::Reference< css::drawing::XShape >& xShape, const tools::Rectangle& rRectangle,
sal_Int32 nXmlNamespace, bool bFlipH = false, bool bFlipV = false, sal_Int32 nRotation = 0, bool bIsGroupShape = false);
void WriteText( const css::uno::Reference< css::uno::XInterface >& rXIface, bool bBodyPr, bool bText = true, sal_Int32 nXmlNamespace = 0);
diff --git a/oox/CppunitTest_oox_export.mk b/oox/CppunitTest_oox_export.mk
new file mode 100644
index 000000000000..011ce3d2a5de
--- /dev/null
+++ b/oox/CppunitTest_oox_export.mk
@@ -0,0 +1,46 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#*************************************************************************
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+#*************************************************************************
+
+$(eval $(call gb_CppunitTest_CppunitTest,oox_export))
+
+$(eval $(call gb_CppunitTest_use_externals,oox_export,\
+ boost_headers \
+ libxml2 \
+))
+
+$(eval $(call gb_CppunitTest_add_exception_objects,oox_export, \
+ oox/qa/unit/export \
+))
+
+$(eval $(call gb_CppunitTest_use_libraries,oox_export, \
+ comphelper \
+ cppu \
+ oox \
+ sal \
+ test \
+ unotest \
+ utl \
+))
+
+$(eval $(call gb_CppunitTest_use_sdk_api,oox_export))
+
+$(eval $(call gb_CppunitTest_use_ure,oox_export))
+$(eval $(call gb_CppunitTest_use_vcl,oox_export))
+
+$(eval $(call gb_CppunitTest_use_rdb,oox_export,services))
+
+$(eval $(call gb_CppunitTest_use_custom_headers,oox_export,\
+ officecfg/registry \
+))
+
+$(eval $(call gb_CppunitTest_use_configuration,oox_export))
+
+# vim: set noet sw=4 ts=4:
diff --git a/oox/Module_oox.mk b/oox/Module_oox.mk
index ed85ee68da2d..75ef85051f85 100644
--- a/oox/Module_oox.mk
+++ b/oox/Module_oox.mk
@@ -29,6 +29,7 @@ $(eval $(call gb_Module_add_check_targets,oox,\
CppunitTest_oox_drawingml \
CppunitTest_oox_vml \
CppunitTest_oox_shape \
+ CppunitTest_oox_export \
))
# vim: set noet sw=4 ts=4:
diff --git a/oox/qa/unit/data/dml-groupshape-polygon.docx b/oox/qa/unit/data/dml-groupshape-polygon.docx
new file mode 100644
index 000000000000..6d20b0342f68
Binary files /dev/null and b/oox/qa/unit/data/dml-groupshape-polygon.docx differ
diff --git a/oox/qa/unit/export.cxx b/oox/qa/unit/export.cxx
new file mode 100644
index 000000000000..6e6620ab63a4
--- /dev/null
+++ b/oox/qa/unit/export.cxx
@@ -0,0 +1,157 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#include <test/bootstrapfixture.hxx>
+#include <unotest/macros_test.hxx>
+#include <test/xmltesttools.hxx>
+
+#include <com/sun/star/frame/Desktop.hpp>
+#include <com/sun/star/frame/XStorable.hpp>
+#include <com/sun/star/packages/zip/ZipFileAccess.hpp>
+
+#include <unotools/mediadescriptor.hxx>
+#include <unotools/tempfile.hxx>
+#include <unotools/ucbstreamhelper.hxx>
+
+using namespace ::com::sun::star;
+
+namespace
+{
+/// Covers ooox/source/export/ fixes.
+class Test : public test::BootstrapFixture, public unotest::MacrosTest, public XmlTestTools
+{
+private:
+ uno::Reference<lang::XComponent> mxComponent;
+ utl::TempFile maTempFile;
+
+public:
+ void setUp() override;
+ void tearDown() override;
+ void registerNamespaces(xmlXPathContextPtr& pXmlXpathCtx) override;
+ utl::TempFile& getTempFile() { return maTempFile; }
+ void loadAndSave(const OUString& rURL, const OUString& rFilterName);
+};
+
+void Test::setUp()
+{
+ test::BootstrapFixture::setUp();
+
+ mxDesktop.set(frame::Desktop::create(mxComponentContext));
+}
+
+void Test::tearDown()
+{
+ if (mxComponent.is())
+ mxComponent->dispose();
+
+ test::BootstrapFixture::tearDown();
+}
+
+void Test::registerNamespaces(xmlXPathContextPtr& pXmlXpathCtx)
+{
+ xmlXPathRegisterNs(pXmlXpathCtx, BAD_CAST("w"),
+ BAD_CAST("http://schemas.openxmlformats.org/wordprocessingml/2006/main"));
+ xmlXPathRegisterNs(pXmlXpathCtx, BAD_CAST("v"), BAD_CAST("urn:schemas-microsoft-com:vml"));
+ xmlXPathRegisterNs(pXmlXpathCtx, BAD_CAST("mc"),
+ BAD_CAST("http://schemas.openxmlformats.org/markup-compatibility/2006"));
+ xmlXPathRegisterNs(
+ pXmlXpathCtx, BAD_CAST("wps"),
+ BAD_CAST("http://schemas.microsoft.com/office/word/2010/wordprocessingShape"));
+ xmlXPathRegisterNs(
+ pXmlXpathCtx, BAD_CAST("wpg"),
+ BAD_CAST("http://schemas.microsoft.com/office/word/2010/wordprocessingGroup"));
+ xmlXPathRegisterNs(
+ pXmlXpathCtx, BAD_CAST("wp"),
+ BAD_CAST("http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing"));
+ xmlXPathRegisterNs(
+ pXmlXpathCtx, BAD_CAST("wp14"),
+ BAD_CAST("http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing"));
+ xmlXPathRegisterNs(pXmlXpathCtx, BAD_CAST("a"),
+ BAD_CAST("http://schemas.openxmlformats.org/drawingml/2006/main"));
+ xmlXPathRegisterNs(pXmlXpathCtx, BAD_CAST("pic"),
+ BAD_CAST("http://schemas.openxmlformats.org/drawingml/2006/picture"));
+ xmlXPathRegisterNs(pXmlXpathCtx, BAD_CAST("rels"),
+ BAD_CAST("http://schemas.openxmlformats.org/package/2006/relationships"));
+ xmlXPathRegisterNs(pXmlXpathCtx, BAD_CAST("w14"),
+ BAD_CAST("http://schemas.microsoft.com/office/word/2010/wordml"));
+ xmlXPathRegisterNs(pXmlXpathCtx, BAD_CAST("m"),
+ BAD_CAST("http://schemas.openxmlformats.org/officeDocument/2006/math"));
+ xmlXPathRegisterNs(pXmlXpathCtx, BAD_CAST("ContentType"),
+ BAD_CAST("http://schemas.openxmlformats.org/package/2006/content-types"));
+ xmlXPathRegisterNs(pXmlXpathCtx, BAD_CAST("lc"),
+ BAD_CAST("http://schemas.openxmlformats.org/drawingml/2006/lockedCanvas"));
+ xmlXPathRegisterNs(
+ pXmlXpathCtx, BAD_CAST("cp"),
+ BAD_CAST("http://schemas.openxmlformats.org/package/2006/metadata/core-properties"));
+ xmlXPathRegisterNs(
+ pXmlXpathCtx, BAD_CAST("extended-properties"),
+ BAD_CAST("http://schemas.openxmlformats.org/officeDocument/2006/extended-properties"));
+ xmlXPathRegisterNs(
+ pXmlXpathCtx, BAD_CAST("custom-properties"),
+ BAD_CAST("http://schemas.openxmlformats.org/officeDocument/2006/custom-properties"));
+ xmlXPathRegisterNs(
+ pXmlXpathCtx, BAD_CAST("vt"),
+ BAD_CAST("http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"));
+ xmlXPathRegisterNs(pXmlXpathCtx, BAD_CAST("dcterms"), BAD_CAST("http://purl.org/dc/terms/"));
+ xmlXPathRegisterNs(pXmlXpathCtx, BAD_CAST("a14"),
+ BAD_CAST("http://schemas.microsoft.com/office/drawing/2010/main"));
+ xmlXPathRegisterNs(pXmlXpathCtx, BAD_CAST("c"),
+ BAD_CAST("http://schemas.openxmlformats.org/drawingml/2006/chart"));
+ xmlXPathRegisterNs(pXmlXpathCtx, BAD_CAST("o"),
+ BAD_CAST("urn:schemas-microsoft-com:office:office"));
+ xmlXPathRegisterNs(pXmlXpathCtx, BAD_CAST("w10"),
+ BAD_CAST("urn:schemas-microsoft-com:office:word"));
+}
+
+void Test::loadAndSave(const OUString& rURL, const OUString& rFilterName)
+{
+ mxComponent = loadFromDesktop(rURL);
+ uno::Reference<frame::XStorable> xStorable(mxComponent, uno::UNO_QUERY);
+ utl::MediaDescriptor aMediaDescriptor;
+ aMediaDescriptor["FilterName"] <<= rFilterName;
+ maTempFile.EnableKillingFile();
+ xStorable->storeToURL(maTempFile.GetURL(), aMediaDescriptor.getAsConstPropertyValueList());
+ mxComponent->dispose();
+ mxComponent.clear();
+ // too many DOCX validation errors right now
+ if (rFilterName != "Office Open XML Text")
+ {
+ validate(maTempFile.GetFileName(), test::OOXML);
+ }
+}
+
+constexpr OUStringLiteral DATA_DIRECTORY = u"/oox/qa/unit/data/";
+
+CPPUNIT_TEST_FIXTURE(Test, testDmlGroupshapePolygon)
+{
+ // Given a document with a group shape, containing a single polygon child shape:
+ OUString aURL = m_directories.getURLFromSrc(DATA_DIRECTORY) + "dml-groupshape-polygon.docx";
+
+ // When saving that to DOCX:
+ loadAndSave(aURL, "Office Open XML Text");
+
+ // Then make sure that the group shape, the group shape's child size and the child shape's size
+ // match:
+ uno::Reference<packages::zip::XZipFileAccess2> xNameAccess
+ = packages::zip::ZipFileAccess::createWithURL(mxComponentContext, getTempFile().GetURL());
+ uno::Reference<io::XInputStream> xInputStream(xNameAccess->getByName("word/document.xml"),
+ uno::UNO_QUERY);
+ std::unique_ptr<SvStream> pStream(utl::UcbStreamHelper::CreateStream(xInputStream, true));
+ xmlDocUniquePtr pXmlDoc = parseXmlStream(pStream.get());
+ assertXPath(pXmlDoc, "//wpg:grpSpPr/a:xfrm/a:ext", "cx", "5328360");
+ // Without the accompanying fix in place, this test would have failed, the <a:chExt> element was
+ // not written.
+ assertXPath(pXmlDoc, "//wpg:grpSpPr/a:xfrm/a:chExt", "cx", "5328360");
+ assertXPath(pXmlDoc, "//wps:spPr/a:xfrm/a:ext", "cx", "5328360");
+}
+}
+
+CPPUNIT_PLUGIN_IMPLEMENT();
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx
index 94b67cb379f2..8cfd4a6dabc5 100644
--- a/oox/source/export/drawingml.cxx
+++ b/oox/source/export/drawingml.cxx
@@ -1686,7 +1686,22 @@ void DrawingML::WriteXGraphicStretch(uno::Reference<beans::XPropertySet> const &
mpFS->endElementNS(XML_a, XML_stretch);
}
-void DrawingML::WriteTransformation(const tools::Rectangle& rRect,
+namespace
+{
+bool IsTopGroupObj(const uno::Reference<drawing::XShape>& xShape)
+{
+ SdrObject* pObject = GetSdrObjectFromXShape(xShape);
+ if (!pObject)
+ return false;
+
+ if (pObject->getParentSdrObjectFromSdrObject())
+ return false;
+
+ return pObject->IsGroupObject();
+}
+}
+
+void DrawingML::WriteTransformation(const Reference< XShape >& xShape, const tools::Rectangle& rRect,
sal_Int32 nXmlNamespace, bool bFlipH, bool bFlipV, sal_Int32 nRotation, bool bIsGroupShape)
{
@@ -1696,7 +1711,9 @@ void DrawingML::WriteTransformation(const tools::Rectangle& rRect,
XML_rot, sax_fastparser::UseIf(OString::number(nRotation), nRotation % 21600000 != 0));
sal_Int32 nLeft = rRect.Left();
+ sal_Int32 nChildLeft = nLeft;
sal_Int32 nTop = rRect.Top();
+ sal_Int32 nChildTop = nTop;
if (GetDocumentType() == DOCUMENT_DOCX && !m_xParent.is())
{
nLeft = 0;
@@ -1710,11 +1727,11 @@ void DrawingML::WriteTransformation(const tools::Rectangle& rRect,
XML_cx, OString::number(oox::drawingml::convertHmmToEmu(rRect.GetWidth())),
XML_cy, OString::number(oox::drawingml::convertHmmToEmu(rRect.GetHeight())));
- if (GetDocumentType() != DOCUMENT_DOCX && bIsGroupShape)
+ if (bIsGroupShape && (GetDocumentType() != DOCUMENT_DOCX || IsTopGroupObj(xShape)))
{
mpFS->singleElementNS(XML_a, XML_chOff,
- XML_x, OString::number(oox::drawingml::convertHmmToEmu(nLeft)),
- XML_y, OString::number(oox::drawingml::convertHmmToEmu(nTop)));
+ XML_x, OString::number(oox::drawingml::convertHmmToEmu(nChildLeft)),
+ XML_y, OString::number(oox::drawingml::convertHmmToEmu(nChildTop)));
mpFS->singleElementNS(XML_a, XML_chExt,
XML_cx, OString::number(oox::drawingml::convertHmmToEmu(rRect.GetWidth())),
XML_cy, OString::number(oox::drawingml::convertHmmToEmu(rRect.GetHeight())));
@@ -1798,7 +1815,7 @@ void DrawingML::WriteShapeTransformation( const Reference< XShape >& rXShape, sa
if(bFlipH != bFlipV)
nRotation = nRotation * -1 + 36000;
- WriteTransformation(tools::Rectangle(Point(aPos.X, aPos.Y), Size(aSize.Width, aSize.Height)), nXmlNamespace,
+ WriteTransformation(rXShape, tools::Rectangle(Point(aPos.X, aPos.Y), Size(aSize.Width, aSize.Height)), nXmlNamespace,
bFlipHWrite, bFlipVWrite, ExportRotateClockwisify(nRotation + nCameraRotation), IsGroupShape( rXShape ));
}
@@ -4809,7 +4826,7 @@ void DrawingML::WriteDiagram(const css::uno::Reference<css::drawing::XShape>& rX
awt::Point aPos = xShapeBg->getPosition();
awt::Size aSize = xShapeBg->getSize();
WriteTransformation(
- tools::Rectangle(Point(aPos.X, aPos.Y), Size(aSize.Width, aSize.Height)),
+ xShapeBg, tools::Rectangle(Point(aPos.X, aPos.Y), Size(aSize.Width, aSize.Height)),
XML_p, false, false, 0, false);
}
diff --git a/oox/source/export/shapes.cxx b/oox/source/export/shapes.cxx
index aae5ed633d85..b217358b6197 100644
--- a/oox/source/export/shapes.cxx
+++ b/oox/source/export/shapes.cxx
@@ -400,7 +400,9 @@ ShapeExport& ShapeExport::WritePolyPolygonShape( const Reference< XShape >& xSha
pFS->startElementNS(mnXmlNamespace, (GetDocumentType() != DOCUMENT_DOCX ? XML_sp : XML_wsp));
tools::PolyPolygon aPolyPolygon = EscherPropertyContainer::GetPolyPolygon( xShape );
- tools::Rectangle aRect( aPolyPolygon.GetBoundRect() );
+ awt::Point aPos = xShape->getPosition();
+ awt::Size aSize = xShape->getSize();
+ tools::Rectangle aRect(Point(aPos.X, aPos.Y), Size(aSize.Width, aSize.Height));
#if OSL_DEBUG_LEVEL > 0
awt::Size size = MapSize( awt::Size( aRect.GetWidth(), aRect.GetHeight() ) );
@@ -425,7 +427,7 @@ ShapeExport& ShapeExport::WritePolyPolygonShape( const Reference< XShape >& xSha
// visual shape properties
pFS->startElementNS(mnXmlNamespace, XML_spPr);
- WriteTransformation( aRect, XML_a );
+ WriteTransformation( xShape, aRect, XML_a );
WritePolyPolygon(xShape, aPolyPolygon, bClosed);
Reference< XPropertySet > xProps( xShape, UNO_QUERY );
if( xProps.is() ) {
@@ -1344,7 +1346,7 @@ ShapeExport& ShapeExport::WriteConnectorShape( const Reference< XShape >& xShape
// visual shape properties
pFS->startElementNS(mnXmlNamespace, XML_spPr);
- WriteTransformation( aRect, XML_a, bFlipH, bFlipV );
+ WriteTransformation( xShape, aRect, XML_a, bFlipH, bFlipV );
// TODO: write adjustments (ppt export doesn't work well there either)
WritePresetShape( sGeometry );
Reference< XPropertySet > xShapeProps( xShape, UNO_QUERY );
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport6.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport6.cxx
index d7bdc09c0c34..a8477c523e53 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport6.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport6.cxx
@@ -126,11 +126,11 @@ DECLARE_OOXMLEXPORT_EXPORTONLY_TEST(testDmlTextshapeB, "dml-textshapeB.docx")
uno::Reference<drawing::XShape> xShape(xGroup->getByIndex(3), uno::UNO_QUERY);
// Connector was incorrectly shifted towards the top left corner, X was 192, Y was -5743.
CPPUNIT_ASSERT_EQUAL(sal_Int32(3778), xShape->getPosition().X);
- CPPUNIT_ASSERT_EQUAL(sal_Int32(-5064), xShape->getPosition().Y);
+ CPPUNIT_ASSERT_EQUAL(sal_Int32(-5066), xShape->getPosition().Y);
xShape.set(xGroup->getByIndex(5), uno::UNO_QUERY);
// This was incorrectly shifted towards the top of the page, Y was -5011.
- CPPUNIT_ASSERT_EQUAL(sal_Int32(-4713), xShape->getPosition().Y);
+ CPPUNIT_ASSERT_EQUAL(sal_Int32(-4715), xShape->getPosition().Y);
}
DECLARE_OOXMLEXPORT_TEST(testDMLSolidfillAlpha, "dml-solidfill-alpha.docx")
commit 7d52bad2d83b23ef005123cb133f9ef60a4cfd43
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Tue Apr 20 14:01:17 2021 +0100
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Wed Apr 21 21:07:36 2021 +0200
setting vertical when horizontal wanted
Change-Id: If0dbf943ea6db350f691c867d425603e86ccdd4f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114289
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl at allotropia.de>
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
index 701a5af9a63e..681efd1bde0c 100644
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
@@ -5879,7 +5879,7 @@ public:
{
GtkPolicyType eGtkVPolicy;
gtk_scrolled_window_get_policy(m_pScrolledWindow, nullptr, &eGtkVPolicy);
- gtk_scrolled_window_set_policy(m_pScrolledWindow, eGtkVPolicy, VclToGtk(eHPolicy));
+ gtk_scrolled_window_set_policy(m_pScrolledWindow, VclToGtk(eHPolicy), eGtkVPolicy);
}
virtual VclPolicyType get_hpolicy() const override
commit 04e9aa029c573d3707ebe76da66f4848b3a8caa7
Author: Mark Hung <marklh9 at gmail.com>
AuthorDate: Wed Apr 14 22:30:06 2021 +0800
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Wed Apr 21 21:07:36 2021 +0200
tdf#131634 Don't redo actions created before text edit begins.
In SdrObjEditView::SdrEndTextEdit(), pSdrUndoManager->Redo() was
invoked until all the redo actions created after text edit began
were converted to undo actions.
Without checking, all the redo actions include the ones created
before text edit began were moved to undo stack, and caused the
SdrTextObj to be destroyed in SdrUndoManager::SetEndTextEditHdl
when removing the undo actions and a use after release problem.
The patch add GetRedoActionCountBeforeTextEdit() so the program
won't invoke pSdrUndoManager->Redo() on actions created before
text edit begin.
Change-Id: Ic010bc6e71ee78ef2cb20a5259dc9d6d6579ccaa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114102
Tested-by: Jenkins
Reviewed-by: Mark Hung <marklh9 at gmail.com>
(cherry picked from commit 7a641c71f8191e83bb6c408d3ff51a58d7dd4af9)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114360
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Reviewed-by: Michael Stahl <michael.stahl at allotropia.de>
diff --git a/include/svx/sdrundomanager.hxx b/include/svx/sdrundomanager.hxx
index 12fa1c7b3852..9ff23e441c54 100644
--- a/include/svx/sdrundomanager.hxx
+++ b/include/svx/sdrundomanager.hxx
@@ -33,6 +33,7 @@ private:
Link<SdrUndoManager*, void> maEndTextEditHdl;
SfxUndoAction* mpLastUndoActionBeforeTextEdit;
+ size_t mnRedoActionCountBeforeTextEdit;
bool mbEndTextEditTriggeredFromUndo;
SfxObjectShell* m_pDocSh;
@@ -64,6 +65,7 @@ public:
// by a last undo during text edit
bool isEndTextEditTriggeredFromUndo() const { return mbEndTextEditTriggeredFromUndo; }
void SetDocShell(SfxObjectShell* pDocShell);
+ size_t GetRedoActionCountBeforeTextEdit() const { return mnRedoActionCountBeforeTextEdit; }
};
#endif // INCLUDED_SVX_SDRUNDOMANAGER_HXX
diff --git a/svx/source/svdraw/sdrundomanager.cxx b/svx/source/svdraw/sdrundomanager.cxx
index 1e64a1a89482..8b1f19fbecfa 100644
--- a/svx/source/svdraw/sdrundomanager.cxx
+++ b/svx/source/svdraw/sdrundomanager.cxx
@@ -25,6 +25,7 @@ SdrUndoManager::SdrUndoManager()
: EditUndoManager(20 /*nMaxUndoActionCount*/)
, maEndTextEditHdl()
, mpLastUndoActionBeforeTextEdit(nullptr)
+ , mnRedoActionCountBeforeTextEdit(0)
, mbEndTextEditTriggeredFromUndo(false)
, m_pDocSh(nullptr)
{
@@ -107,6 +108,7 @@ void SdrUndoManager::SetEndTextEditHdl(const Link<SdrUndoManager*, void>& rLink)
{
// text edit start, remember last non-textedit action for later cleanup
mpLastUndoActionBeforeTextEdit = GetUndoActionCount() ? GetUndoAction() : nullptr;
+ mnRedoActionCountBeforeTextEdit = GetRedoActionCount();
}
else
{
@@ -123,6 +125,7 @@ void SdrUndoManager::SetEndTextEditHdl(const Link<SdrUndoManager*, void>& rLink)
// forget marker again
mpLastUndoActionBeforeTextEdit = nullptr;
+ mnRedoActionCountBeforeTextEdit = 0;
}
}
diff --git a/svx/source/svdraw/svdedxv.cxx b/svx/source/svdraw/svdedxv.cxx
index 0957eb9519b4..0dc6aad1fa3b 100644
--- a/svx/source/svdraw/svdedxv.cxx
+++ b/svx/source/svdraw/svdedxv.cxx
@@ -1438,7 +1438,8 @@ SdrEndTextEditKind SdrObjEditView::SdrEndTextEdit(bool bDontDeleteReally)
// to create a complete text change undo action for the redo buffer. Also mark this
// state when at least one redo was executed; the created extra TextChange needs to
// be undone in addition to the first real undo outside the text edit changes
- while (pSdrUndoManager->GetRedoActionCount())
+ while (pSdrUndoManager->GetRedoActionCount()
+ > pSdrUndoManager->GetRedoActionCountBeforeTextEdit())
{
bNeedToUndoSavedRedoTextEdit = true;
pSdrUndoManager->Redo();
commit 5802d15f993b219528fb304932c94b2f2f6fd9c4
Author: Gabor Kelemen <kelemen.gabor2 at nisz.hu>
AuthorDate: Wed Apr 7 17:42:36 2021 +0200
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Wed Apr 21 21:07:35 2021 +0200
tdf#141538 Make Remove button work in Select Address List dialog
... of the Mail Merge Wizard with non-GTK3 backends
This works around the different return value of
TreeView::get_selected_text()
Change-Id: Id7542f8e73731ffe5d133703f0bd0d0ebf26b89f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113747
Tested-by: Jenkins
Tested-by: László Németh <nemeth at numbertext.org>
Reviewed-by: László Németh <nemeth at numbertext.org>
(cherry picked from commit a258d42c77c3ce65a9455d08dc6106310222bc7b)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114181
Reviewed-by: Xisco Fauli <xiscofauli at libreoffice.org>
diff --git a/sw/source/ui/dbui/addresslistdialog.cxx b/sw/source/ui/dbui/addresslistdialog.cxx
index f30a39a26080..f57e5a2b01e4 100644
--- a/sw/source/ui/dbui/addresslistdialog.cxx
+++ b/sw/source/ui/dbui/addresslistdialog.cxx
@@ -52,6 +52,7 @@
#include <svl/urihelper.hxx>
#include <strings.hrc>
#include <view.hxx>
+#include <comphelper/string.hxx>
using namespace ::com::sun::star;
using namespace ::com::sun::star::uno;
@@ -304,8 +305,11 @@ IMPL_LINK_NOARG(SwAddressListDialog, RemoveHdl_Impl, weld::Button&, void)
if (xQuery->run() != RET_YES)
return;
+ // tdf#141538: Split content of TreeView row to make removal work on non-GTK vclplugs
+ std::vector<OUString> aSplitColumns = comphelper::string::split(m_xListLB->get_selected_text(), '\t');
+
// Remove data source connection
- SwDBManager::RevokeDataSource(m_xListLB->get_selected_text());
+ SwDBManager::RevokeDataSource(aSplitColumns.front());
// Remove item from the list
m_xListLB->remove(nEntry);
// If this was the last item, disable the Remove & Edit buttons and enable Create
commit 3488a273d6da16c82280e1f0e65f3119db22d325
Author: Tünde Tóth <toth.tunde at nisz.hu>
AuthorDate: Tue Apr 13 14:16:26 2021 +0200
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Wed Apr 21 21:07:35 2021 +0200
tdf#93664 sc: fix filtering clicking on cells merged horizontally
Click on the filter button of cells merged horizontally
showed the "Empty" entry instead of the filter list.
Pressing Alt-Down (.uno:DataSelect) worked correctly here,
so only mouse handling was broken. This was a regression
from commit aaab3a79dfd762a64fa4c1d19dd29ae46c0b9dd0
"Resolves: #i120017, filter button is not shown in merged cell"
(which fixed filtering clicking on cells merged vertically).
Partial revert of that commit sets the correct
first column in the merged range again instead of the last one.
Change-Id: I83724f18580134868867bc829cad0739f0932733
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114050
Tested-by: László Németh <nemeth at numbertext.org>
Reviewed-by: László Németh <nemeth at numbertext.org>
(cherry picked from commit b7d8ee083230964de2e1580c4639ee4cd307207f)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114353
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli at libreoffice.org>
diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx
index 3367a34bc573..6f12a291d5d6 100644
--- a/sc/source/ui/view/gridwin.cxx
+++ b/sc/source/ui/view/gridwin.cxx
@@ -1752,14 +1752,17 @@ void ScGridWindow::HandleMouseButtonDown( const MouseEvent& rMEvt, MouseEventSta
SCCOL nRealPosX;
SCROW nRealPosY;
mrViewData.GetPosFromPixel( aPos.X(), aPos.Y(), eWhich, nRealPosX, nRealPosY, false );//the real row/col
- const ScMergeFlagAttr* pRealPosAttr = rDoc.GetAttr( nRealPosX, nRealPosY, nTab, ATTR_MERGE_FLAG );
- const ScMergeFlagAttr* pAttr = rDoc.GetAttr( nPosX, nPosY, nTab, ATTR_MERGE_FLAG );
+
+ // show in the merged cells the filter of the first cell (nPosX instead of nRealPosX)
+ const ScMergeFlagAttr* pRealPosAttr = rDoc.GetAttr(nPosX, nRealPosY, nTab, ATTR_MERGE_FLAG);
if( pRealPosAttr->HasAutoFilter() )
{
SC_MOD()->InputEnterHandler();
- if (DoAutoFilterButton( nRealPosX, nRealPosY, rMEvt))
+ if (DoAutoFilterButton(nPosX, nRealPosY, rMEvt))
return;
}
+
+ const ScMergeFlagAttr* pAttr = rDoc.GetAttr(nPosX, nPosY, nTab, ATTR_MERGE_FLAG);
if (pAttr->HasAutoFilter())
{
if (DoAutoFilterButton(nPosX, nPosY, rMEvt))
commit c880651ac79279ae04e2bef686a05af1961a00c5
Author: Stephan Bergmann <sbergman at redhat.com>
AuthorDate: Tue Apr 20 15:44:18 2021 +0200
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Wed Apr 21 21:07:34 2021 +0200
Better handling of filelocs
Change-Id: Ic9c06cb476942ceb7d0166f22103e2e88cc9c21f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114339
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
(cherry picked from commit 177dcfec4e833f83f1f11c7bdbfc6f1977ebcee7)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114356
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/shell/source/unix/exec/shellexec.cxx b/shell/source/unix/exec/shellexec.cxx
index bbd614a66355..9ec32a35f630 100644
--- a/shell/source/unix/exec/shellexec.cxx
+++ b/shell/source/unix/exec/shellexec.cxx
@@ -137,6 +137,7 @@ void SAL_CALL ShellExec::execute( const OUString& aCommand, const OUString& aPar
throw css::lang::IllegalArgumentException(
"XSystemShellExecute.execute, cannot process <" + aCommand + ">", {}, 0);
} else if (pathname.endsWithIgnoreAsciiCase(".class")
+ || pathname.endsWithIgnoreAsciiCase(".fileloc")
|| pathname.endsWithIgnoreAsciiCase(".jar"))
{
dir = true;
commit 255525e0d0a7fe6d6f334ef010e09771deedcf5d
Author: Katarina Behrens <bubli at bubli.org>
AuthorDate: Sat Apr 17 14:10:56 2021 +0200
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Wed Apr 21 21:07:34 2021 +0200
tdf#48551: change preset subtype of Fly Out and Crawl Out exit animations
so that they match the behaviour (it is fly out 'to left', 'to right'
etc. instead of 'from left', 'from right')
This change only affects animation direction choices in GUI (sidebar)
and doesn't modify the animation itself in any way
Change-Id: Id5dd8013f388243c1c862177cfa7c6f106b9d09c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114226
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <bubli at bubli.org>
(cherry picked from commit 398c13f84b1977acf2c63f2159cf0255b3494bdc)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114190
Reviewed-by: Xisco Fauli <xiscofauli at libreoffice.org>
diff --git a/sd/xml/effects.xml b/sd/xml/effects.xml
index 08a874d6a8c9..973cac85b65f 100644
--- a/sd/xml/effects.xml
+++ b/sd/xml/effects.xml
@@ -1406,7 +1406,7 @@
</anim:par>
<anim:par smil:begin="indefinite" smil:fill="hold">
<anim:par smil:begin="0" smil:fill="hold">
- <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-crawl-out" pres:preset-sub-type="from-bottom">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-crawl-out" pres:preset-sub-type="to-bottom">
<anim:animate smil:dur="5" smil:attributeName="x" smil:values="x;x" smil:keyTimes="0;1"/>
<anim:animate smil:dur="5" smil:attributeName="y" smil:values="y;1+height/2" smil:keyTimes="0;1"/>
<anim:set smil:begin="4.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
@@ -1415,7 +1415,7 @@
</anim:par>
<anim:par smil:begin="indefinite" smil:fill="hold">
<anim:par smil:begin="0" smil:fill="hold">
- <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-crawl-out" pres:preset-sub-type="from-left">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-crawl-out" pres:preset-sub-type="to-left">
<anim:animate smil:dur="5" smil:attributeName="x" smil:values="x;0-width/2" smil:keyTimes="0;1"/>
<anim:animate smil:dur="5" smil:attributeName="y" smil:values="y;y" smil:keyTimes="0;1"/>
<anim:set smil:begin="4.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
@@ -1424,7 +1424,7 @@
</anim:par>
<anim:par smil:begin="indefinite" smil:fill="hold">
<anim:par smil:begin="0" smil:fill="hold">
- <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-crawl-out" pres:preset-sub-type="from-right">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-crawl-out" pres:preset-sub-type="to-right">
<anim:animate smil:dur="5" smil:attributeName="x" smil:values="x;1+width/2" smil:keyTimes="0;1"/>
<anim:animate smil:dur="5" smil:attributeName="y" smil:values="y;y" smil:keyTimes="0;1"/>
<anim:set smil:begin="4.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
@@ -1433,7 +1433,7 @@
</anim:par>
<anim:par smil:begin="indefinite" smil:fill="hold">
<anim:par smil:begin="0" smil:fill="hold">
- <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-crawl-out" pres:preset-sub-type="from-top">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-crawl-out" pres:preset-sub-type="to-top">
<anim:animate smil:dur="5" smil:attributeName="x" smil:values="x;x" smil:keyTimes="0;1"/>
<anim:animate smil:dur="5" smil:attributeName="y" smil:values="y;0-height/2" smil:keyTimes="0;1"/>
<anim:set smil:begin="4.999" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
@@ -1481,7 +1481,7 @@
</anim:par>
<anim:par smil:begin="indefinite" smil:fill="hold">
<anim:par smil:begin="0" smil:fill="hold">
- <anim:par pres:preset-property="Direction;Accelerate;Decelerate" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-fly-out" pres:preset-sub-type="from-bottom">
+ <anim:par pres:preset-property="Direction;Accelerate;Decelerate" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-fly-out" pres:preset-sub-type="to-bottom">
<anim:animate smil:dur="0.5" smil:attributeName="x" smil:values="x;x" smil:keyTimes="0;1"/>
<anim:animate smil:dur="0.5" smil:attributeName="y" smil:values="y;1+height/2" smil:keyTimes="0;1"/>
<anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
@@ -1490,7 +1490,7 @@
</anim:par>
<anim:par smil:begin="indefinite" smil:fill="hold">
<anim:par smil:begin="0" smil:fill="hold">
- <anim:par pres:preset-property="Direction;Accelerate;Decelerate" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-fly-out" pres:preset-sub-type="from-left">
+ <anim:par pres:preset-property="Direction;Accelerate;Decelerate" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-fly-out" pres:preset-sub-type="to-left">
<anim:animate smil:dur="0.5" smil:attributeName="x" smil:values="x;0-width/2" smil:keyTimes="0;1"/>
<anim:animate smil:dur="0.5" smil:attributeName="y" smil:values="y;y" smil:keyTimes="0;1"/>
<anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
@@ -1499,7 +1499,7 @@
</anim:par>
<anim:par smil:begin="indefinite" smil:fill="hold">
<anim:par smil:begin="0" smil:fill="hold">
- <anim:par pres:preset-property="Direction;Accelerate;Decelerate" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-fly-out" pres:preset-sub-type="from-right">
+ <anim:par pres:preset-property="Direction;Accelerate;Decelerate" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-fly-out" pres:preset-sub-type="to-right">
<anim:animate smil:dur="0.5" smil:attributeName="x" smil:values="x;1+width/2" smil:keyTimes="0;1"/>
<anim:animate smil:dur="0.5" smil:attributeName="y" smil:values="y;y" smil:keyTimes="0;1"/>
<anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
@@ -1508,7 +1508,7 @@
</anim:par>
<anim:par smil:begin="indefinite" smil:fill="hold">
<anim:par smil:begin="0" smil:fill="hold">
- <anim:par pres:preset-property="Direction;Accelerate;Decelerate" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-fly-out" pres:preset-sub-type="from-top">
+ <anim:par pres:preset-property="Direction;Accelerate;Decelerate" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-fly-out" pres:preset-sub-type="to-top">
<anim:animate smil:dur="0.5" smil:attributeName="x" smil:values="x;x" smil:keyTimes="0;1"/>
<anim:animate smil:dur="0.5" smil:attributeName="y" smil:values="y;0-height/2" smil:keyTimes="0;1"/>
<anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
@@ -1517,7 +1517,7 @@
</anim:par>
<anim:par smil:begin="indefinite" smil:fill="hold">
<anim:par smil:begin="0" smil:fill="hold">
- <anim:par pres:preset-property="Direction;Accelerate;Decelerate" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-fly-out" pres:preset-sub-type="from-bottom-left">
+ <anim:par pres:preset-property="Direction;Accelerate;Decelerate" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-fly-out" pres:preset-sub-type="to-bottom-left">
<anim:animate smil:dur="0.5" smil:attributeName="x" smil:values="x;0-width/2" smil:keyTimes="0;1"/>
<anim:animate smil:dur="0.5" smil:attributeName="y" smil:values="y;1+height/2" smil:keyTimes="0;1"/>
<anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
@@ -1526,7 +1526,7 @@
</anim:par>
<anim:par smil:begin="indefinite" smil:fill="hold">
<anim:par smil:begin="0" smil:fill="hold">
- <anim:par pres:preset-property="Direction;Accelerate;Decelerate" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-fly-out" pres:preset-sub-type="from-bottom-right">
+ <anim:par pres:preset-property="Direction;Accelerate;Decelerate" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-fly-out" pres:preset-sub-type="to-bottom-right">
<anim:animate smil:dur="0.5" smil:attributeName="x" smil:values="x;1+width/2" smil:keyTimes="0;1"/>
<anim:animate smil:dur="0.5" smil:attributeName="y" smil:values="y;1+height/2" smil:keyTimes="0;1"/>
<anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
@@ -1535,7 +1535,7 @@
</anim:par>
<anim:par smil:begin="indefinite" smil:fill="hold">
<anim:par smil:begin="0" smil:fill="hold">
- <anim:par pres:preset-property="Direction;Accelerate;Decelerate" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-fly-out" pres:preset-sub-type="from-top-left">
+ <anim:par pres:preset-property="Direction;Accelerate;Decelerate" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-fly-out" pres:preset-sub-type="to-top-left">
<anim:animate smil:dur="0.5" smil:attributeName="x" smil:values="x;0-width/2" smil:keyTimes="0;1"/>
<anim:animate smil:dur="0.5" smil:attributeName="y" smil:values="y;0-height/2" smil:keyTimes="0;1"/>
<anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
@@ -1544,7 +1544,7 @@
</anim:par>
<anim:par smil:begin="indefinite" smil:fill="hold">
<anim:par smil:begin="0" smil:fill="hold">
- <anim:par pres:preset-property="Direction;Accelerate;Decelerate" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-fly-out" pres:preset-sub-type="from-top-right">
+ <anim:par pres:preset-property="Direction;Accelerate;Decelerate" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="exit" pres:preset-id="ooo-exit-fly-out" pres:preset-sub-type="to-top-right">
<anim:animate smil:dur="0.5" smil:attributeName="x" smil:values="x;1+width/2" smil:keyTimes="0;1"/>
<anim:animate smil:dur="0.5" smil:attributeName="y" smil:values="y;0-height/2" smil:keyTimes="0;1"/>
<anim:set smil:begin="0.499" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="hidden"/>
commit 9b9dfd1a7e11b1f949da43f383aca6395817e70b
Author: Luboš Luňák <l.lunak at centrum.cz>
AuthorDate: Tue Apr 20 09:48:25 2021 +0000
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Wed Apr 21 21:07:33 2021 +0200
fix too wide glyphs with Skia/GDI if horizontal scale is used (tdf#141715)
Change-Id: I7b06b64e04313493f48b7224fbc4883356feda95
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114327
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak at collabora.com>
(cherry picked from commit 764360df78535befcc4806736fcbaedbe0e34ea1)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114284
Reviewed-by: Adolfo Jayme Barrientos <fitojb at ubuntu.com>
diff --git a/vcl/skia/win/gdiimpl.cxx b/vcl/skia/win/gdiimpl.cxx
index b609581e1e84..d35cf91232ac 100644
--- a/vcl/skia/win/gdiimpl.cxx
+++ b/vcl/skia/win/gdiimpl.cxx
@@ -213,6 +213,12 @@ bool WinSkiaSalGraphicsImpl::DrawTextLayout(const GenericSalLayout& rLayout)
GlyphOrientation glyphOrientation = GlyphOrientation::Apply;
if (!typeface) // fall back to GDI text rendering
{
+ // If lfWidth is kept, then with fHScale != 1 characters get too wide, presumably
+ // because the horizontal scaling gets applied twice if GDI is used for drawing (tdf#141715).
+ // Using lfWidth /= fHScale gives slightly incorrect sizes, for a reason I don't understand.
+ // LOGFONT docs say that 0 means GDI will find out the right value on its own somehow,
+ // and it apparently works.
+ logFont.lfWidth = 0;
typeface.reset(SkCreateTypefaceFromLOGFONT(logFont));
glyphOrientation = GlyphOrientation::Ignore;
}
commit 7f963046111c881c819016e35e34064e15ce3459
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Tue Apr 20 10:44:17 2021 +0100
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Wed Apr 21 21:07:33 2021 +0200
Resolves: tdf#141770 remove empty tag
Change-Id: I0e6c1b36c145c0eb464867e7a30a6d693598409b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114280
Tested-by: Xisco Fauli <xiscofauli at libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli at libreoffice.org>
diff --git a/sfx2/uiconfig/ui/linkeditdialog.ui b/sfx2/uiconfig/ui/linkeditdialog.ui
index e3822bca03dc..956425cb1c40 100644
--- a/sfx2/uiconfig/ui/linkeditdialog.ui
+++ b/sfx2/uiconfig/ui/linkeditdialog.ui
@@ -10,11 +10,6 @@
<property name="default_width">0</property>
<property name="default_height">0</property>
<property name="type_hint">dialog</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="LinkEditDialog-atkobject">
- <property name="AtkObject::accessible-description" translatable="yes" context="linkeditdialog|extended_tip|LinkEditDialog"/>
- </object>
- </child>
<child>
<placeholder/>
</child>
commit 12f17fc57b779903ff74fa887df7c1c1406bd9e5
Author: Rizal Muttaqin <riz_17_oke at yahoo.co.id>
AuthorDate: Sat Apr 17 10:42:55 2021 +0700
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Wed Apr 21 21:07:32 2021 +0200
Colibre: Revise some icons
Change-Id: Id52445cc75293d44ac29a11692ad39f27472544b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114221
Tested-by: Jenkins
Reviewed-by: Rizal Muttaqin <rizmut at libreoffice.org>
(cherry picked from commit 31bd90673226938ada8cc89875ca8db77233d3fe)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114184
Reviewed-by: Adolfo Jayme Barrientos <fitojb at ubuntu.com>
diff --git a/icon-themes/colibre/cmd/32/actionmode.png b/icon-themes/colibre/cmd/32/actionmode.png
index b11ec8f50ac1..9b9a57e68ad2 100644
Binary files a/icon-themes/colibre/cmd/32/actionmode.png and b/icon-themes/colibre/cmd/32/actionmode.png differ
diff --git a/icon-themes/colibre/cmd/sc_sendmail.png b/icon-themes/colibre/cmd/sc_sendmail.png
index 984c1880e7a0..4a46fa9af859 100644
Binary files a/icon-themes/colibre/cmd/sc_sendmail.png and b/icon-themes/colibre/cmd/sc_sendmail.png differ
diff --git a/icon-themes/colibre/cmd/sc_tabdialog.png b/icon-themes/colibre/cmd/sc_tabdialog.png
index d82938a36269..45b6515f0ab8 100644
Binary files a/icon-themes/colibre/cmd/sc_tabdialog.png and b/icon-themes/colibre/cmd/sc_tabdialog.png differ
diff --git a/icon-themes/colibre_svg/cmd/32/actionmode.svg b/icon-themes/colibre_svg/cmd/32/actionmode.svg
index 797ee6abdf40..448156c8ad65 100644
--- a/icon-themes/colibre_svg/cmd/32/actionmode.svg
+++ b/icon-themes/colibre_svg/cmd/32/actionmode.svg
@@ -1 +1 @@
-<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><path d="m9 5v.5c0-.1748905.0358913-.3424298.09375-.5zm0 .5v1.5c0 1.0907028-.9092972 2-2 2h-1.5c.8137028 0 1.5.6862972 1.5 1.5v11c0 .813703-.6862972 1.5-1.5 1.5h1.5c1.0907028 0 2 .909297 2 2v1.5c0-.813703.6862972-1.5 1.5-1.5h7.5v-.5a1.0001 1.0001 0 0 1 .835938-.986328l1.332031-.222656-.785157-1.097657a1.0001 1.0001 0 0 1 .105469-1.287109l.552735-.554688a1.0001 1.0001 0 0 0 .001953-.001953l.861328-.859375a1.0001 1.0001 0 0 1 1.289062-.107422l1.097657.785157.222656-1.332031a1.0001 1.0001 0 0 1 .986328-.835938h.5v-7.5c0-.8137028.686297-1.5 1.5-1.5h-1.5c-1.090703 0-2-.9092972-2-2v-1.5c0 .8137028-.686297 1.5-1.5 1.5h-11c-.8137028 0-1.5-.6862972-1.5-1.5zm14 0v-.5h-.09375c.057859.1575702.09375.3251095.09375.5zm3.5 3.5c.174891 0 .34243.035891.5.09375v-.09375zm-17.5 17.5v.5h.09375c-.0578587-.15757-.09375-.325109-.09375-.5zm-3.5-3.5c-.1748905 0-.3424298-.035891-.5-.09375v.09375zm0-14h-.5v.09375c.1575702-.0578587.3251095-.09375.5-.093
75z" fill="#fafafa"/><rect fill="#0063b1" height="4" ry="1" width="4" x="4" y="24"/><path d="m26.5 10c-.277 0-.5.223-.5.5v7.5h.5a1.0001 1.0001 0 0 1 .5.134766v-7.634766c0-.277-.223-.5-.5-.5z" fill="#3a3a38"/><g fill="#0063b1"><rect height="4" ry="1" width="4" x="4" y="4"/><rect height="4" ry="1" width="4" x="24" y="4"/></g><g fill="#3a3a38"><rect height="12" ry=".5" width="1" x="5" y="10"/><rect height="1" ry=".5" width="12" x="10" y="5"/></g><path d="m10.5 26c-.277 0-.5.223-.5.5s.223.5.5.5h7.636719a1.0001 1.0001 0 0 1 -.136719-.5v-.5z" fill="#3a3a38"/><path d="m15.996094 9.0214844a.47936789.47936789 0 0 0 -.455078.3398437l-1.398438 4.6601559h-4.642578a.47936789.47936789 0 0 0 -.2871094.861328l3.7578124 2.820313-.941406 4.703125a.47936789.47936789 0 0 0 .783203.457031l3.224609-2.763672 3.533203 2.355469-.1875-.261719a1.0001 1.0001 0 0 1 .105469-1.287109l.552735-.554688a1.0001 1.0001 0 0 0 .001953-.001953l.240234-.240234-.734375-2.449219 3.263672-2.796875a.47936789.47936789 0 0 0 -.3
125-.841797h-4.175781l-1.878907-4.6992184a.47936789.47936789 0 0 0 -.449218-.3007812z" fill="#ed8733"/><path d="m16.070312 11.09375-1.066406 3.556641a.52527828.52527828 0 0 1 -.503906.375h-3.425781l2.740234 2.054687a.52527828.52527828 0 0 1 .201172.523438l-.701172 3.507812 2.34375-2.009766a.52527828.52527828 0 0 1 .632813-.039062l3.048828 2.033203a1.0001 1.0001 0 0 1 .136718-.175781l-.980468-3.269531a.52527828.52527828 0 0 1 .162109-.548829l2.421875-2.076171h-3.080078a.52527828.52527828 0 0 1 -.488281-.330079z" fill="#f8db8f"/><path d="m24.5 19-.371094 2.228516a4.5 4.5 0 0 0 -.683594.279296l-1.833984-1.310546-.861328.859375-.552734.554687 1.3125 1.835938a4.5 4.5 0 0 0 -.289063.68164l-2.220703.371094v1.216797.783203l2.228516.371094a4.5 4.5 0 0 0 .279296.683594l-1.310546 1.833984.552734.554687.861328.859375 1.835938-1.3125a4.5 4.5 0 0 0 .68164.289063l.371094 2.220703h1.216797.783203l.371094-2.228516a4.5 4.5 0 0 0 .683594-.279296l1.833984 1.310546.554687-.552734.859375-.861328-1.3125-1
.835938a4.5 4.5 0 0 0 .289063-.68164l2.220703-.371094v-.783203-1.216797l-2.228516-.371094a4.5 4.5 0 0 0 -.279296-.683594l1.310546-1.833984-.859375-.861328-.554687-.552734-1.835938 1.3125a4.5 4.5 0 0 0 -.68164-.289063l-.371094-2.220703h-.783203zm.605469 1h.789062l.353516 2v.08984a3.5 3.5 0 0 1 1.136719.466797l.06055-.06055 1.664063-1.164063.558594.558594-1.164063 1.664063-.0625.0625a3.5 3.5 0 0 1 .470703 1.134765h.087887l2 .353516v.789062l-2 .353516h-.08984a3.5 3.5 0 0 1 -.466797 1.136719l.06055.06055 1.164063 1.664063-.558594.558594-1.664063-1.164063-.0625-.0625a3.5 3.5 0 0 1 -1.134765.470703v.087894l-.353516 2h-.789062l-.353516-2v-.08984a3.5 3.5 0 0 1 -1.136719-.466797l-.06055.06055-1.664063 1.164063-.558594-.558594 1.164063-1.664063.0625-.0625a3.5 3.5 0 0 1 -.470706-1.134772h-.087891l-2-.353516v-.789062l2-.353516h.08984a3.5 3.5 0 0 1 .466797-1.136719l-.06055-.06055-1.164063-1.664063.558594-.558594 1.664063 1.164063.0625.0625a3.5 3.5 0 0 1 1.134765-.470703v-.087887zm.394531 3a2.5 2
.5 0 0 0 -2.5 2.5 2.5 2.5 0 0 0 2.5 2.5 2.5 2.5 0 0 0 2.5-2.5 2.5 2.5 0 0 0 -2.5-2.5zm0 1a1.5 1.5 0 0 1 1.5 1.5 1.5 1.5 0 0 1 -1.5 1.5 1.5 1.5 0 0 1 -1.5-1.5 1.5 1.5 0 0 1 1.5-1.5z" fill="#1e8bcd"/><path d="m25.105469 20h.789062l.353516 2v.08984c.40347.08734.788306.245379 1.136719.466797l.06055-.06055 1.664063-1.164063.558594.558594-1.164063 1.664063-.0625.0625c.222578.347545.381933.731717.470703 1.134765h.087887l2 .353516v.789062l-2 .353516h-.08984c-.08734.40347-.245379.788306-.466797 1.136719l.06055.06055 1.164063 1.664063-.558594.558594-1.664063-1.164063-.0625-.0625c-.347545.222578-.731717.381933-1.134765.470703v.087894l-.353516 2h-.789062l-.353516-2v-.08984c-.40347-.08734-.788306-.245379-1.136719-.466797l-.06055.06055-1.664063 1.164063-.558594-.558594 1.164063-1.664063.0625-.0625c-.222581-.347552-.381936-.731724-.470706-1.134772h-.087891l-2-.353516v-.789062l2-.353516h.08984c.08734-.40347.245379-.788306.466797-1.136719l-.06055-.06055-1.164063-1.664063.558594-.558594 1.664063 1.16
4063.0625.0625c.347545-.222578.731717-.381933 1.134765-.470703v-.087887zm.394531 3c-1.380712 0-2.5 1.119288-2.5 2.5s1.119288 2.5 2.5 2.5 2.5-1.119288 2.5-2.5-1.119288-2.5-2.5-2.5z" fill="#fafafa"/></svg>
\ No newline at end of file
+<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><path d="m9 5v.5c0-.1748905.0358913-.3424298.09375-.5zm0 .5v1.5c0 1.0907028-.9092972 2-2 2h-1.5c.8137028 0 1.5.6862972 1.5 1.5v11c0 .813703-.6862972 1.5-1.5 1.5h1.5c1.0907028 0 2 .909297 2 2v1.5c0-.813703.6862972-1.5 1.5-1.5h7.5v-.5a1.0001 1.0001 0 0 1 .835938-.986328l1.332031-.222656-.785157-1.097657a1.0001 1.0001 0 0 1 .105469-1.287109l.552735-.554688a1.0001 1.0001 0 0 0 .001953-.001953l.861328-.859375a1.0001 1.0001 0 0 1 1.289062-.107422l1.097657.785157.222656-1.332031a1.0001 1.0001 0 0 1 .986328-.835938h.5v-7.5c0-.8137028.686297-1.5 1.5-1.5h-1.5c-1.090703 0-2-.9092972-2-2v-1.5c0 .8137028-.686297 1.5-1.5 1.5h-11c-.8137028 0-1.5-.6862972-1.5-1.5zm14 0v-.5h-.09375c.057859.1575702.09375.3251095.09375.5zm3.5 3.5c.174891 0 .34243.035891.5.09375v-.09375zm-17.5 17.5v.5h.09375c-.0578587-.15757-.09375-.325109-.09375-.5zm-3.5-3.5c-.1748905 0-.3424298-.035891-.5-.09375v.09375zm0-14h-.5v.09375c.1575702-.0578587.3251095-.09375.5-.093
75z" fill="#fafafa"/><g fill="#3a3a38"><path d="m26.5 10c-.277 0-.5.223-.5.5v7.5h.5a1.0001 1.0001 0 0 1 .5.134766v-7.634766c0-.277-.223-.5-.5-.5z"/><g><rect height="12" ry=".5" width="1" x="5" y="10"/><rect height="1" ry=".5" width="12" x="10" y="5"/></g><path d="m10.5 26c-.277 0-.5.223-.5.5s.223.5.5.5h7.636719a1.0001 1.0001 0 0 1 -.136719-.5v-.5z"/></g><path d="m15.996094 9.0214844a.47936789.47936789 0 0 0 -.455078.3398437l-1.398438 4.6601559h-4.642578a.47936789.47936789 0 0 0 -.2871094.861328l3.7578124 2.820313-.941406 4.703125a.47936789.47936789 0 0 0 .783203.457031l3.224609-2.763672 3.533203 2.355469-.1875-.261719a1.0001 1.0001 0 0 1 .105469-1.287109l.552735-.554688a1.0001 1.0001 0 0 0 .001953-.001953l.240234-.240234-.734375-2.449219 3.263672-2.796875a.47936789.47936789 0 0 0 -.3125-.841797h-4.175781l-1.878907-4.6992184a.47936789.47936789 0 0 0 -.449218-.3007812z" fill="#ed8733"/><path d="m16.070312 11.09375-1.066406 3.556641a.52527828.52527828 0 0 1 -.503906.375h-3.425781l2.740
234 2.054687a.52527828.52527828 0 0 1 .201172.523438l-.701172 3.507812 2.34375-2.009766a.52527828.52527828 0 0 1 .632813-.039062l3.048828 2.033203a1.0001 1.0001 0 0 1 .136718-.175781l-.980468-3.269531a.52527828.52527828 0 0 1 .162109-.548829l2.421875-2.076171h-3.080078a.52527828.52527828 0 0 1 -.488281-.330079z" fill="#f8db8f"/><path d="m24.5 19-.371094 2.228516a4.5 4.5 0 0 0 -.683594.279296l-1.833984-1.310546-.861328.859375-.552734.554687 1.3125 1.835938a4.5 4.5 0 0 0 -.289063.68164l-2.220703.371094v1.216797.783203l2.228516.371094a4.5 4.5 0 0 0 .279296.683594l-1.310546 1.833984.552734.554687.861328.859375 1.835938-1.3125a4.5 4.5 0 0 0 .68164.289063l.371094 2.220703h1.216797.783203l.371094-2.228516a4.5 4.5 0 0 0 .683594-.279296l1.833984 1.310546.554687-.552734.859375-.861328-1.3125-1.835938a4.5 4.5 0 0 0 .289063-.68164l2.220703-.371094v-.783203-1.216797l-2.228516-.371094a4.5 4.5 0 0 0 -.279296-.683594l1.310546-1.833984-.859375-.861328-.554687-.552734-1.835938 1.3125a4.5 4.5 0 0 0 -.
68164-.289063l-.371094-2.220703h-.783203zm.605469 1h.789062l.353516 2v.08984a3.5 3.5 0 0 1 1.136719.466797l.06055-.06055 1.664063-1.164063.558594.558594-1.164063 1.664063-.0625.0625a3.5 3.5 0 0 1 .470703 1.134765h.087887l2 .353516v.789062l-2 .353516h-.08984a3.5 3.5 0 0 1 -.466797 1.136719l.06055.06055 1.164063 1.664063-.558594.558594-1.664063-1.164063-.0625-.0625a3.5 3.5 0 0 1 -1.134765.470703v.087894l-.353516 2h-.789062l-.353516-2v-.08984a3.5 3.5 0 0 1 -1.136719-.466797l-.06055.06055-1.664063 1.164063-.558594-.558594 1.164063-1.664063.0625-.0625a3.5 3.5 0 0 1 -.470706-1.134772h-.087891l-2-.353516v-.789062l2-.353516h.08984a3.5 3.5 0 0 1 .466797-1.136719l-.06055-.06055-1.164063-1.664063.558594-.558594 1.664063 1.164063.0625.0625a3.5 3.5 0 0 1 1.134765-.470703v-.087887zm.394531 3a2.5 2.5 0 0 0 -2.5 2.5 2.5 2.5 0 0 0 2.5 2.5 2.5 2.5 0 0 0 2.5-2.5 2.5 2.5 0 0 0 -2.5-2.5zm0 1a1.5 1.5 0 0 1 1.5 1.5 1.5 1.5 0 0 1 -1.5 1.5 1.5 1.5 0 0 1 -1.5-1.5 1.5 1.5 0 0 1 1.5-1.5z" fill="#1e8bcd"/><path
d="m25.105469 20h.789062l.353516 2v.08984c.40347.08734.788306.245379 1.136719.466797l.06055-.06055 1.664063-1.164063.558594.558594-1.164063 1.664063-.0625.0625c.222578.347545.381933.731717.470703 1.134765h.087887l2 .353516v.789062l-2 .353516h-.08984c-.08734.40347-.245379.788306-.466797 1.136719l.06055.06055 1.164063 1.664063-.558594.558594-1.664063-1.164063-.0625-.0625c-.347545.222578-.731717.381933-1.134765.470703v.087894l-.353516 2h-.789062l-.353516-2v-.08984c-.40347-.08734-.788306-.245379-1.136719-.466797l-.06055.06055-1.664063 1.164063-.558594-.558594 1.164063-1.664063.0625-.0625c-.222581-.347552-.381936-.731724-.470706-1.134772h-.087891l-2-.353516v-.789062l2-.353516h.08984c.08734-.40347.245379-.788306.466797-1.136719l-.06055-.06055-1.164063-1.664063.558594-.558594 1.664063 1.164063.0625.0625c.347545-.222578.731717-.381933 1.134765-.470703v-.087887zm.394531 3c-1.380712 0-2.5 1.119288-2.5 2.5s1.119288 2.5 2.5 2.5 2.5-1.119288 2.5-2.5-1.119288-2.5-2.5-2.5z" fill="#fafafa"/><rect
fill="#0063b1" height="4" ry="1" width="4" x="4" y="24"/><rect fill="#0063b1" height="4" ry="1" width="4" x="4" y="4"/><rect fill="#0063b1" height="4" ry="1" width="4" x="24" y="4"/><path d="m5 5v2h2v-2zm20 0v2h2v-2zm-20 20v2h2v-2z" fill="#83beec"/></svg>
\ No newline at end of file
diff --git a/icon-themes/colibre_svg/cmd/sc_sendmail.svg b/icon-themes/colibre_svg/cmd/sc_sendmail.svg
index 0f0786bd3e2d..0ef78e8b6de8 100644
--- a/icon-themes/colibre_svg/cmd/sc_sendmail.svg
+++ b/icon-themes/colibre_svg/cmd/sc_sendmail.svg
@@ -1,2 +1,3 @@
<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
-/><path d="m1 2h14v12h-14z" fill="#fafafa"/><g fill="#3a3a38"><path d="m1 1c-.554 0-1 .446-1 1v12c0 .554.446 1 1 1h14c.554 0 1-.446 1-1v-12c0-.554-.446-1-1-1zm0 1h14v12h-14z"/><path d="m1 3 6 5h2l6-5v-1h-1l-6 5-6-5h-1z"/></g></svg>
\ No newline at end of file
+
+/&gt;<path d="m1 3h14v10h-14z" fill="#fafafa"/><g fill="#3a3a38" transform="translate(0 1)"><path d="m1 1c-.554 0-1 .446-1 1v10c0 .554.446 1 1 1h14c.554 0 1-.446 1-1v-10c0-.554-.446-1-1-1zm0 1h14v10h-14z"/><path d="m1 3 6 5h2l6-5v-1h-1l-6 5-6-5h-1z"/></g></svg>
\ No newline at end of file
diff --git a/icon-themes/colibre_svg/cmd/sc_tabdialog.svg b/icon-themes/colibre_svg/cmd/sc_tabdialog.svg
index 90c7ccb680a3..5ddfef30c33a 100644
--- a/icon-themes/colibre_svg/cmd/sc_tabdialog.svg
+++ b/icon-themes/colibre_svg/cmd/sc_tabdialog.svg
@@ -1 +1 @@
-<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="m0 1v1 2 10c0 .554.446 1 1 1h8.8886719l-.9980469-1h-7.890625v-10h14v7.080078c.191234-.07263.393805-.112032.585938-.101562.148946.0081.285042.04355.414062.08984v-7.068356-2-1h-1-14z" fill="#3a3a38"/><path d="m1 4v10h7.890625l-.4394531-.439453c-.4492692-.439706-.5492539-1.125091-.3398438-1.638672.2089748-.512514.7577617-.931694 1.3847657-.933594h.0019531c.4044682-.001027.7933151.161987 1.0761721.451172l.425781.425781v-4.3613278c-.009562-.8144061.662201-1.5048289 1.476562-1.5175781.831522-.0129661 1.533238.6860137 1.523438 1.5175781v4.3730468l.433594-.433594c.154486-.159409.353408-.28239.566406-.363281v-7.080078z" fill="#fafafa"/><g fill="none" stroke="#1e8bcd" stroke-linecap="round" stroke-linejoin="round" transform="matrix(0 1 -1 0 25 -.014242)"><path d="m12.507121 15.494954 3-2.99495-3-3.00505"/><path d="m15.507121 12.500004h-8"/></g><path d="m12.492188 6.9863281a.50005.50005 0 0 0 -.492188.5058594v6.7910155l-2.140
625-2.144531a.50005.50005 0 0 0 -.359375-.150391.50005.50005 0 0 0 -.3496094.857422l2.9531254 2.957031a.50005.50005 0 0 0 .792968.001954l2.960938-2.957032a.50005.50005 0 1 0 -.705078-.708984l-2.152344 2.148437v-6.7949215a.50005.50005 0 0 0 -.507812-.5058594z" fill="#1e8bcd"/><path d="m4 6c-.554 0-1 .446-1 1v1c0 .554.446 1 1 1h1c.554 0 1-.446 1-1v-1c0-.554-.446-1-1-1zm4.5 0c-.277 0-.5.223-.5.5s.223.5.5.5h2.611328c.213745-.5560976.762973-.9905713 1.365234-1zm3.976562 0c.015809-.0002465.031124.0035706.046876.0039062-.008157-.0003917-.015181-.0039062-.023438-.0039062zm-8.476562 1h1v1h-1zm4.5 1c-.277 0-.5.223-.5.5s.223.5.5.5h2.513672v-1zm-4.5 2c-.554 0-1 .446-1 1v1c0 .554.446 1 1 1h1c.554 0 1-.446 1-1v-1c0-.554-.446-1-1-1zm4.5 0c-.277 0-.5.223-.5.5s.223.5.5.5h2.513672v-1zm-4.5 1h1v1h-1zm4.0253906 1.375c-.0107378.040885-.0253906.080653-.0253906.125 0 .07435.018011.14373.046875.207031-.016995-.110266-.0285976-.220945-.0214844-.332031z" fill="#797774"/><path d="m0 1h16v4h-16z" fill="#3a3a38
"/><path d="m1 2h14v2h-14z" fill="#797774" stroke-width=".661438"/></svg>
\ No newline at end of file
+<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="m0 3v4 6c0 .554.446 1 1 1h7.9101562l-.4492187-.449219c-.1558727-.152554-.2575773-.346206-.3320313-.550781h-7.1289062v-6-4zm15 0v4 4.111328c.320452-.108655.677594-.110605 1-.007812v-4.103516-4z" fill="#3a3a38"/><path d="m1 3v10h7.1289062c-.1256908-.345357-.1448772-.731322-.0058593-1.072266.2210045-.542016.7897178-.922401 1.375-.923828.395614-.000767.7897681.162485 1.0664061.445313l.449219.449219v-4.3945318c-.009115-.7762893.686644-1.4917537 1.46289-1.5039062.791729-.0123456 1.519061.7121369 1.509766 1.5039062v4.4062498l.457031-.457031c.154517-.159991.34799-.27105.556641-.341797v-8.111328z" fill="#fafafa"/><path d="m4 5c-.554 0-1 .446-1 1v1c0 .554.446 1 1 1h1c.554 0 1-.446 1-1v-1c0-.554-.446-1-1-1zm4.5 0c-.277 0-.5.223-.5.5s.223.5.5.5h3.976562.023438c.277 0 .5-.223.5-.5s-.223-.5-.5-.5zm-4.5 1h1v1h-1zm4.5 1c-.277 0-.5.223-.5.5s.223.5.5.5h2.513672v-.4960938c-.002043-.1739946.035908-.3432573.097656-.5039062zm-4.5 2c-.55
4 0-1 .446-1 1v1c0 .554.446 1 1 1h1c.554 0 1-.446 1-1v-1c0-.554-.446-1-1-1zm4.5 0c-.277 0-.5.223-.5.5s.223.5.5.5h2.513672v-1zm-4.5 1h1v1h-1zm4.5 1c-.277 0-.5.223-.5.5 0 .145168.0639403.272101.1621094.363281.2395982-.504877.7759216-.858009 1.3359375-.859375.395614-.000767.7897681.162485 1.0664061.445313l.449219.449219v-.898438z" fill="#797774"/><path d="m0 0h16v4h-16z" fill="#3a3a38"/><path d="m1 1h14v2h-14z" fill="#797774" stroke-width=".661438"/><path d="m12.492188 6.9863281a.50005.50005 0 0 0 -.492188.5058594v6.7910155l-2.140625-2.144531a.50005.50005 0 0 0 -.359375-.150391.50005.50005 0 0 0 -.3496094.857422l2.9531254 2.957031a.50005.50005 0 0 0 .792968.001954l2.960938-2.957032a.50005.50005 0 1 0 -.705078-.708984l-2.152344 2.148437v-6.7949215a.50005.50005 0 0 0 -.507812-.5058594z" fill="#1e8bcd"/></svg>
\ No newline at end of file
commit a7d8c314a23ddc0f47a713ba1148796a88469a89
Author: Xisco Fauli <xiscofauli at libreoffice.org>
AuthorDate: Mon Apr 19 21:37:53 2021 +0200
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Wed Apr 21 21:07:32 2021 +0200
tdf#86321: Revert "Resolves: #i123539# some optimizations for 3D chart..."
This reverts commit db1d2af02861b49e4f53d726d59cd71c20cee9b1
The commit was already partically reverted in
bca8d8985666d3fd22b91eb280f9baaeb933c2d0 < Resolves: tdf#90583
3D pie-chart missing guide handles >.
This partial revert broke the optimization introduced in
db1d2af02861b49e4f53d726d59cd71c20cee9b1 <Resolves: #i123539#
some optimizations for 3D chart...> for 3D charts like
https://bz.apache.org/ooo/attachment.cgi?id=81810
Later, 3D charts were optimized again in
55a7e836a2db662a53adc4f8b98d08b06790c758 < chart2: When
creating objects prevent setting object rects dirty > so
the remaining code originally introduced can go.
Import time of https://bz.apache.org/ooo/attachment.cgi?id=81810
is the same with and without this patch
Change-Id: I25338d0dfb4b41651dfe05e7bfbd74c86091dacb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114313
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli at libreoffice.org>
(cherry picked from commit eec03e848cb6874ce6d64dc0b8f45dbaf52e6c2b)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114277
Reviewed-by: Adolfo Jayme Barrientos <fitojb at ubuntu.com>
diff --git a/svx/inc/sdr/contact/viewcontactofsdrole2obj.hxx b/svx/inc/sdr/contact/viewcontactofsdrole2obj.hxx
index ac7a861e924f..f034f02a6da5 100644
--- a/svx/inc/sdr/contact/viewcontactofsdrole2obj.hxx
+++ b/svx/inc/sdr/contact/viewcontactofsdrole2obj.hxx
@@ -31,9 +31,6 @@ namespace sdr::contact
class ViewContactOfSdrOle2Obj final : public ViewContactOfSdrRectObj
{
private:
- // #i123539# allow local buffering of chart data (if chart)
- drawinglayer::primitive2d::Primitive2DReference mxChartContent;
-
// Create an Object-Specific ViewObjectContact, set ViewContact and
// ObjectContact. Always needs to return something.
virtual ViewObjectContact&
@@ -56,9 +53,6 @@ public:
// from the VOC which knows that
drawinglayer::primitive2d::Primitive2DContainer createPrimitive2DSequenceWithParameters() const;
- // #i123539# get rid of buffered chart content (if there) on change
- virtual void ActionChanged() override;
-
virtual basegfx::B2DRange
getRange(const drawinglayer::geometry::ViewInformation2D& rViewInfo2D) const override;
diff --git a/svx/source/sdr/contact/viewcontactofsdrole2obj.cxx b/svx/source/sdr/contact/viewcontactofsdrole2obj.cxx
index 57077e7b30eb..6c9662a957f9 100644
--- a/svx/source/sdr/contact/viewcontactofsdrole2obj.cxx
+++ b/svx/source/sdr/contact/viewcontactofsdrole2obj.cxx
@@ -45,8 +45,7 @@ ViewObjectContact& ViewContactOfSdrOle2Obj::CreateObjectSpecificViewObjectContac
}
ViewContactOfSdrOle2Obj::ViewContactOfSdrOle2Obj(SdrOle2Obj& rOle2Obj)
-: ViewContactOfSdrRectObj(rOle2Obj),
- mxChartContent()
+: ViewContactOfSdrRectObj(rOle2Obj)
{
}
@@ -90,45 +89,30 @@ drawinglayer::primitive2d::Primitive2DContainer ViewContactOfSdrOle2Obj::createP
if(GetOle2Obj().IsChart())
{
- // #i123539# allow buffering and reuse of local chart data to not need to rebuild it
- // on every ViewObjectContact::getPrimitive2DSequence call. TTTT: Not needed for
- // aw080, there this mechanism already works differently
- if(mxChartContent.is())
+ // try to get chart primitives and chart range directly from xChartModel
+ basegfx::B2DRange aChartContentRange;
+ const drawinglayer::primitive2d::Primitive2DContainer aChartSequence(
+ ChartHelper::tryToGetChartContentAsPrimitive2DSequence(
+ GetOle2Obj().getXModel(),
+ aChartContentRange));
+ const double fWidth(aChartContentRange.getWidth());
+ const double fHeight(aChartContentRange.getHeight());
+
+ if(!aChartSequence.empty()
+ && basegfx::fTools::more(fWidth, 0.0)
+ && basegfx::fTools::more(fHeight, 0.0))
{
- xContent = mxChartContent;
- }
- else
- {
- // try to get chart primitives and chart range directly from xChartModel
- basegfx::B2DRange aChartContentRange;
- const drawinglayer::primitive2d::Primitive2DContainer aChartSequence(
- ChartHelper::tryToGetChartContentAsPrimitive2DSequence(
- GetOle2Obj().getXModel(),
- aChartContentRange));
- const double fWidth(aChartContentRange.getWidth());
- const double fHeight(aChartContentRange.getHeight());
-
- if(!aChartSequence.empty()
- && basegfx::fTools::more(fWidth, 0.0)
- && basegfx::fTools::more(fHeight, 0.0))
- {
- // create embedding transformation
- basegfx::B2DHomMatrix aEmbed(
- basegfx::utils::createTranslateB2DHomMatrix(
- -aChartContentRange.getMinX(),
- -aChartContentRange.getMinY()));
-
- aEmbed.scale(1.0 / fWidth, 1.0 / fHeight);
- aEmbed = aObjectMatrix * aEmbed;
- xContent = new drawinglayer::primitive2d::TransformPrimitive2D(
- aEmbed,
- aChartSequence);
- }
-
- if(xContent.is())
- {
- const_cast< ViewContactOfSdrOle2Obj* >(this)->mxChartContent = xContent;
- }
+ // create embedding transformation
+ basegfx::B2DHomMatrix aEmbed(
+ basegfx::utils::createTranslateB2DHomMatrix(
+ -aChartContentRange.getMinX(),
+ -aChartContentRange.getMinY()));
+
+ aEmbed.scale(1.0 / fWidth, 1.0 / fHeight);
+ aEmbed = aObjectMatrix * aEmbed;
+ xContent = new drawinglayer::primitive2d::TransformPrimitive2D(
+ aEmbed,
+ aChartSequence);
}
}
@@ -185,18 +169,6 @@ basegfx::B2DRange ViewContactOfSdrOle2Obj::getRange( const drawinglayer::geometr
return drawinglayer::primitive2d::getB2DRangeFromPrimitive2DReference(xReference, rViewInfo2D);
}
-void ViewContactOfSdrOle2Obj::ActionChanged()
-{
- // call parent
- ViewContactOfSdrRectObj::ActionChanged();
-
- // #i123539# if we have buffered chart data, reset it
- if(mxChartContent.is())
- {
- mxChartContent.clear();
- }
-}
-
drawinglayer::primitive2d::Primitive2DContainer ViewContactOfSdrOle2Obj::createViewIndependentPrimitive2DSequence() const
{
return createPrimitive2DSequenceWithParameters();
diff --git a/svx/source/unodraw/unoshape.cxx b/svx/source/unodraw/unoshape.cxx
index b60c6e686aea..1885348f9c64 100644
--- a/svx/source/unodraw/unoshape.cxx
+++ b/svx/source/unodraw/unoshape.cxx
@@ -1229,15 +1229,7 @@ void SAL_CALL SvxShape::setSize( const awt::Size& rSize )
if(HasSdrObject())
{
- // #i123539# optimization for 3D chart object generation: do not use UNO
- // API commands to get the range, this is too expensive since for 3D
- // scenes it may recalculate the whole scene since in AOO this depends
- // on the contained geometry (layouted to show all content)
- const bool b3DConstruction(dynamic_cast< E3dObject* >(GetSdrObject()) && GetSdrObject()->getSdrModelFromSdrObject().isLocked());
- tools::Rectangle aRect(
- b3DConstruction ?
- tools::Rectangle(maPosition.X, maPosition.Y, maSize.Width, maSize.Height) :
- svx_getLogicRectHack(GetSdrObject()) );
+ tools::Rectangle aRect( svx_getLogicRectHack(GetSdrObject()) );
Size aLocalSize( rSize.Width, rSize.Height );
ForceMetricToItemPoolMetric(aLocalSize);
commit f341e9d6196711ae08364456f9ddf447c3a42dff
Author: Aron Budea <aron.budea at collabora.com>
AuthorDate: Sun Apr 18 06:27:33 2021 +0200
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Wed Apr 21 21:07:31 2021 +0200
tdf#141244 Modify DDE Link dialog was empty
Regression from de01c0c1d0f80ffec3882625d77c02ab806f6c7a.
Apparently <property> entries must precede <child> ones in
.ui files.
Change-Id: Ie91897d126527d3b30935a46b31f0a53b2837c53
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114237
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114312
Reviewed-by: Aron Budea <aron.budea at collabora.com>
Reviewed-by: Xisco Fauli <xiscofauli at libreoffice.org>
diff --git a/sfx2/uiconfig/ui/linkeditdialog.ui b/sfx2/uiconfig/ui/linkeditdialog.ui
index 513f2ae9548d..e3822bca03dc 100644
--- a/sfx2/uiconfig/ui/linkeditdialog.ui
+++ b/sfx2/uiconfig/ui/linkeditdialog.ui
@@ -3,11 +3,6 @@
<interface domain="sfx">
<requires lib="gtk+" version="3.20"/>
<object class="GtkDialog" id="LinkEditDialog">
- <child internal-child="accessible">
- <object class="AtkObject" id="LinkEditDialog-atkobject">
- <property name="AtkObject::accessible-description" translatable="yes" context="linkeditdialog|extended_tip|LinkEditDialog"/>
- </object>
- </child>
<property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="title" translatable="yes" context="linkeditdialog|title">Modify DDE Link</property>
@@ -15,6 +10,11 @@
<property name="default_width">0</property>
<property name="default_height">0</property>
<property name="type_hint">dialog</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="LinkEditDialog-atkobject">
+ <property name="AtkObject::accessible-description" translatable="yes" context="linkeditdialog|extended_tip|LinkEditDialog"/>
+ </object>
+ </child>
<child>
<placeholder/>
</child>
@@ -149,16 +149,16 @@
</child>
<child>
<object class="GtkEntry" id="app">
- <child internal-child="accessible">
- <object class="AtkObject" id="app-atkobject">
- <property name="AtkObject::accessible-description" translatable="yes" context="linkeditdialog|extended_tip|app">Lists the application that last saved the source file. %PRODUCTNAME applications have the server name soffice.</property>
- </object>
- </child>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="truncate-multiline">True</property>
<property name="activates_default">True</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="app-atkobject">
+ <property name="AtkObject::accessible-description" translatable="yes" context="linkeditdialog|extended_tip|app">Lists the application that last saved the source file. %PRODUCTNAME applications have the server name soffice.</property>
+ </object>
+ </child>
</object>
<packing>
<property name="left_attach">1</property>
@@ -167,16 +167,16 @@
</child>
<child>
<object class="GtkEntry" id="file">
- <child internal-child="accessible">
- <object class="AtkObject" id="file-atkobject">
- <property name="AtkObject::accessible-description" translatable="yes" context="linkeditdialog|extended_tip|file">Path to the source file. Relative paths must be expressed by full URI, for example, with file://.</property>
- </object>
- </child>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="truncate-multiline">True</property>
<property name="activates_default">True</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="file-atkobject">
+ <property name="AtkObject::accessible-description" translatable="yes" context="linkeditdialog|extended_tip|file">Path to the source file. Relative paths must be expressed by full URI, for example, with file://.</property>
+ </object>
+ </child>
</object>
<packing>
<property name="left_attach">1</property>
@@ -185,16 +185,16 @@
</child>
<child>
<object class="GtkEntry" id="category">
- <child internal-child="accessible">
- <object class="AtkObject" id="category-atkobject">
- <property name="AtkObject::accessible-description" translatable="yes" context="linkeditdialog|extended_tip|category">Lists the section or object that the link refers to in the source file. If you want, you can enter a new section or object here.</property>
- </object>
- </child>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="truncate-multiline">True</property>
<property name="activates_default">True</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="category-atkobject">
+ <property name="AtkObject::accessible-description" translatable="yes" context="linkeditdialog|extended_tip|category">Lists the section or object that the link refers to in the source file. If you want, you can enter a new section or object here.</property>
+ </object>
+ </child>
</object>
<packing>
<property name="left_attach">1</property>
commit c9588ab2955c90e8e7304e160e3d93c7082ca14f
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Mon Apr 19 09:33:12 2021 +0100
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Wed Apr 21 21:07:31 2021 +0200
a11y tests show we should use GetOutputDevice for pixel/logic conversions
Change-Id: I229ffb376b03ff2479385632319661dd35a63fea
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114188
Reviewed-by: Michael Stahl <michael.stahl at allotropia.de>
Tested-by: Jenkins
diff --git a/editeng/source/editeng/editview.cxx b/editeng/source/editeng/editview.cxx
index 60a0126584a9..c19706fbe85b 100644
--- a/editeng/source/editeng/editview.cxx
+++ b/editeng/source/editeng/editview.cxx
@@ -351,6 +351,11 @@ vcl::Window* EditView::GetWindow() const
return pImpEditView->pOutWin;
}
+OutputDevice& EditView::GetOutputDevice() const
+{
+ return pImpEditView->GetOutputDevice();
+}
+
bool EditView::HasOtherViewWindow( vcl::Window* pWin )
{
OutWindowSet& rOutWindowSet = pImpEditView->aOutWindowSet;
diff --git a/include/editeng/editview.hxx b/include/editeng/editview.hxx
index b18c36444451..bec4c605dafa 100644
--- a/include/editeng/editview.hxx
+++ b/include/editeng/editview.hxx
@@ -160,6 +160,7 @@ public:
void SetWindow( vcl::Window* pWin );
vcl::Window* GetWindow() const;
+ OutputDevice& GetOutputDevice() const;
bool HasOtherViewWindow( vcl::Window* pWin );
bool AddOtherViewWindow( vcl::Window* pWin );
diff --git a/svx/source/dialog/weldeditview.cxx b/svx/source/dialog/weldeditview.cxx
index f62a3df178dc..1a315930c332 100644
--- a/svx/source/dialog/weldeditview.cxx
+++ b/svx/source/dialog/weldeditview.cxx
@@ -730,33 +730,25 @@ bool WeldViewForwarder::IsValid() const { return m_rEditAcc.GetEditView() != nul
Point WeldViewForwarder::LogicToPixel(const Point& rPoint, const MapMode& rMapMode) const
{
EditView* pEditView = m_rEditAcc.GetEditView();
- OutputDevice* pOutDev = pEditView ? pEditView->GetWindow() : nullptr;
-
- if (pOutDev)
- {
- MapMode aMapMode(pOutDev->GetMapMode());
- Point aPoint(OutputDevice::LogicToLogic(rPoint, rMapMode, MapMode(aMapMode.GetMapUnit())));
- aMapMode.SetOrigin(Point());
- return pOutDev->LogicToPixel(aPoint, aMapMode);
- }
-
- return Point();
+ if (!pEditView)
+ return Point();
+ OutputDevice& rOutDev = pEditView->GetOutputDevice();
+ MapMode aMapMode(rOutDev.GetMapMode());
+ Point aPoint(OutputDevice::LogicToLogic(rPoint, rMapMode, MapMode(aMapMode.GetMapUnit())));
+ aMapMode.SetOrigin(Point());
+ return rOutDev.LogicToPixel(aPoint, aMapMode);
}
Point WeldViewForwarder::PixelToLogic(const Point& rPoint, const MapMode& rMapMode) const
{
EditView* pEditView = m_rEditAcc.GetEditView();
- OutputDevice* pOutDev = pEditView ? pEditView->GetWindow() : nullptr;
-
- if (pOutDev)
- {
- MapMode aMapMode(pOutDev->GetMapMode());
- aMapMode.SetOrigin(Point());
- Point aPoint(pOutDev->PixelToLogic(rPoint, aMapMode));
- return OutputDevice::LogicToLogic(aPoint, MapMode(aMapMode.GetMapUnit()), rMapMode);
- }
-
- return Point();
+ if (!pEditView)
+ return Point();
+ OutputDevice& rOutDev = pEditView->GetOutputDevice();
+ MapMode aMapMode(rOutDev.GetMapMode());
+ aMapMode.SetOrigin(Point());
+ Point aPoint(rOutDev.PixelToLogic(rPoint, aMapMode));
+ return OutputDevice::LogicToLogic(aPoint, MapMode(aMapMode.GetMapUnit()), rMapMode);
}
WeldTextForwarder::WeldTextForwarder(WeldEditAccessible& rAcc, WeldEditSource& rSource)
@@ -1303,33 +1295,25 @@ bool WeldEditViewForwarder::IsValid() const { return m_rEditAcc.GetEditView() !=
Point WeldEditViewForwarder::LogicToPixel(const Point& rPoint, const MapMode& rMapMode) const
{
EditView* pEditView = m_rEditAcc.GetEditView();
- OutputDevice* pOutDev = pEditView ? pEditView->GetWindow() : nullptr;
-
- if (pOutDev)
- {
- MapMode aMapMode(pOutDev->GetMapMode());
- Point aPoint(OutputDevice::LogicToLogic(rPoint, rMapMode, MapMode(aMapMode.GetMapUnit())));
- aMapMode.SetOrigin(Point());
- return pOutDev->LogicToPixel(aPoint, aMapMode);
- }
-
- return Point();
+ if (!pEditView)
+ return Point();
+ OutputDevice& rOutDev = pEditView->GetOutputDevice();
+ MapMode aMapMode(rOutDev.GetMapMode());
+ Point aPoint(OutputDevice::LogicToLogic(rPoint, rMapMode, MapMode(aMapMode.GetMapUnit())));
+ aMapMode.SetOrigin(Point());
+ return rOutDev.LogicToPixel(aPoint, aMapMode);
}
Point WeldEditViewForwarder::PixelToLogic(const Point& rPoint, const MapMode& rMapMode) const
{
EditView* pEditView = m_rEditAcc.GetEditView();
- OutputDevice* pOutDev = pEditView ? pEditView->GetWindow() : nullptr;
-
- if (pOutDev)
- {
- MapMode aMapMode(pOutDev->GetMapMode());
- aMapMode.SetOrigin(Point());
- Point aPoint(pOutDev->PixelToLogic(rPoint, aMapMode));
- return OutputDevice::LogicToLogic(aPoint, MapMode(aMapMode.GetMapUnit()), rMapMode);
- }
-
- return Point();
+ if (!pEditView)
+ return Point();
+ OutputDevice& rOutDev = pEditView->GetOutputDevice();
+ MapMode aMapMode(rOutDev.GetMapMode());
+ aMapMode.SetOrigin(Point());
+ Point aPoint(rOutDev.PixelToLogic(rPoint, aMapMode));
+ return OutputDevice::LogicToLogic(aPoint, MapMode(aMapMode.GetMapUnit()), rMapMode);
}
bool WeldEditViewForwarder::GetSelection(ESelection& rSelection) const
commit 3a814f70063bffea91da64972eb515fe565aeb93
Author: Xisco Fauli <xiscofauli at libreoffice.org>
AuthorDate: Sun Apr 18 19:10:20 2021 +0200
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Wed Apr 21 21:07:30 2021 +0200
tdf#132901: do not add updatecheck to libmerged
LibreOffice crashes if "online update"
feature is not installed
Regression from c63148ba139bd6b9ae7a0f9e24e51f29e5370963
< Revert "Revert "add some libs to libmerged"" >
Change-Id: Ia18f50bc6baf830b2d3e0814645ef04283bfaa04
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114247
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
(cherry picked from commit 6064446f828f8cd612f7d6660153b2eb1139239b)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114191
Reviewed-by: Xisco Fauli <xiscofauli at libreoffice.org>
diff --git a/solenv/gbuild/extensions/pre_MergedLibsList.mk b/solenv/gbuild/extensions/pre_MergedLibsList.mk
index dfd3ebdc227e..12fd14edf522 100644
--- a/solenv/gbuild/extensions/pre_MergedLibsList.mk
+++ b/solenv/gbuild/extensions/pre_MergedLibsList.mk
@@ -92,10 +92,6 @@ MERGE_LIBRARY_LIST := \
ucptdoc1 \
unordf \
unoxml \
- $(if $(ENABLE_ONLINE_UPDATE), \
- updatecheckui \
- updchk \
- ) \
updatefeed \
utl \
uui \
commit fc5af9295570e3ac0a078608a49b7a2bd91234b1
Author: Katarina Behrens <bubli at bubli.org>
AuthorDate: Thu Apr 15 17:16:19 2021 +0200
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Wed Apr 21 21:07:30 2021 +0200
tdf#133419: Put Left and Right motion path effects into single category
Somehow those two effects ended up both in Basic and in Lines
and Curves category. Remove them from Basic, it makes more sense to
have these in Lines and Curves as both are very simple linear motion
effects
Change-Id: Iec32370095f4fc1069abe97b944a4b36e121f6cc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114158
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <bubli at bubli.org>
(cherry picked from commit d0c7afcce3016759a1371be361ce8b39dfc7fc17)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114180
Reviewed-by: Xisco Fauli <xiscofauli at libreoffice.org>
diff --git a/officecfg/registry/data/org/openoffice/Office/UI/Effects.xcu b/officecfg/registry/data/org/openoffice/Office/UI/Effects.xcu
index 4626826a40aa..93782f92effd 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/Effects.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/Effects.xcu
@@ -2564,7 +2564,7 @@
<value xml:lang="en-US">Basic</value>
</prop>
<prop oor:name="Effects" oor:type="oor:string-list">
- <value oor:separator=";">ooo-motionpath-4-point-star;ooo-motionpath-5-point-star;ooo-motionpath-6-point-star;ooo-motionpath-8-point-star;ooo-motionpath-circle;ooo-motionpath-crescent-moon;ooo-motionpath-diamond;ooo-motionpath-equal-triangle;ooo-motionpath-oval;ooo-motionpath-heart;ooo-motionpath-left;ooo-motionpath-right;ooo-motionpath-hexagon;ooo-motionpath-octagon;ooo-motionpath-parallelogram;ooo-motionpath-pentagon;ooo-motionpath-right-triangle;ooo-motionpath-square;ooo-motionpath-teardrop;ooo-motionpath-trapezoid</value>
+ <value oor:separator=";">ooo-motionpath-4-point-star;ooo-motionpath-5-point-star;ooo-motionpath-6-point-star;ooo-motionpath-8-point-star;ooo-motionpath-circle;ooo-motionpath-crescent-moon;ooo-motionpath-diamond;ooo-motionpath-equal-triangle;ooo-motionpath-oval;ooo-motionpath-heart;;ooo-motionpath-hexagon;ooo-motionpath-octagon;ooo-motionpath-parallelogram;ooo-motionpath-pentagon;ooo-motionpath-right-triangle;ooo-motionpath-square;ooo-motionpath-teardrop;ooo-motionpath-trapezoid</value>
</prop>
</node>
<node oor:name="linesandcurves" oor:op="replace">
commit 85567bd898670d55989420ac511a8a06df5e948c
Author: Jeff Huang <jeff at mail.ossii.com.tw>
AuthorDate: Mon Apr 12 14:16:02 2021 +0800
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Wed Apr 21 21:07:29 2021 +0200
tdf#141525 Fix "Line with Arrow/Circle" insertion error.
When you insert "Line with Arrow/Circle" from "Lines and Arrows", it will show
"Line Starts with Arrow" instead of "Line with Arrow/Circle". This patch can
fix this issue. (This issue exists at least since 6.3 series.)
Change-Id: I827b9582951fe359d89245970e73d63f7697553f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113963
Tested-by: Jenkins
Reviewed-by: Mark Hung <marklh9 at gmail.com>
(cherry picked from commit 2b498e380a91a536d177376e854cf3a6e2fb0b35)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114179
Reviewed-by: Po-Yen Huang <jeff at mail.ossii.com.tw>
Reviewed-by: Xisco Fauli <xiscofauli at libreoffice.org>
diff --git a/sw/source/core/frmedt/feshview.cxx b/sw/source/core/frmedt/feshview.cxx
index 767e4e7f16e8..439d99e9e2d7 100644
--- a/sw/source/core/frmedt/feshview.cxx
+++ b/sw/source/core/frmedt/feshview.cxx
@@ -1004,6 +1004,14 @@ void SwFEShell::SetLineEnds(SfxItemSet& rAttr, SdrObject const & rObj, sal_uInt1
// and again, for the still missing ends
switch (nSlotId)
{
+ case SID_LINE_ARROW_CIRCLE:
+ {
+ // circle end
+ rAttr.Put(XLineEndItem(SvxResId(RID_SVXSTR_CIRCLE), aCircle));
+ rAttr.Put(XLineEndWidthItem(nWidth));
+ }
+ break;
+
case SID_LINE_CIRCLE_ARROW:
{
// circle start
commit 2cbe5ae786010324c5bb7ff738bd9c9a0d1b3b8e
Author: Eike Rathke <erack at redhat.com>
AuthorDate: Thu Apr 15 16:44:02 2021 +0200
Commit: Andras Timar <andras.timar at collabora.com>
CommitDate: Wed Apr 21 21:07:29 2021 +0200
Update language-subtag-registry to 2021-03-05
Change-Id: Ia56693bac2dea931664caa79a6b1e90bf7a58c93
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114155
Reviewed-by: Eike Rathke <erack at redhat.com>
Tested-by: Jenkins
... etc. - the rest is truncated
More information about the Libreoffice-commits
mailing list