Toshaan Bharvani
11 months ago
commit
dd733dccee
32 changed files with 9966 additions and 0 deletions
@ -0,0 +1,69 @@
@@ -0,0 +1,69 @@
|
||||
From 26c9da40d44f1469df97398362667c74553be7d2 Mon Sep 17 00:00:00 2001 |
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com> |
||||
Date: Mon, 20 Dec 2021 17:05:44 +0000 |
||||
Subject: [PATCH] only use X509Data |
||||
|
||||
Change-Id: I52e6588f5fac04bb26d77c1f3af470db73e41f72 |
||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127193 |
||||
Tested-by: Jenkins |
||||
Reviewed-by: Miklos Vajna <vmiklos@collabora.com> |
||||
(cherry picked from commit be446d81e07b5499152efeca6ca23034e51ea5ff) |
||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127178 |
||||
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> |
||||
(cherry picked from commit b0404f80577de9ff69e58390c6f6ef949fdb0139) |
||||
--- |
||||
.../source/xmlsec/mscrypt/xmlsignature_mscryptimpl.cxx | 6 ++++++ |
||||
xmlsecurity/source/xmlsec/nss/xmlsignature_nssimpl.cxx | 6 ++++++ |
||||
2 files changed, 12 insertions(+) |
||||
|
||||
diff --git a/xmlsecurity/source/xmlsec/mscrypt/xmlsignature_mscryptimpl.cxx b/xmlsecurity/source/xmlsec/mscrypt/xmlsignature_mscryptimpl.cxx |
||||
index c699c950f351..9f816479f9dd 100644 |
||||
--- a/xmlsecurity/source/xmlsec/mscrypt/xmlsignature_mscryptimpl.cxx |
||||
+++ b/xmlsecurity/source/xmlsec/mscrypt/xmlsignature_mscryptimpl.cxx |
||||
@@ -22,6 +22,8 @@ |
||||
#include <rtl/uuid.h> |
||||
#include <xmlsec-wrapper.h> |
||||
|
||||
+#include <xmlsec/mscng/x509.h> |
||||
+ |
||||
#include <com/sun/star/xml/crypto/SecurityOperationStatus.hpp> |
||||
#include <com/sun/star/xml/crypto/XXMLSignature.hpp> |
||||
|
||||
@@ -233,6 +235,10 @@ SAL_CALL XMLSignature_MSCryptImpl::validate( |
||||
// We do certificate verification ourselves. |
||||
pDsigCtx->keyInfoReadCtx.flags |= XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS; |
||||
|
||||
+ // limit possible key data to valid X509 certificates only, no KeyValues |
||||
+ if (xmlSecPtrListAdd(&(pDsigCtx->keyInfoReadCtx.enabledKeyData), BAD_CAST xmlSecMSCngKeyDataX509GetKlass()) < 0) |
||||
+ throw RuntimeException("failed to limit allowed key data"); |
||||
+ |
||||
//Verify signature |
||||
//The documentation says that the signature is only valid if the return value is 0 (that is, not < 0) |
||||
//AND pDsigCtx->status == xmlSecDSigStatusSucceeded. That is, we must not make any assumptions, if |
||||
diff --git a/xmlsecurity/source/xmlsec/nss/xmlsignature_nssimpl.cxx b/xmlsecurity/source/xmlsec/nss/xmlsignature_nssimpl.cxx |
||||
index b41d754f7407..975c17272dc7 100644 |
||||
--- a/xmlsecurity/source/xmlsec/nss/xmlsignature_nssimpl.cxx |
||||
+++ b/xmlsecurity/source/xmlsec/nss/xmlsignature_nssimpl.cxx |
||||
@@ -20,6 +20,8 @@ |
||||
#include <sal/config.h> |
||||
#include <xmlsec-wrapper.h> |
||||
|
||||
+#include <xmlsec/nss/x509.h> |
||||
+ |
||||
#include <xmlelementwrapper_xmlsecimpl.hxx> |
||||
#include <xmlsec/xmlstreamio.hxx> |
||||
#include <xmlsec/errorcallback.hxx> |
||||
@@ -247,6 +249,10 @@ SAL_CALL XMLSignature_NssImpl::validate( |
||||
// We do certificate verification ourselves. |
||||
pDsigCtx->keyInfoReadCtx.flags |= XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS; |
||||
|
||||
+ // limit possible key data to valid X509 certificates only, no KeyValues |
||||
+ if (xmlSecPtrListAdd(&(pDsigCtx->keyInfoReadCtx.enabledKeyData), BAD_CAST xmlSecNssKeyDataX509GetKlass()) < 0) |
||||
+ throw RuntimeException("failed to limit allowed key data"); |
||||
+ |
||||
//Verify signature |
||||
int rs = xmlSecDSigCtxVerify( pDsigCtx.get() , pNode ); |
||||
|
||||
-- |
||||
2.35.1 |
||||
|
@ -0,0 +1,53 @@
@@ -0,0 +1,53 @@
|
||||
From 3925cf39742ebee935498b14571f13f3e8b64b49 Mon Sep 17 00:00:00 2001 |
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com> |
||||
Date: Sat, 19 Feb 2022 20:43:33 +0000 |
||||
Subject: [PATCH] EditTextObjectImpl copy ctor doesn't exactly copy |
||||
EditTextObjectImpl |
||||
MIME-Version: 1.0 |
||||
Content-Type: text/plain; charset=UTF-8 |
||||
Content-Transfer-Encoding: 8bit |
||||
|
||||
and this is apparently relied on, so eliding the copy gives unexpected |
||||
results. |
||||
|
||||
EditTextObjectImpl::Clone returns a copy of *this, but the |
||||
EditTextObjectImpl copy ctor explicitly does not copy the "PortionInfo" |
||||
member, so in: |
||||
|
||||
commit fb8973f31f111229be5184f4e4223e963ced2c7b |
||||
Author: Caolán McNamara <caolanm@redhat.com> |
||||
Date: Sat Oct 10 19:21:38 2020 +0100 |
||||
|
||||
ofz#23492 the only user of this ctor throws away the original of the clone |
||||
|
||||
so we can take ownership of the original instead |
||||
|
||||
where the copy was optimized away we want from a state where there was a |
||||
new EditTextObjectImpl with an empty PortionInfo member to one where the |
||||
PortionInfo of the EditTextObjectImpl was retained. |
||||
|
||||
So explicitly clear this unwanted info. |
||||
|
||||
It's very hard to make rational judgements about code if a copy behaves |
||||
differently than the orignal :-( |
||||
|
||||
Change-Id: I642d60841d6bdccbf830f8a2ccdbd9f542a8aa18 |
||||
--- |
||||
editeng/source/outliner/outliner.cxx | 1 + |
||||
1 file changed, 1 insertion(+) |
||||
|
||||
diff --git a/editeng/source/outliner/outliner.cxx b/editeng/source/outliner/outliner.cxx |
||||
index 9c474131352c..d48e4a542723 100644 |
||||
--- a/editeng/source/outliner/outliner.cxx |
||||
+++ b/editeng/source/outliner/outliner.cxx |
||||
@@ -383,6 +383,7 @@ std::unique_ptr<OutlinerParaObject> Outliner::CreateParaObject( sal_Int32 nStart |
||||
aParagraphDataVector[nPara-nStartPara] = *GetParagraph(nPara); |
||||
} |
||||
|
||||
+ xText->ClearPortionInfo(); // tdf#147166 the PortionInfo is unwanted here |
||||
std::unique_ptr<OutlinerParaObject> pPObj(new OutlinerParaObject(std::move(xText), aParagraphDataVector, bIsEditDoc)); |
||||
pPObj->SetOutlinerMode(GetMode()); |
||||
|
||||
-- |
||||
2.35.1 |
||||
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,36 @@
@@ -0,0 +1,36 @@
|
||||
From caddaaa6afd2709f72dfb6160a485d405ac03966 Mon Sep 17 00:00:00 2001 |
||||
From: Rico Tzschichholz <ricotz@ubuntu.com> |
||||
Date: Tue, 11 Jul 2023 20:21:15 +0200 |
||||
Subject: [PATCH] Only pass -I... arguments to g-ir-scanner by using |
||||
pkg-config's --cflags-only-I |
||||
MIME-Version: 1.0 |
||||
Content-Type: text/plain; charset=UTF-8 |
||||
Content-Transfer-Encoding: 8bit |
||||
|
||||
Otherwise it is possible that e.g. -Wl,--export-dynamic is passed which is fatal. |
||||
|
||||
Change-Id: I1735641e3149c86456e1164b67509a719e09d446 |
||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154340 |
||||
Reviewed-by: René Engelhard <rene@debian.org> |
||||
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> |
||||
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> |
||||
--- |
||||
sysui/CustomTarget_share.mk | 2 +- |
||||
1 file changed, 1 insertion(+), 1 deletion(-) |
||||
|
||||
diff --git a/sysui/CustomTarget_share.mk b/sysui/CustomTarget_share.mk |
||||
index b86521a3a80f..912048b2ad66 100644 |
||||
--- a/sysui/CustomTarget_share.mk |
||||
+++ b/sysui/CustomTarget_share.mk |
||||
@@ -167,7 +167,7 @@ $(share_WORKDIR)/%/LOKDocView-0.1.gir: \ |
||||
mkdir -p $(dir $@) |
||||
PYTHONWARNINGS=default g-ir-scanner "${SRCDIR}/include/LibreOfficeKit/LibreOfficeKitGtk.h" \ |
||||
"${SRCDIR}/libreofficekit/source/gtk/lokdocview.cxx" \ |
||||
- `${PKG_CONFIG} --cflags gobject-introspection-1.0 gtk+-3.0` \ |
||||
+ `${PKG_CONFIG} --cflags-only-I gobject-introspection-1.0 gtk+-3.0` \ |
||||
-I"${SRCDIR}/include/" \ |
||||
--include=GLib-2.0 --include=GObject-2.0 --include=Gio-2.0 \ |
||||
--library=libreofficekitgtk --library-path="${INSTDIR}/program" \ |
||||
-- |
||||
2.41.0 |
||||
|
@ -0,0 +1,162 @@
@@ -0,0 +1,162 @@
|
||||
From 366e9237399a948d2ef616b758d390bd7d0978a5 Mon Sep 17 00:00:00 2001 |
||||
From: Stephan Bergmann <sbergman@redhat.com> |
||||
Date: Mon, 31 May 2021 09:36:28 +0200 |
||||
Subject: [PATCH] Replace inet_ntoa with inet_ntop |
||||
|
||||
...as inet_ntoa is potentially not thread-safe; and add a test |
||||
|
||||
Change-Id: I9df945b006ba7194c3b1444c4886101c08339ad0 |
||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116425 |
||||
Tested-by: Jenkins |
||||
Reviewed-by: Stephan Bergmann <sbergman@redhat.com> |
||||
(cherry picked from commit 33bf4f0bcf941ee4609f558442035514f54cbc8a) |
||||
|
||||
and |
||||
|
||||
Replace inet_addr with inet_pton |
||||
|
||||
...as inet_addr is deprecated (it does not allow to distinguish successful |
||||
return for "255.255.255.255" from -1 error return); and update tests |
||||
|
||||
Change-Id: I605cb2ba18fe9bd11d2d68c8f1c94271c4503509 |
||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116441 |
||||
Tested-by: Jenkins |
||||
Reviewed-by: Stephan Bergmann <sbergman@redhat.com> |
||||
(cherry picked from commit 1fef071c01caf6c293dd941ee7c8340e6894afc3) |
||||
|
||||
fix leak in SocketTest |
||||
|
||||
Change-Id: I8c5e2d4c4687beab08876fe3e945d19a1629bc36 |
||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116514 |
||||
Tested-by: Jenkins |
||||
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> |
||||
(cherry picked from commit 313eaf979ea2d69e4ffa88a5e87cc09ffe0ff088) |
||||
--- |
||||
sal/CppunitTest_sal_osl.mk | 1 + |
||||
sal/osl/unx/socket.cxx | 16 +++++++---- |
||||
sal/qa/osl/socket.cxx | 58 ++++++++++++++++++++++++++++++++++++++ |
||||
3 files changed, 70 insertions(+), 5 deletions(-) |
||||
create mode 100644 sal/qa/osl/socket.cxx |
||||
|
||||
diff --git a/sal/CppunitTest_sal_osl.mk b/sal/CppunitTest_sal_osl.mk |
||||
index 2e4b77509f56..d8c2627d9e0f 100644 |
||||
--- a/sal/CppunitTest_sal_osl.mk |
||||
+++ b/sal/CppunitTest_sal_osl.mk |
||||
@@ -23,6 +23,7 @@ $(eval $(call gb_CppunitTest_add_exception_objects,sal_osl,\ |
||||
sal/qa/osl/process/osl_Thread \ |
||||
sal/qa/osl/profile/osl_old_testprofile \ |
||||
sal/qa/osl/setthreadname/test-setthreadname \ |
||||
+ sal/qa/osl/socket \ |
||||
)) |
||||
|
||||
$(eval $(call gb_CppunitTest_use_libraries,sal_osl,\ |
||||
diff --git a/sal/osl/unx/socket.cxx b/sal/osl/unx/socket.cxx |
||||
index 56a8f6cd63ac..9fafc6d1db81 100644 |
||||
--- a/sal/osl/unx/socket.cxx |
||||
+++ b/sal/osl/unx/socket.cxx |
||||
@@ -437,7 +437,10 @@ oslSocketAddr SAL_CALL osl_createInetBroadcastAddr ( |
||||
&pDottedAddr, strDottedAddr->buffer, strDottedAddr->length, |
||||
RTL_TEXTENCODING_UTF8, OUSTRING_TO_OSTRING_CVTFLAGS); |
||||
|
||||
- nAddr = inet_addr (pDottedAddr->buffer); |
||||
+ in_addr buf; |
||||
+ if (inet_pton (AF_INET, pDottedAddr->buffer, &buf) == 1) { |
||||
+ nAddr = buf.s_addr; |
||||
+ } |
||||
rtl_string_release (pDottedAddr); |
||||
} |
||||
|
||||
@@ -505,11 +508,11 @@ oslSocketAddr osl_psz_createInetSocketAddr ( |
||||
sal_Int32 Port) |
||||
{ |
||||
oslSocketAddr pAddr = nullptr; |
||||
- sal_Int32 Addr = inet_addr(pszDottedAddr); |
||||
- if(Addr != -1) |
||||
+ in_addr buf; |
||||
+ if(inet_pton(AF_INET, pszDottedAddr, &buf) == 1) |
||||
{ |
||||
/* valid dotted addr */ |
||||
- pAddr = createSocketAddrWithFamily( osl_Socket_FamilyInet, htons(Port) , Addr ); |
||||
+ pAddr = createSocketAddrWithFamily( osl_Socket_FamilyInet, htons(Port) , buf.s_addr ); |
||||
} |
||||
return pAddr; |
||||
} |
||||
@@ -1090,7 +1093,10 @@ oslSocketResult SAL_CALL osl_getDottedInetAddrOfSocketAddr(oslSocketAddr Addr, r |
||||
return osl_Socket_Error; |
||||
} |
||||
|
||||
- rtl_uString_newFromAscii(ustrDottedInetAddr,inet_ntoa(pSystemInetAddr->sin_addr)); |
||||
+ char buf[INET_ADDRSTRLEN]; |
||||
+ auto const text = inet_ntop(AF_INET, &pSystemInetAddr->sin_addr, buf, INET_ADDRSTRLEN); |
||||
+ assert(text != nullptr); |
||||
+ rtl_uString_newFromAscii(ustrDottedInetAddr,text); |
||||
|
||||
return osl_Socket_Ok; |
||||
|
||||
diff --git a/sal/qa/osl/socket.cxx b/sal/qa/osl/socket.cxx |
||||
new file mode 100644 |
||||
index 000000000000..ed31c9ede7ae |
||||
--- /dev/null |
||||
+++ b/sal/qa/osl/socket.cxx |
||||
@@ -0,0 +1,58 @@ |
||||
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */ |
||||
+/* |
||||
+ * 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 <cppunit/TestAssert.h> |
||||
+#include <cppunit/TestFixture.h> |
||||
+#include <cppunit/extensions/HelperMacros.h> |
||||
+ |
||||
+#include <osl/socket.h> |
||||
+#include <rtl/ustring.hxx> |
||||
+ |
||||
+namespace |
||||
+{ |
||||
+class SocketTest : public CppUnit::TestFixture |
||||
+{ |
||||
+ CPPUNIT_TEST_SUITE(SocketTest); |
||||
+ CPPUNIT_TEST(test_createInetSocketAddr); |
||||
+ CPPUNIT_TEST(test_createInetBroadcastAddr); |
||||
+ CPPUNIT_TEST_SUITE_END(); |
||||
+ |
||||
+ void test_createInetSocketAddr() |
||||
+ { |
||||
+ OUString const in("123.4.56.78"); |
||||
+ auto const addr = osl_createInetSocketAddr(in.pData, 100); |
||||
+ CPPUNIT_ASSERT(addr != nullptr); |
||||
+ CPPUNIT_ASSERT_EQUAL(osl_Socket_FamilyInet, osl_getFamilyOfSocketAddr(addr)); |
||||
+ OUString out; |
||||
+ auto const res = osl_getDottedInetAddrOfSocketAddr(addr, &out.pData); |
||||
+ CPPUNIT_ASSERT_EQUAL(osl_Socket_Ok, res); |
||||
+ CPPUNIT_ASSERT_EQUAL(in, out); |
||||
+ CPPUNIT_ASSERT_EQUAL(sal_Int32(100), osl_getInetPortOfSocketAddr(addr)); |
||||
+ osl_destroySocketAddr(addr); |
||||
+ } |
||||
+ |
||||
+ void test_createInetBroadcastAddr() |
||||
+ { |
||||
+ OUString const in("123.4.56.78"); |
||||
+ auto const addr = osl_createInetBroadcastAddr(in.pData, 100); |
||||
+ CPPUNIT_ASSERT(addr != nullptr); |
||||
+ CPPUNIT_ASSERT_EQUAL(osl_Socket_FamilyInet, osl_getFamilyOfSocketAddr(addr)); |
||||
+ OUString out; |
||||
+ auto const res = osl_getDottedInetAddrOfSocketAddr(addr, &out.pData); |
||||
+ CPPUNIT_ASSERT_EQUAL(osl_Socket_Ok, res); |
||||
+ CPPUNIT_ASSERT_EQUAL(OUString("123.255.255.255"), out); |
||||
+ CPPUNIT_ASSERT_EQUAL(sal_Int32(100), osl_getInetPortOfSocketAddr(addr)); |
||||
+ osl_destroySocketAddr(addr); |
||||
+ } |
||||
+}; |
||||
+ |
||||
+CPPUNIT_TEST_SUITE_REGISTRATION(SocketTest); |
||||
+} |
||||
+ |
||||
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ |
||||
-- |
||||
2.31.1 |
||||
|
@ -0,0 +1,26 @@
@@ -0,0 +1,26 @@
|
||||
From 87b90b6fbf010effd44ef0e2bd3d75b27562a82b Mon Sep 17 00:00:00 2001 |
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com> |
||||
Date: Mon, 27 Mar 2017 11:47:01 +0100 |
||||
Subject: [PATCH] Resolves: rhbz#1432468 disable opencl by default |
||||
|
||||
Change-Id: Ie037fcabdd219f195425979dd721501fb5527573 |
||||
--- |
||||
officecfg/registry/schema/org/openoffice/Office/Common.xcs | 2 +- |
||||
1 file changed, 1 insertion(+), 1 deletion(-) |
||||
|
||||
diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs |
||||
index 99b4104f6499..ef7ada84c2f3 100644 |
||||
--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs |
||||
+++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs |
||||
@@ -5652,7 +5652,7 @@ |
||||
<desc>Determines whether OpenCL can be used, when available, to speed up |
||||
some operations.</desc> |
||||
</info> |
||||
- <value>true</value> |
||||
+ <value>false</value> |
||||
</prop> |
||||
<prop oor:name="OpenCLDenyList" oor:type="oor:string-list" oor:nillable="false"> |
||||
<!-- UIHints: Tools - Options General OpenCL --> |
||||
-- |
||||
2.29.2 |
||||
|
@ -0,0 +1,123 @@
@@ -0,0 +1,123 @@
|
||||
From 197efb35e6f9661ecbeac2897d36a25bc2f6433e Mon Sep 17 00:00:00 2001 |
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com> |
||||
Date: Sun, 14 Nov 2021 14:59:38 +0000 |
||||
Subject: [PATCH] Resolves: tdf#140250 don't share adjustments between |
||||
differerent spinbuttons |
||||
|
||||
Change-Id: Ib684c746ff3176cf45ea9364efc12f2d6dde1f70 |
||||
--- |
||||
cui/uiconfig/ui/breaknumberoption.ui | 18 ++++++++++++++++-- |
||||
cui/uiconfig/ui/calloutpage.ui | 14 ++++++++++++-- |
||||
svx/uiconfig/ui/sidebareffect.ui | 7 ++++++- |
||||
3 files changed, 34 insertions(+), 5 deletions(-) |
||||
|
||||
diff --git a/cui/uiconfig/ui/breaknumberoption.ui b/cui/uiconfig/ui/breaknumberoption.ui |
||||
index 2641babeeb5d..23fe294ec702 100644 |
||||
--- a/cui/uiconfig/ui/breaknumberoption.ui |
||||
+++ b/cui/uiconfig/ui/breaknumberoption.ui |
||||
@@ -9,6 +9,20 @@ |
||||
<property name="step_increment">1</property> |
||||
<property name="page_increment">10</property> |
||||
</object> |
||||
+ <object class="GtkAdjustment" id="adjustment2"> |
||||
+ <property name="lower">2</property> |
||||
+ <property name="upper">9</property> |
||||
+ <property name="value">1</property> |
||||
+ <property name="step_increment">1</property> |
||||
+ <property name="page_increment">10</property> |
||||
+ </object> |
||||
+ <object class="GtkAdjustment" id="adjustment3"> |
||||
+ <property name="lower">2</property> |
||||
+ <property name="upper">9</property> |
||||
+ <property name="value">1</property> |
||||
+ <property name="step_increment">1</property> |
||||
+ <property name="page_increment">10</property> |
||||
+ </object> |
||||
<object class="GtkDialog" id="BreakNumberOption"> |
||||
<property name="can_focus">False</property> |
||||
<property name="border_width">6</property> |
||||
@@ -134,7 +148,7 @@ |
||||
<property name="can_focus">True</property> |
||||
<property name="halign">start</property> |
||||
<property name="activates_default">True</property> |
||||
- <property name="adjustment">adjustment1</property> |
||||
+ <property name="adjustment">adjustment2</property> |
||||
<property name="truncate-multiline">True</property> |
||||
<child internal-child="accessible"> |
||||
<object class="AtkObject" id="afterbreak-atkobject"> |
||||
@@ -179,7 +193,7 @@ |
||||
<property name="can_focus">True</property> |
||||
<property name="halign">start</property> |
||||
<property name="activates_default">True</property> |
||||
- <property name="adjustment">adjustment1</property> |
||||
+ <property name="adjustment">adjustment3</property> |
||||
<property name="truncate-multiline">True</property> |
||||
<child internal-child="accessible"> |
||||
<object class="AtkObject" id="wordlength-atkobject"> |
||||
diff --git a/cui/uiconfig/ui/calloutpage.ui b/cui/uiconfig/ui/calloutpage.ui |
||||
index 87d4eff64eb4..00898dc3390c 100644 |
||||
--- a/cui/uiconfig/ui/calloutpage.ui |
||||
+++ b/cui/uiconfig/ui/calloutpage.ui |
||||
@@ -7,6 +7,16 @@ |
||||
<property name="step_increment">0.5</property> |
||||
<property name="page_increment">10</property> |
||||
</object> |
||||
+ <object class="GtkAdjustment" id="adjustment2"> |
||||
+ <property name="upper">2400</property> |
||||
+ <property name="step_increment">0.5</property> |
||||
+ <property name="page_increment">10</property> |
||||
+ </object> |
||||
+ <object class="GtkAdjustment" id="adjustment3"> |
||||
+ <property name="upper">2400</property> |
||||
+ <property name="step_increment">0.5</property> |
||||
+ <property name="page_increment">10</property> |
||||
+ </object> |
||||
<object class="GtkBox" id="CalloutPage"> |
||||
<property name="visible">True</property> |
||||
<property name="can_focus">False</property> |
||||
@@ -231,7 +241,7 @@ |
||||
<property name="can_focus">True</property> |
||||
<property name="activates_default">True</property> |
||||
<property name="text">0.00</property> |
||||
- <property name="adjustment">adjustment1</property> |
||||
+ <property name="adjustment">adjustment2</property> |
||||
<property name="digits">2</property> |
||||
<property name="truncate-multiline">True</property> |
||||
<child internal-child="accessible"> |
||||
@@ -277,7 +287,7 @@ |
||||
<property name="can_focus">True</property> |
||||
<property name="activates_default">True</property> |
||||
<property name="text">0.00</property> |
||||
- <property name="adjustment">adjustment1</property> |
||||
+ <property name="adjustment">adjustment3</property> |
||||
<property name="digits">2</property> |
||||
<property name="truncate-multiline">True</property> |
||||
<child internal-child="accessible"> |
||||
diff --git a/svx/uiconfig/ui/sidebareffect.ui b/svx/uiconfig/ui/sidebareffect.ui |
||||
index 0e633242cd5c..1e041a2a8726 100644 |
||||
--- a/svx/uiconfig/ui/sidebareffect.ui |
||||
+++ b/svx/uiconfig/ui/sidebareffect.ui |
||||
@@ -12,6 +12,11 @@ |
||||
<property name="step_increment">1</property> |
||||
<property name="page_increment">10</property> |
||||
</object> |
||||
+ <object class="GtkAdjustment" id="adjustment3"> |
||||
+ <property name="upper">150</property> |
||||
+ <property name="step_increment">1</property> |
||||
+ <property name="page_increment">10</property> |
||||
+ </object> |
||||
<!-- n-columns=1 n-rows=1 --> |
||||
<object class="GtkGrid" id="EffectPropertyPanel"> |
||||
<property name="visible">True</property> |
||||
@@ -195,7 +200,7 @@ |
||||
<property name="can_focus">True</property> |
||||
<property name="hexpand">True</property> |
||||
<property name="truncate-multiline">True</property> |
||||
- <property name="adjustment">adjustment1</property> |
||||
+ <property name="adjustment">adjustment3</property> |
||||
</object> |
||||
<packing> |
||||
<property name="left_attach">1</property> |
||||
-- |
||||
2.33.1 |
||||
|
@ -0,0 +1,63 @@
@@ -0,0 +1,63 @@
|
||||
From ea6cfca48017b76bfeb8898e6d9e47b3011a3add Mon Sep 17 00:00:00 2001 |
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com> |
||||
Date: Sat, 6 Nov 2021 21:32:21 +0000 |
||||
Subject: [PATCH] Resolves: tdf#145567 restore focus to the usual frame focus |
||||
widget |
||||
|
||||
when tearing down the start center. Don't leave the focus in an |
||||
arbitrary widget. |
||||
|
||||
Change-Id: I82c30c94121dc43b2ea1b4fbc66a0a3e79f7e664 |
||||
--- |
||||
vcl/unx/gtk3/gtk3gtkinst.cxx | 28 ++++++++++++++++++++++++++++ |
||||
1 file changed, 28 insertions(+) |
||||
|
||||
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx |
||||
index a5d233e2f95e..0fddb27aaa2d 100644 |
||||
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx |
||||
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx |
||||
@@ -1899,6 +1899,26 @@ GdkDragAction VclToGdk(sal_Int8 dragOperation) |
||||
return eRet; |
||||
} |
||||
|
||||
+GtkWindow* get_active_window() |
||||
+{ |
||||
+ GtkWindow* pFocus = nullptr; |
||||
+ |
||||
+ GList* pList = gtk_window_list_toplevels(); |
||||
+ |
||||
+ for (GList* pEntry = pList; pEntry; pEntry = pEntry->next) |
||||
+ { |
||||
+ if (gtk_window_has_toplevel_focus(GTK_WINDOW(pEntry->data))) |
||||
+ { |
||||
+ pFocus = GTK_WINDOW(pEntry->data); |
||||
+ break; |
||||
+ } |
||||
+ } |
||||
+ |
||||
+ g_list_free(pList); |
||||
+ |
||||
+ return pFocus; |
||||
+} |
||||
+ |
||||
class GtkInstanceWidget : public virtual weld::Widget |
||||
{ |
||||
protected: |
||||
@@ -16635,6 +16655,14 @@ private: |
||||
// rehook handler and let vcl cycle its own way through this widget's |
||||
// children |
||||
pFrame->AllowCycleFocusOut(); |
||||
+ |
||||
+ // tdf#145567 if the focus is in this hierarchy then, now that we are tearing down, |
||||
+ // move focus to the usual focus candidate for the frame |
||||
+ GtkWindow* pFocusWin = get_active_window(); |
||||
+ GtkWidget* pFocus = pFocusWin ? gtk_window_get_focus(pFocusWin) : nullptr; |
||||
+ bool bHasFocus = pFocus && gtk_widget_is_ancestor(pFocus, pTopLevel); |
||||
+ if (bHasFocus) |
||||
+ pFrame->GrabFocus(); |
||||
} |
||||
|
||||
static void signalUnmap(GtkWidget*, gpointer user_data) |
||||
-- |
||||
2.33.1 |
||||
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,39 @@
@@ -0,0 +1,39 @@
|
||||
From 68a6c70f25762374f7aed0d4d755345c6f37c78d Mon Sep 17 00:00:00 2001 |
||||
From: Stephan Bergmann <sbergman@redhat.com> |
||||
Date: Mon, 31 May 2021 10:56:38 +0200 |
||||
Subject: [PATCH] Simplify construction of a hardcoded IPv4 address |
||||
|
||||
Change-Id: I822313ee708935dd4ecb636c13a961fdd054d660 |
||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116434 |
||||
Tested-by: Jenkins |
||||
Reviewed-by: Stephan Bergmann <sbergman@redhat.com> |
||||
--- |
||||
sd/source/ui/remotecontrol/DiscoveryService.cxx | 12 +----------- |
||||
1 file changed, 1 insertion(+), 11 deletions(-) |
||||
|
||||
diff --git a/sd/source/ui/remotecontrol/DiscoveryService.cxx b/sd/source/ui/remotecontrol/DiscoveryService.cxx |
||||
index 9ed2ae727761..cf0043387403 100644 |
||||
--- a/sd/source/ui/remotecontrol/DiscoveryService.cxx |
||||
+++ b/sd/source/ui/remotecontrol/DiscoveryService.cxx |
||||
@@ -119,17 +119,7 @@ void DiscoveryService::setupSockets() |
||||
|
||||
struct ip_mreq multicastRequest; |
||||
|
||||
-// the Win32 SDK 8.1 deprecates inet_addr() |
||||
-#if defined(_WIN32) |
||||
- IN_ADDR addr; |
||||
- INT ret = InetPtonW(AF_INET, L"239.0.0.1", & addr); |
||||
- if (1 == ret) |
||||
- { |
||||
- multicastRequest.imr_multiaddr.s_addr = addr.S_un.S_addr; |
||||
- } |
||||
-#else |
||||
- multicastRequest.imr_multiaddr.s_addr = inet_addr( "239.0.0.1" ); |
||||
-#endif |
||||
+ multicastRequest.imr_multiaddr.s_addr = htonl((239U << 24) | 1U); // 239.0.0.1 |
||||
multicastRequest.imr_interface.s_addr = htonl(INADDR_ANY); |
||||
|
||||
rc = setsockopt( mSocket, IPPROTO_IP, IP_ADD_MEMBERSHIP, |
||||
-- |
||||
2.31.1 |
||||
|
@ -0,0 +1,143 @@
@@ -0,0 +1,143 @@
|
||||
From 6de192ad5ffe9ec04328bfd178050cb8a33e1cbb Mon Sep 17 00:00:00 2001 |
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com> |
||||
Date: Wed, 15 Dec 2021 12:46:24 +0000 |
||||
Subject: [PATCH] annocheck warning about missing .note.gnu.property section |
||||
MIME-Version: 1.0 |
||||
Content-Type: text/plain; charset=UTF-8 |
||||
Content-Transfer-Encoding: 8bit |
||||
|
||||
copy and paste recommendation from: |
||||
https://sourceware.org/annobin/annobin.html/Test-cf-protection.html |
||||
|
||||
and adapt like: |
||||
https://github.com/openssl/openssl/commit/51994e505dbb1cd0dd76869ec962e2948b77b585 |
||||
where https://bugs.ruby-lang.org/attachments/8962 is similar |
||||
|
||||
Intel docs have "The ENDBR32 and ENDBR64 (collectively ENDBRANCH) are |
||||
two new instructions that are used to mark valid indirect CALL/JMP |
||||
target locations in the program." |
||||
|
||||
Change-Id: Ie867c263a888763db4478720ba189c9ec6cc974d |
||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126859 |
||||
Tested-by: Jenkins |
||||
Tested-by: Caolán McNamara <caolanm@redhat.com> |
||||
Reviewed-by: Caolán McNamara <caolanm@redhat.com> |
||||
(cherry picked from commit af55dc3891f7950d392175004b2090cb0e54828e) |
||||
--- |
||||
.../source/cpp_uno/gcc3_linux_intel/call.s | 16 ++++++++++++++++ |
||||
.../source/cpp_uno/gcc3_linux_x86-64/call.s | 19 +++++++++++++++++++ |
||||
config_host.mk.in | 1 + |
||||
configure.ac | 14 ++++++++++++++ |
||||
solenv/gbuild/platform/com_GCC_class.mk | 1 + |
||||
5 files changed, 51 insertions(+) |
||||
|
||||
diff --git a/bridges/source/cpp_uno/gcc3_linux_intel/call.s b/bridges/source/cpp_uno/gcc3_linux_intel/call.s |
||||
index 6be583247733..0a5870defcf3 100644 |
||||
--- a/bridges/source/cpp_uno/gcc3_linux_intel/call.s |
||||
+++ b/bridges/source/cpp_uno/gcc3_linux_intel/call.s |
||||
@@ -290,3 +290,19 @@ privateSnippetExecutorClass: |
||||
.align 4 |
||||
.LEFDEc: |
||||
.section .note.GNU-stack,"",@progbits |
||||
+ .section .note.gnu.property,"a" |
||||
+ .p2align 2 |
||||
+ .long 1f - 0f |
||||
+ .long 4f - 1f |
||||
+ .long 5 |
||||
+0: |
||||
+ .string "GNU" |
||||
+1: |
||||
+ .p2align 2 |
||||
+ .long 0xc0000002 |
||||
+ .long 3f - 2f |
||||
+2: |
||||
+ .long 0x3 |
||||
+3: |
||||
+ .p2align 2 |
||||
+4: |
||||
diff --git a/bridges/source/cpp_uno/gcc3_linux_x86-64/call.s b/bridges/source/cpp_uno/gcc3_linux_x86-64/call.s |
||||
index 447ac0cecfdd..2e9346dff8a0 100644 |
||||
--- a/bridges/source/cpp_uno/gcc3_linux_x86-64/call.s |
||||
+++ b/bridges/source/cpp_uno/gcc3_linux_x86-64/call.s |
||||
@@ -22,6 +22,9 @@ |
||||
.type privateSnippetExecutor, @function |
||||
privateSnippetExecutor: |
||||
.LFB3: |
||||
+#if defined(END_BRANCH_INS_SUPPORT) |
||||
+ endbr64 |
||||
+#endif |
||||
pushq %rbp |
||||
.LCFI0: |
||||
movq %rsp, %rbp |
||||
@@ -115,3 +118,19 @@ privateSnippetExecutor: |
||||
.align 8 |
||||
.LEFDE1: |
||||
.section .note.GNU-stack,"",@progbits |
||||
+ .section .note.gnu.property,"a" |
||||
+ .p2align 3 |
||||
+ .long 1f - 0f |
||||
+ .long 4f - 1f |
||||
+ .long 5 |
||||
+0: |
||||
+ .string "GNU" |
||||
+1: |
||||
+ .p2align 3 |
||||
+ .long 0xc0000002 |
||||
+ .long 3f - 2f |
||||
+2: |
||||
+ .long 0x3 |
||||
+3: |
||||
+ .p2align 3 |
||||
+4: |
||||
diff --git a/config_host.mk.in b/config_host.mk.in |
||||
index d6edba704b21..6ac2a90695e2 100644 |
||||
--- a/config_host.mk.in |
||||
+++ b/config_host.mk.in |
||||
@@ -260,6 +260,7 @@ export GTK3_CFLAGS=$(gb_SPACE)@GTK3_CFLAGS@ |
||||
export GTK3_LIBS=$(gb_SPACE)@GTK3_LIBS@ |
||||
export USING_X11=@USING_X11@ |
||||
export HAMCREST_JAR=@HAMCREST_JAR@ |
||||
+export HAVE_ASM_END_BRANCH_INS_SUPPORT=@HAVE_ASM_END_BRANCH_INS_SUPPORT@ |
||||
export HAVE_BROKEN_GCC_WMAYBE_UNINITIALIZED=@HAVE_BROKEN_GCC_WMAYBE_UNINITIALIZED@ |
||||
export HAVE_CLANG_DEBUG_INFO_KIND_CONSTRUCTOR=@HAVE_CLANG_DEBUG_INFO_KIND_CONSTRUCTOR@ |
||||
export HAVE_LO_CLANG_DLLEXPORTINLINES=@HAVE_LO_CLANG_DLLEXPORTINLINES@ |
||||
diff --git a/configure.ac b/configure.ac |
||||
index bd28bc6eb38e..ef03408e8e98 100644 |
||||
--- a/configure.ac |
||||
+++ b/configure.ac |
||||
@@ -7730,6 +7730,20 @@ _ACEOF |
||||
|
||||
CPPFLAGS="$save_CPPFLAGS" |
||||
|
||||
+ AC_MSG_CHECKING([if CET endbranch is recognized]) |
||||
+cat > endbr.s <<_ACEOF |
||||
+endbr32 |
||||
+_ACEOF |
||||
+ HAVE_ASM_END_BRANCH_INS_SUPPORT= |
||||
+ if $CXX -c endbr.s -o endbr.o >/dev/null 2>&5; then |
||||
+ AC_MSG_RESULT([yes]) |
||||
+ HAVE_ASM_END_BRANCH_INS_SUPPORT=TRUE |
||||
+ else |
||||
+ AC_MSG_RESULT([no]) |
||||
+ fi |
||||
+ rm -f endbr.s endbr.o |
||||
+ AC_SUBST(HAVE_ASM_END_BRANCH_INS_SUPPORT) |
||||
+ |
||||
AC_LANG_POP([C++]) |
||||
fi |
||||
|
||||
diff --git a/solenv/gbuild/platform/com_GCC_class.mk b/solenv/gbuild/platform/com_GCC_class.mk |
||||
index c29e2a979fd9..e2056abf9682 100644 |
||||
--- a/solenv/gbuild/platform/com_GCC_class.mk |
||||
+++ b/solenv/gbuild/platform/com_GCC_class.mk |
||||
@@ -44,6 +44,7 @@ $(call gb_Helper_abbreviate_dirs,\ |
||||
-x assembler-with-cpp \ |
||||
$(gb_LTOFLAGS) \ |
||||
$(gb_AFLAGS) \ |
||||
+ $(if $(HAVE_ASM_END_BRANCH_INS_SUPPORT),-DEND_BRANCH_INS_SUPPORT) \ |
||||
-c $(3) \ |
||||
-o $(1)) \ |
||||
$(INCLUDE) && \ |
||||
-- |
||||
2.33.1 |
||||
|
@ -0,0 +1,58 @@
@@ -0,0 +1,58 @@
|
||||
From ffceb48dd576ababe346c9548b12ca18f31d3293 Mon Sep 17 00:00:00 2001 |
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com> |
||||
Date: Fri, 10 Mar 2023 11:41:45 +0000 |
||||
Subject: [PATCH] default to sifr for gnome light mode |
||||
|
||||
https://pagure.io/fedora-workstation/issue/361 |
||||
|
||||
"Fedora Workstation currently uses the rather outdated-looking |
||||
Elementary icon theme for LibreOffice, instead of the Sifr icon theme |
||||
which was designed to fit in with GNOME's icons. The Sifr theme saw a |
||||
nice update with LibreOffice 7.5, the version being shipped in Fedora |
||||
Linux 38, which makes the icons fit better with the current GNOME design |
||||
language." |
||||
|
||||
Change-Id: Ic37bbe8e7ad754ab070ead06dc0b006c6ccf3adb |
||||
--- |
||||
vcl/qa/cppunit/app/test_IconThemeSelector.cxx | 4 ++-- |
||||
vcl/source/app/IconThemeSelector.cxx | 2 +- |
||||
2 files changed, 3 insertions(+), 3 deletions(-) |
||||
|
||||
diff --git a/vcl/qa/cppunit/app/test_IconThemeSelector.cxx b/vcl/qa/cppunit/app/test_IconThemeSelector.cxx |
||||
index 72ee344b1437..8d1aea0c3889 100644 |
||||
--- a/vcl/qa/cppunit/app/test_IconThemeSelector.cxx |
||||
+++ b/vcl/qa/cppunit/app/test_IconThemeSelector.cxx |
||||
@@ -85,7 +85,7 @@ IconThemeSelectorTest::ElementaryIsReturnedForGnomeDesktop() |
||||
std::vector<vcl::IconThemeInfo> themes = GetFakeInstalledThemes(); |
||||
vcl::IconThemeSelector s; |
||||
OUString r = s.SelectIconThemeForDesktopEnvironment(themes, "gnome"); |
||||
- CPPUNIT_ASSERT_EQUAL_MESSAGE("'elementary' theme is returned for gnome desktop", OUString("elementary"), r); |
||||
+ CPPUNIT_ASSERT_EQUAL_MESSAGE("'sifr' theme is returned for gnome desktop", OUString("sifr"), r); |
||||
} |
||||
|
||||
void |
||||
@@ -96,7 +96,7 @@ IconThemeSelectorTest::ThemeIsOverriddenByPreferredTheme() |
||||
s.SetPreferredIconTheme(preferred, false); |
||||
std::vector<vcl::IconThemeInfo> themes = GetFakeInstalledThemes(); |
||||
OUString selected = s.SelectIconThemeForDesktopEnvironment(themes, "gnome"); |
||||
- CPPUNIT_ASSERT_EQUAL_MESSAGE("'elementary' theme is overridden by breeze", preferred, selected); |
||||
+ CPPUNIT_ASSERT_EQUAL_MESSAGE("'sifr' theme is overridden by breeze", preferred, selected); |
||||
} |
||||
|
||||
void |
||||
diff --git a/vcl/source/app/IconThemeSelector.cxx b/vcl/source/app/IconThemeSelector.cxx |
||||
index 6b8dfc0f42c7..ee30e577f3f5 100644 |
||||
--- a/vcl/source/app/IconThemeSelector.cxx |
||||
+++ b/vcl/source/app/IconThemeSelector.cxx |
||||
@@ -86,7 +86,7 @@ IconThemeSelector::GetIconThemeForDesktopEnvironment(const OUString& desktopEnvi |
||||
desktopEnvironment.equalsIgnoreAsciiCase("mate") || |
||||
desktopEnvironment.equalsIgnoreAsciiCase("unity") ) { |
||||
if (!bPreferDarkIconTheme) |
||||
- r = "elementary"; |
||||
+ r = "sifr"; |
||||
else |
||||
r = "sifr_dark"; |
||||
} else |
||||
-- |
||||
2.40.1 |
||||
|
@ -0,0 +1,145 @@
@@ -0,0 +1,145 @@
|
||||
From 0b613b941c3ffbe432934269f8865bc1f9e59cde Mon Sep 17 00:00:00 2001 |
||||
From: rpm-build <rpm-build> |
||||
Date: Tue, 27 Sep 2022 15:13:59 -0700 |
||||
Subject: [PATCH] disable libe-book support |
||||
|
||||
--- |
||||
configure.ac | 3 --- |
||||
external/Module_external.mk | 1 - |
||||
filter/Configuration_filter.mk | 8 -------- |
||||
writerperfect/Library_wpftwriter.mk | 2 -- |
||||
writerperfect/qa/unit/WpftFilterFixture.hxx | 4 ---- |
||||
writerperfect/qa/unit/WpftWriterFilterTest.cxx | 5 ----- |
||||
writerperfect/source/writer/wpftwriter.component | 6 ------ |
||||
7 files changed, 29 deletions(-) |
||||
|
||||
diff --git a/configure.ac b/configure.ac |
||||
index 8babc85..e7733de 100644 |
||||
--- a/configure.ac |
||||
+++ b/configure.ac |
||||
@@ -9606,9 +9606,6 @@ libo_PKG_VERSION([ETONYEK], [libetonyek-0.1], [0.1.10]) |
||||
|
||||
libo_CHECK_SYSTEM_MODULE([libfreehand],[FREEHAND],[libfreehand-0.1]) |
||||
|
||||
-libo_CHECK_SYSTEM_MODULE([libebook],[EBOOK],[libe-book-0.1]) |
||||
-libo_PKG_VERSION([EBOOK], [libe-book-0.1], [0.1.2]) |
||||
- |
||||
libo_CHECK_SYSTEM_MODULE([libabw],[ABW],[libabw-0.1]) |
||||
|
||||
libo_CHECK_SYSTEM_MODULE([libpagemaker],[PAGEMAKER],[libpagemaker-0.0]) |
||||
diff --git a/external/Module_external.mk b/external/Module_external.mk |
||||
index 366fff2..bc987d1 100644 |
||||
--- a/external/Module_external.mk |
||||
+++ b/external/Module_external.mk |
||||
@@ -31,7 +31,6 @@ $(eval $(call gb_Module_add_moduledirs,external,\ |
||||
$(call gb_Helper_optional,CURL,curl) \ |
||||
$(call gb_Helper_optional,DRAGONBOX,dragonbox) \ |
||||
dtoa \ |
||||
- $(call gb_Helper_optional,EBOOK,libebook) \ |
||||
$(call gb_Helper_optional,EPM,epm) \ |
||||
$(call gb_Helper_optional,EPOXY,epoxy) \ |
||||
$(call gb_Helper_optional,EPUBGEN,libepubgen) \ |
||||
diff --git a/filter/Configuration_filter.mk b/filter/Configuration_filter.mk |
||||
index a58b839..526b447 100644 |
||||
--- a/filter/Configuration_filter.mk |
||||
+++ b/filter/Configuration_filter.mk |
||||
@@ -359,10 +359,6 @@ $(eval $(call filter_Configuration_add_types,fcfg_langpack,fcfg_writer_types.xcu |
||||
writer_OOXML_Template \ |
||||
writer_layout_dump_xml \ |
||||
writer_indexing_export_xml \ |
||||
- writer_BroadBand_eBook \ |
||||
- writer_FictionBook_2 \ |
||||
- writer_PalmDoc \ |
||||
- writer_Plucker_eBook \ |
||||
writer_ApplePages \ |
||||
MWAW_Text_Document \ |
||||
Palm_Text_Document \ |
||||
@@ -409,10 +405,6 @@ $(eval $(call filter_Configuration_add_filters,fcfg_langpack,fcfg_writer_filters |
||||
OOXML_Text_Template \ |
||||
writer_layout_dump \ |
||||
writer_indexing_export \ |
||||
- BroadBand_eBook \ |
||||
- FictionBook_2 \ |
||||
- PalmDoc \ |
||||
- Plucker_eBook \ |
||||
ApplePages \ |
||||
MWAW_Text_Document \ |
||||
Palm_Text_Document \ |
||||
diff --git a/writerperfect/Library_wpftwriter.mk b/writerperfect/Library_wpftwriter.mk |
||||
index 840a86f..70a8933 100644 |
||||
--- a/writerperfect/Library_wpftwriter.mk |
||||
+++ b/writerperfect/Library_wpftwriter.mk |
||||
@@ -64,7 +64,6 @@ endif |
||||
$(eval $(call gb_Library_use_externals,wpftwriter,\ |
||||
abw \ |
||||
boost_headers \ |
||||
- ebook \ |
||||
$(if $(ENABLE_WASM_STRIP_SWEXPORTS),,etonyek) \ |
||||
icu_headers \ |
||||
icui18n \ |
||||
@@ -93,7 +92,6 @@ endif |
||||
ifneq ($(ENABLE_WASM_STRIP_SWEXPORTS),TRUE) |
||||
$(eval $(call gb_Library_add_exception_objects,wpftwriter,\ |
||||
writerperfect/source/writer/AbiWordImportFilter \ |
||||
- writerperfect/source/writer/EBookImportFilter \ |
||||
writerperfect/source/writer/MSWorksImportFilter \ |
||||
writerperfect/source/writer/MWAWImportFilter \ |
||||
writerperfect/source/writer/PagesImportFilter \ |
||||
diff --git a/writerperfect/qa/unit/WpftFilterFixture.hxx b/writerperfect/qa/unit/WpftFilterFixture.hxx |
||||
index 2fdd6a2..dbdd672 100644 |
||||
--- a/writerperfect/qa/unit/WpftFilterFixture.hxx |
||||
+++ b/writerperfect/qa/unit/WpftFilterFixture.hxx |
||||
@@ -25,10 +25,6 @@ |
||||
|| ((major) == (req_major) \ |
||||
&& ((minor) > (req_minor) || ((minor) == (req_minor) && ((micro) >= (req_micro))))) |
||||
|
||||
-#define REQUIRE_EBOOK_VERSION(major, minor, micro) \ |
||||
- REQUIRE_VERSION(EBOOK_VERSION_MAJOR, EBOOK_VERSION_MINOR, EBOOK_VERSION_MICRO, major, minor, \ |
||||
- micro) |
||||
- |
||||
#define REQUIRE_ETONYEK_VERSION(major, minor, micro) \ |
||||
REQUIRE_VERSION(ETONYEK_VERSION_MAJOR, ETONYEK_VERSION_MINOR, ETONYEK_VERSION_MICRO, major, \ |
||||
minor, micro) |
||||
diff --git a/writerperfect/qa/unit/WpftWriterFilterTest.cxx b/writerperfect/qa/unit/WpftWriterFilterTest.cxx |
||||
index 78d24dc..39924f9 100644 |
||||
--- a/writerperfect/qa/unit/WpftWriterFilterTest.cxx |
||||
+++ b/writerperfect/qa/unit/WpftWriterFilterTest.cxx |
||||
@@ -30,9 +30,6 @@ WpftWriterFilterTest::WpftWriterFilterTest() |
||||
|
||||
void WpftWriterFilterTest::test() |
||||
{ |
||||
- const writerperfect::test::WpftOptionalMap_t aEBookOptional{ |
||||
- { "FictionBook2.fb2.zip", REQUIRE_EBOOK_VERSION(0, 1, 1) }, |
||||
- }; |
||||
const writerperfect::test::WpftOptionalMap_t aEtonyekOptional{ |
||||
{ "Pages_4.pages", REQUIRE_ETONYEK_VERSION(0, 1, 2) }, |
||||
{ "Pages_5.pages", REQUIRE_ETONYEK_VERSION(0, 1, 8) }, |
||||
@@ -59,8 +56,6 @@ void WpftWriterFilterTest::test() |
||||
|
||||
doTest("com.sun.star.comp.Writer.AbiWordImportFilter", |
||||
u"/writerperfect/qa/unit/data/writer/libabw/"); |
||||
- doTest("org.libreoffice.comp.Writer.EBookImportFilter", |
||||
- u"/writerperfect/qa/unit/data/writer/libe-book/", aEBookOptional); |
||||
doTest("com.sun.star.comp.Writer.MSWorksImportFilter", |
||||
u"/writerperfect/qa/unit/data/writer/libwps/", aWpsOptional); |
||||
doTest("com.sun.star.comp.Writer.MWAWImportFilter", |
||||
diff --git a/writerperfect/source/writer/wpftwriter.component b/writerperfect/source/writer/wpftwriter.component |
||||
index 176d487..0c89217 100644 |
||||
--- a/writerperfect/source/writer/wpftwriter.component |
||||
+++ b/writerperfect/source/writer/wpftwriter.component |
||||
@@ -42,12 +42,6 @@ |
||||
<service name="com.sun.star.document.ImportFilter"/> |
||||
<optional/> |
||||
</implementation> |
||||
- <implementation name="org.libreoffice.comp.Writer.EBookImportFilter" |
||||
- constructor="org_libreoffice_comp_Writer_EBookImportFilter_get_implementation"> |
||||
- <service name="com.sun.star.document.ExtendedTypeDetection"/> |
||||
- <service name="com.sun.star.document.ImportFilter"/> |
||||
- <optional/> |
||||
- </implementation> |
||||
<implementation name="org.libreoffice.comp.Writer.PagesImportFilter" |
||||
constructor="org_libreoffice_comp_Writer_PagesImportFilter_get_implementation"> |
||||
<service name="com.sun.star.document.ExtendedTypeDetection"/> |
||||
-- |
||||
2.31.1 |
||||
|
@ -0,0 +1,26 @@
@@ -0,0 +1,26 @@
|
||||
From d6e2cdb0023e422546e3ece5bf9915f7c490ced8 Mon Sep 17 00:00:00 2001 |
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com> |
||||
Date: Fri, 20 Mar 2020 14:24:05 +0000 |
||||
Subject: [PATCH] disble tip-of-the-day dialog by default |
||||
|
||||
Change-Id: Ie7f0e3fe3dda12c2ec88c376d2b57419253ae5cf |
||||
--- |
||||
officecfg/registry/schema/org/openoffice/Office/Common.xcs | 2 +- |
||||
1 file changed, 1 insertion(+), 1 deletion(-) |
||||
|
||||
diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs |
||||
index e7c339e2e22e..9aa88ef1aa02 100644 |
||||
--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs |
||||
+++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs |
||||
@@ -5570,7 +5570,7 @@ |
||||
<info> |
||||
<desc>Determines whether the Tip-of-the-Day dialog is shown on startup.</desc> |
||||
</info> |
||||
- <value>true</value> |
||||
+ <value>false</value> |
||||
</prop> |
||||
<prop oor:name="LastTipOfTheDayShown" oor:type="xs:int" oor:nillable="false"> |
||||
<info> |
||||
-- |
||||
2.24.1 |
||||
|
@ -0,0 +1,45 @@
@@ -0,0 +1,45 @@
|
||||
From ce37356f6bcaaef62a80814d7d54d3aa6d53167d Mon Sep 17 00:00:00 2001 |
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com> |
||||
Date: Tue, 12 Oct 2021 09:52:53 +0100 |
||||
Subject: [PATCH] document-new shouldn't get prefixed to become |
||||
libreoffice-document-new |
||||
|
||||
seen by rpminspect as .desktop "references icon libreoffice-document-new |
||||
but no subpackages contain libreoffice-document-new" |
||||
|
||||
introduced by: |
||||
|
||||
commit f767d5e2b017c0d0cfd23ff3318cb30901847722 |
||||
Date: Sun Sep 1 11:30:12 2019 +0200 |
||||
|
||||
Add icons to New Document desktop file actions |
||||
|
||||
in the [Desktop Action NewDocument] section |
||||
|
||||
Change-Id: I64ce5e2dbaca32083b2f76e960c33a815f8a3773 |
||||
--- |
||||
sysui/desktop/share/brand.pl | 8 +++++--- |
||||
1 file changed, 5 insertions(+), 3 deletions(-) |
||||
|
||||
diff --git a/sysui/desktop/share/brand.pl b/sysui/desktop/share/brand.pl |
||||
index 9d73e619c495..b17a7374fd62 100644 |
||||
--- a/sysui/desktop/share/brand.pl |
||||
+++ b/sysui/desktop/share/brand.pl |
||||
@@ -81,9 +81,11 @@ while ($arg = shift) { |
||||
# remove possible Windows line-ends |
||||
chomp; |
||||
|
||||
- # patch all occurrences of openoffice in ICON line with |
||||
- # $prefix |
||||
- s/Icon=/Icon=$iconprefix/; |
||||
+ # patch all icons in ICON line with $prefix |
||||
+ if (! /Icon=document-new/ ) { # except for Icon=document-new which |
||||
+ # is a stock icon, not one of ours |
||||
+ s/Icon=/Icon=$iconprefix/; |
||||
+ } |
||||
|
||||
# patch all occurrences of openoffice in icon_filename |
||||
# line with $prefix |
||||
-- |
||||
2.32.0 |
||||
|
@ -0,0 +1,37 @@
@@ -0,0 +1,37 @@
|
||||
From a6f2cba43d79347b6975b3b8069b423c94a7dba6 Mon Sep 17 00:00:00 2001 |
||||
From: David Tardon <dtardon@redhat.com> |
||||
Date: Tue, 8 Nov 2016 11:50:06 +0100 |
||||
Subject: [PATCH] don't suppress crashes |
||||
|
||||
An automatic restart after a crash makes the crash invisible to abrt. |
||||
|
||||
Change-Id: I3854e619356049b144b08575879d289a3c12e4c9 |
||||
--- |
||||
desktop/source/app/app.cxx | 4 +--- |
||||
1 file changed, 1 insertion(+), 3 deletions(-) |
||||
|
||||
diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx |
||||
index c54aea9dd4f7..a613fe12cef2 100644 |
||||
--- a/desktop/source/app/app.cxx |
||||
+++ b/desktop/source/app/app.cxx |
||||
@@ -1165,8 +1165,6 @@ |
||||
if( bRestart ) |
||||
{ |
||||
RequestHandler::Disable(); |
||||
- if( pSignalHandler ) |
||||
- osl_removeSignalHandler( pSignalHandler ); |
||||
|
||||
restartOnMac(false); |
||||
#if !ENABLE_WASM_STRIP_SPLASH |
||||
@@ -1174,7 +1172,7 @@ |
||||
m_rSplashScreen->reset(); |
||||
#endif |
||||
|
||||
- _exit( EXITHELPER_CRASH_WITH_RESTART ); |
||||
+ return; |
||||
} |
||||
else |
||||
{ |
||||
-- |
||||
2.29.2 |
||||
|
@ -0,0 +1,40 @@
@@ -0,0 +1,40 @@
|
||||
From a94b58277c7aeaa83ce14347cd0b8f7137969d03 Mon Sep 17 00:00:00 2001 |
||||
From: =?UTF-8?q?Lubo=C5=A1=20Lu=C5=88=C3=A1k?= <l.lunak@collabora.com> |
||||
Date: Fri, 29 Oct 2021 14:20:57 +0200 |
||||
Subject: [PATCH] fix comparison when searching cache |
||||
MIME-Version: 1.0 |
||||
Content-Type: text/plain; charset=UTF-8 |
||||
Content-Transfer-Encoding: 8bit |
||||
|
||||
This made the cache always fail and re-cache, making CJK text layout |
||||
slower over time. A mistake from ef513fd4b049b214a03fbe6e that |
||||
converted !strcmp() to != instead of ==. |
||||
|
||||
Change-Id: Ib70579cd36d7b1df062e4d067e03f5c65e34b142 |
||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124432 |
||||
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> |
||||
Reviewed-by: Luboš Luňák <l.lunak@collabora.com> |
||||
Tested-by: Luboš Luňák <l.lunak@collabora.com> |
||||
(cherry picked from commit 5b38b5744af1e896892df708c16b83e1b551d2c7) |
||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124206 |
||||
Tested-by: Jenkins |
||||
--- |
||||
i18npool/source/breakiterator/xdictionary.cxx | 2 +- |
||||
1 file changed, 1 insertion(+), 1 deletion(-) |
||||
|
||||
diff --git a/i18npool/source/breakiterator/xdictionary.cxx b/i18npool/source/breakiterator/xdictionary.cxx |
||||
index 947a23c5073b..6b57433370c7 100644 |
||||
--- a/i18npool/source/breakiterator/xdictionary.cxx |
||||
+++ b/i18npool/source/breakiterator/xdictionary.cxx |
||||
@@ -152,7 +152,7 @@ void xdictionary::initDictionaryData(const char *pLang) |
||||
osl::MutexGuard aGuard( osl::Mutex::getGlobalMutex() ); |
||||
for(const datacache & i : aLoadedCache) |
||||
{ |
||||
- if( i.maLang != pLang ) |
||||
+ if( i.maLang == pLang ) |
||||
{ |
||||
data = i.maData; |
||||
return; |
||||
-- |
||||
2.33.1 |
||||
|
@ -0,0 +1,40 @@
@@ -0,0 +1,40 @@
|
||||
From 2f11e4247b6332b06a5b23c33207fa10767244a6 Mon Sep 17 00:00:00 2001 |
||||
From: Thierry Vignaud <thierry.vignaud@gmail.com> |
||||
Date: Thu, 30 Jan 2020 11:19:20 +0000 |
||||
Subject: [PATCH] fix detecting qrcodegen |
||||
|
||||
Change-Id: Ib945b57420083489273cefc5655eb50932b5a3f8 |
||||
--- |
||||
configure.ac | 2 +- |
||||
cui/source/dialogs/QrCodeGenDialog.cxx | 2 +- |
||||
2 files changed, 2 insertions(+), 2 deletions(-) |
||||
|
||||
diff --git a/configure.ac b/configure.ac |
||||
index 5a14369..ebd1b55 100644 |
||||
--- a/configure.ac |
||||
+++ b/configure.ac |
||||
@@ -10250,7 +10250,7 @@ else |
||||
AC_MSG_RESULT([external]) |
||||
SYSTEM_QRCODEGEN=TRUE |
||||
AC_LANG_PUSH([C++]) |
||||
- AC_CHECK_HEADER(qrcodegen/QrCode.hpp, [], |
||||
+ AC_CHECK_HEADER(qrcodegencpp/QrCode.hpp, [], |
||||
[AC_MSG_ERROR(qrcodegen headers not found.)], [#include <stdexcept>]) |
||||
AC_CHECK_LIB([qrcodegencpp], [main], [:], |
||||
[ AC_MSG_ERROR(qrcodegen C++ library not found.) ], []) |
||||
diff --git a/cui/source/dialogs/QrCodeGenDialog.cxx b/cui/source/dialogs/QrCodeGenDialog.cxx |
||||
index 7f3f6a8..b79a356 100644 |
||||
--- a/cui/source/dialogs/QrCodeGenDialog.cxx |
||||
+++ b/cui/source/dialogs/QrCodeGenDialog.cxx |
||||
@@ -19,7 +19,7 @@ |
||||
|
||||
#if ENABLE_QRCODEGEN |
||||
#if defined(SYSTEM_QRCODEGEN) |
||||
-#include <qrcodegen/QrCode.hpp> |
||||
+#include <qrcodegencpp/QrCode.hpp> |
||||
#else |
||||
#include <QrCode.hpp> |
||||
#endif |
||||
-- |
||||
2.26.2 |
||||
|
@ -0,0 +1,118 @@
@@ -0,0 +1,118 @@
|
||||
From b06e5e2b9761d242d9269b091da9a98ec705d2b1 Mon Sep 17 00:00:00 2001 |
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com> |
||||
Date: Tue, 1 Jun 2021 13:20:43 +0100 |
||||
Subject: [PATCH] gtk3: workaround missing gdk_threads_enter calls in external |
||||
code |
||||
MIME-Version: 1.0 |
||||
Content-Type: text/plain; charset=UTF-8 |
||||
Content-Transfer-Encoding: 8bit |
||||
|
||||
with gtk3 file dialog. file, open, +other locations, |
||||
type davs://somewhere + return |
||||
|
||||
#0 0x00007ffff7a6e2a2 in raise () at /lib64/libc.so.6 |
||||
#1 0x00007ffff7a578a4 in abort () at /lib64/libc.so.6 |
||||
#2 0x00007ffff7a57789 in _nl_load_domain.cold () at /lib64/libc.so.6 |
||||
#3 0x00007ffff7a66a16 in () at /lib64/libc.so.6 |
||||
#4 0x00007fffd9be7672 in GtkYieldMutex::ThreadsLeave() (this=0x513480) at vcl/unx/gtk3/gtkinst.cxx:354 |
||||
#5 0x00007fffd9be6a53 in GdkThreadsLeave() () at vcl/unx/gtk3/gtkinst.cxx:116 |
||||
#6 0x00007fffd947ac2d in gtk_dialog_run (dialog=0xa984310) at /usr/src/debug/gtk3-3.24.29-1.fc34.x86_64/gtk/gtkdialog.c:1397 |
||||
^^^ this also (see #30) calls gdk_threads_leave before g_main_loop_run, but no gdk_threads_enter has been called, presumably emit_show_error_message should have called it (?) ^^^ |
||||
#7 0x00007fffd94a6dc6 in error_message_with_parent (detail=0xa97f9b0 "HTTP Error: Error resolving “nowhere”: Name or service not known", msg=<optimized out>, parent=<optimized out>) |
||||
at /usr/src/debug/gtk3-3.24.29-1.fc34.x86_64/gtk/gtkfilechooserwidget.c:763 |
||||
#8 error_message (impl=<optimized out>, msg=<optimized out>, detail=0xa97f9b0 "HTTP Error: Error resolving “nowhere”: Name or service not known") at /usr/src/debug/gtk3-3.24.29-1.fc34.x86_64/gtk/gtkfilechooserwidget.c:786 |
||||
#9 0x00007fffe996ec2f in g_closure_invoke () at /lib64/libgobject-2.0.so.0 |
||||
#10 0x00007fffe998aea6 in signal_emit_unlocked_R () at /lib64/libgobject-2.0.so.0 |
||||
#11 0x00007fffe998c76a in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0 |
||||
#12 0x00007fffe998c983 in g_signal_emit () at /lib64/libgobject-2.0.so.0 |
||||
#13 0x00007fffd9561fc7 in emit_show_error_message (secondary_message=0x7fffbc0566f0 "HTTP Error: Error resolving “nowhere”: Name or service not known", primary_message=<optimized out>, view=0x900a240) |
||||
at /usr/src/debug/gtk3-3.24.29-1.fc34.x86_64/gtk/gtkplacesview.c:171 |
||||
#14 server_mount_ready_cb (source_file=0x7fffbc05b4c0, res=<optimized out>, user_data=0x900a240) at /usr/src/debug/gtk3-3.24.29-1.fc34.x86_64/gtk/gtkplacesview.c:1232 |
||||
#15 0x00007fffe9a64a7a in g_task_return_now () at /lib64/libgio-2.0.so.0 |
||||
#16 0x00007fffe9a64c7b in g_task_return () at /lib64/libgio-2.0.so.0 |
||||
#17 0x00007fffd80653b8 in mount_reply () at /usr/lib64/gio/modules/libgvfsdbus.so |
||||
#18 0x00007fffe9a64a7a in g_task_return_now () at /lib64/libgio-2.0.so.0 |
||||
#19 0x00007fffe9a64c7b in g_task_return () at /lib64/libgio-2.0.so.0 |
||||
#20 0x00007fffe9acd2dd in reply_cb () at /lib64/libgio-2.0.so.0 |
||||
#21 0x00007fffe9a64a7a in g_task_return_now () at /lib64/libgio-2.0.so.0 |
||||
#22 0x00007fffe9a64c7b in g_task_return () at /lib64/libgio-2.0.so.0 |
||||
#23 0x00007fffe9ac4c34 in g_dbus_connection_call_done () at /lib64/libgio-2.0.so.0 |
||||
#24 0x00007fffe9a64a7a in g_task_return_now () at /lib64/libgio-2.0.so.0 |
||||
#25 0x00007fffe9a64abd in complete_in_idle_cb () at /lib64/libgio-2.0.so.0 |
||||
#26 0x00007fffe987074b in g_idle_dispatch () at /lib64/libglib-2.0.so.0 |
||||
#27 0x00007fffe98744cf in g_main_context_dispatch () at /lib64/libglib-2.0.so.0 |
||||
#28 0x00007fffe98c84e8 in g_main_context_iterate.constprop () at /lib64/libglib-2.0.so.0 |
||||
#29 0x00007fffe9873a93 in g_main_loop_run () at /lib64/libglib-2.0.so.0 |
||||
#30 0x00007fffd947ac37 in gtk_dialog_run (dialog=0x1604460) at /usr/src/debug/gtk3-3.24.29-1.fc34.x86_64/gtk/gtkdialog.c:1398 |
||||
^^^ this will call gdk_threads_leave before g_main_loop_run, (gdk_threads_enter has been called earlier, and gdk_threads_enter will be called after g_main_loop_run) ^^^ |
||||
#31 0x00007fffd9bdbd96 in RunDialog::run() (this=0x9134f00) at vcl/unx/gtk3/fpicker/SalGtkPicker.cxx:199 |
||||
#32 0x00007fffd9bbf23f in SalGtkFilePicker::execute() (this=0x9004690) at vcl/unx/gtk3/fpicker/SalGtkFilePicker.cxx:953 |
||||
#33 0x00007ffff474741a in sfx2::FileDialogHelper_Impl::implDoExecute() (this=0x1667470) at sfx2/source/dialog/filedlghelper.cxx:1279 |
||||
|
||||
#14 presumably server_mount_ready_cb of gtkplacesview.c should protect its gtk |
||||
calls with gdk_threads_enter/gdk_threads_leave like enclosing_volume_mount_cb |
||||
of gtkfilesystem.c does. |
||||
|
||||
Seeing as gdk_threads_leave/gdk_threads_enter is gone in gtk4 I doubt |
||||
there's any point looking for a fix in gtk3 and we should just try and |
||||
survive the problem. |
||||
|
||||
Change-Id: I007be4dee4f615d4431e27034dcf7f3d446c3e9a |
||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116559 |
||||
Tested-by: Jenkins |
||||
Reviewed-by: Caolán McNamara <caolanm@redhat.com> |
||||
(cherry picked from commit 08b7529f628eda1d209cf27f9bbe52ee336fef62) |
||||
--- |
||||
vcl/unx/gtk3/gtk3gtkinst.cxx | 30 ++++++++++++++++++++++-------- |
||||
1 file changed, 22 insertions(+), 8 deletions(-) |
||||
|
||||
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx |
||||
index 2d4dc36ce5fe..bba4e07f3003 100644 |
||||
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx |
||||
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx |
||||
@@ -314,20 +314,34 @@ thread_local std::stack<sal_uInt32> GtkYieldMutex::yieldCounts; |
||||
void GtkYieldMutex::ThreadsEnter() |
||||
{ |
||||
acquire(); |
||||
- if (!yieldCounts.empty()) { |
||||
- auto n = yieldCounts.top(); |
||||
- yieldCounts.pop(); |
||||
- assert(n > 0); |
||||
- n--; |
||||
- if (n > 0) |
||||
- acquire(n); |
||||
+ if (yieldCounts.empty()) |
||||
+ return; |
||||
+ auto n = yieldCounts.top(); |
||||
+ yieldCounts.pop(); |
||||
+ |
||||
+ const bool bUndoingLeaveWithoutEnter = n == 0; |
||||
+ // if the ThreadsLeave bLeaveWithoutEnter of true condition occurred to |
||||
+ // create this entry then return early undoing the initial acquire of the |
||||
+ // function |
||||
+ if G_UNLIKELY(bUndoingLeaveWithoutEnter) |
||||
+ { |
||||
+ release(); |
||||
+ return; |
||||
} |
||||
+ |
||||
+ assert(n > 0); |
||||
+ n--; |
||||
+ if (n > 0) |
||||
+ acquire(n); |
||||
} |
||||
|
||||
void GtkYieldMutex::ThreadsLeave() |
||||
{ |
||||
- assert(m_nCount != 0); |
||||
+ const bool bLeaveWithoutEnter = m_nCount == 0; |
||||
+ SAL_WARN_IF(bLeaveWithoutEnter, "vcl.gtk", "gdk_threads_leave without matching gdk_threads_enter"); |
||||
yieldCounts.push(m_nCount); |
||||
+ if G_UNLIKELY(bLeaveWithoutEnter) // this ideally shouldn't happen, but can due to the gtk3 file dialog |
||||
+ return; |
||||
release(true); |
||||
} |
||||
|
||||
-- |
||||
2.31.1 |
||||
|
@ -0,0 +1,111 @@
@@ -0,0 +1,111 @@
|
||||
From 748a9fd3a8e90e52a126190dbe0d97da6e0941ff Mon Sep 17 00:00:00 2001 |
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com> |
||||
Date: Wed, 11 Aug 2021 20:55:14 +0100 |
||||
Subject: [PATCH] make --with-idlc-cpp=cpp work for gcc cpp as a ucpp |
||||
replacement |
||||
|
||||
e.g. the example of |
||||
https://bugs.launchpad.net/ubuntu/+source/libreoffice/+bug/1524638 |
||||
has the same output .urd using cpp with these flags as ucpp created |
||||
|
||||
Change-Id: Iadfd2deba7d365c66c3260fd6736c031987e107c |
||||
--- |
||||
config_host.mk.in | 1 + |
||||
configure.ac | 14 ++++++++++++++ |
||||
idlc/Executable_idlc.mk | 8 ++++++++ |
||||
idlc/source/idlccompile.cxx | 8 ++++++++ |
||||
4 files changed, 31 insertions(+) |
||||
|
||||
diff --git a/config_host.mk.in b/config_host.mk.in |
||||
index 58ca1d1c14fb..6810660067b0 100644 |
||||
--- a/config_host.mk.in |
||||
+++ b/config_host.mk.in |
||||
@@ -635,6 +635,7 @@ export SYSTEM_RHINO=@SYSTEM_RHINO@ |
||||
export SYSTEM_SERF=@SYSTEM_SERF@ |
||||
export SYSTEM_STAROFFICE=@SYSTEM_STAROFFICE@ |
||||
export SYSTEM_UCPP=@SYSTEM_UCPP@ |
||||
+export SYSTEM_UCPP_IS_GCC=@SYSTEM_UCPP_IS_GCC@ |
||||
export SYSTEM_VISIO=@SYSTEM_VISIO@ |
||||
export SYSTEM_WPD=@SYSTEM_WPD@ |
||||
export SYSTEM_WPG=@SYSTEM_WPG@ |
||||
diff --git a/configure.ac b/configure.ac |
||||
index 3d2bf7e24555..ac226fd46ace 100644 |
||||
--- a/configure.ac |
||||
+++ b/configure.ac |
||||
@@ -8807,9 +8807,22 @@ dnl =================================================================== |
||||
dnl Check for C preprocessor to use |
||||
dnl =================================================================== |
||||
AC_MSG_CHECKING([which C preprocessor to use in idlc]) |
||||
+SYSTEM_UCPP_IS_GCC= |
||||
if test -n "$with_idlc_cpp"; then |
||||
AC_MSG_RESULT([$with_idlc_cpp]) |
||||
AC_PATH_PROG(SYSTEM_UCPP, $with_idlc_cpp) |
||||
+ AC_MSG_CHECKING([if $with_idlc_cpp is GCC CPP]) |
||||
+ # ucpp will accept -v (to output version), warn about the others as unknown |
||||
+ # and return 1 (due to -v) |
||||
+ # gcc will accept -v (as verbose), --version (to output version) and -nostdinc |
||||
+ # and return 0 (due to --version ) if all options are supported |
||||
+ $SYSTEM_UCPP -v --version -nostdinc >/dev/null 2>/dev/null |
||||
+ if test $? -eq 0; then |
||||
+ SYSTEM_UCPP_IS_GCC=TRUE |
||||
+ AC_MSG_RESULT([yes]) |
||||
+ else |
||||
+ AC_MSG_RESULT([no]) |
||||
+ fi |
||||
else |
||||
AC_MSG_RESULT([ucpp]) |
||||
AC_MSG_CHECKING([which ucpp tp use]) |
||||
@@ -8822,6 +8835,7 @@ else |
||||
fi |
||||
fi |
||||
AC_SUBST(SYSTEM_UCPP) |
||||
+AC_SUBST(SYSTEM_UCPP_IS_GCC) |
||||
|
||||
dnl =================================================================== |
||||
dnl Check for epm (not needed for Windows) |
||||
diff --git a/idlc/Executable_idlc.mk b/idlc/Executable_idlc.mk |
||||
index e194e9049c77..f2f79dcb8911 100644 |
||||
--- a/idlc/Executable_idlc.mk |
||||
+++ b/idlc/Executable_idlc.mk |
||||
@@ -35,10 +35,18 @@ $(eval $(call gb_Executable_add_scanners,idlc,\ |
||||
)) |
||||
|
||||
ifneq (,$(SYSTEM_UCPP)) |
||||
+ |
||||
$(eval $(call gb_Executable_add_defs,idlc,\ |
||||
-DSYSTEM_UCPP \ |
||||
-DUCPP=\"file://$(SYSTEM_UCPP)\" \ |
||||
)) |
||||
+ |
||||
+ifneq ($(SYSTEM_UCPP_IS_GCC),) |
||||
+$(eval $(call gb_Executable_add_defs,idlc,\ |
||||
+ -DSYSTEM_UCPP_IS_GCC \ |
||||
+)) |
||||
+endif |
||||
+ |
||||
endif |
||||
|
||||
$(eval $(call gb_Executable_add_exception_objects,idlc,\ |
||||
diff --git a/idlc/source/idlccompile.cxx b/idlc/source/idlccompile.cxx |
||||
index bf3325d6821a..1902d63e0cad 100644 |
||||
--- a/idlc/source/idlccompile.cxx |
||||
+++ b/idlc/source/idlccompile.cxx |
||||
@@ -237,7 +237,15 @@ sal_Int32 compileFile(const OString * pathname) |
||||
::std::vector< OUString> lCppArgs; |
||||
lCppArgs.emplace_back("-DIDL"); |
||||
lCppArgs.emplace_back("-C"); |
||||
+#ifdef SYSTEM_UCPP_IS_GCC |
||||
+ // -nostdinc Do not search the standard system directories for header files |
||||
+ lCppArgs.emplace_back("-nostdinc"); |
||||
+ // with gcc cpp, even when not explicitly including anything, /usr/include/stdc-predef.h |
||||
+ // gets inserted without -nostdinc |
||||
+#else |
||||
+ // -zI Do not use the standard (compile-time) include path. |
||||
lCppArgs.emplace_back("-zI"); |
||||
+#endif |
||||
|
||||
Options* pOptions = idlc()->getOptions(); |
||||
|
||||
-- |
||||
2.31.1 |
||||
|
@ -0,0 +1,39 @@
@@ -0,0 +1,39 @@
|
||||
From f586051919d047e2b67d32637817c3d96a898494 Mon Sep 17 00:00:00 2001 |
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com> |
||||
Date: Wed, 9 Jun 2021 09:13:23 +0100 |
||||
Subject: [PATCH] math.desktop include "Spreadsheet" category |
||||
|
||||
but it's not a spreadsheet |
||||
|
||||
since... |
||||
|
||||
commit dad7fe7227fb80a32d3c2c777584dc9d74b9e929 |
||||
Date: Thu Jan 2 16:16:55 2014 +0100 |
||||
|
||||
Fix math categories to make SUSE rpm check happy |
||||
|
||||
Change-Id: I0397ea12cd7f29f4b0c1f0e0ad76a3429b55c455 |
||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116884 |
||||
Tested-by: Jenkins |
||||
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> |
||||
(cherry picked from commit 2df2ce1b51d13bc9e203fab1b7eb3c88c906588c) |
||||
--- |
||||
sysui/desktop/menus/math.desktop | 2 +- |
||||
1 file changed, 1 insertion(+), 1 deletion(-) |
||||
|
||||
diff --git a/sysui/desktop/menus/math.desktop b/sysui/desktop/menus/math.desktop |
||||
index d2391be5c234..5a8192ae4abc 100644 |
||||
--- a/sysui/desktop/menus/math.desktop |
||||
+++ b/sysui/desktop/menus/math.desktop |
||||
@@ -21,7 +21,7 @@ Terminal=false |
||||
NoDisplay=false |
||||
Icon=math |
||||
Type=Application |
||||
-Categories=Office;Spreadsheet;Education;Science;Math;X-Red-Hat-Base;X-MandrivaLinux-Office-Other; |
||||
+Categories=Office;Education;Science;Math;X-Red-Hat-Base;X-MandrivaLinux-Office-Other; |
||||
Exec=${UNIXBASISROOTNAME} --math %%FILE%% |
||||
MimeType=application/vnd.oasis.opendocument.formula;application/vnd.sun.xml.math;application/vnd.oasis.opendocument.formula-template;text/mathml;application/mathml+xml; |
||||
Name=%PRODUCTNAME Math |
||||
-- |
||||
2.31.1 |
||||
|
@ -0,0 +1,26 @@
@@ -0,0 +1,26 @@
|
||||
From 8b8a49e14c1010c5ab325b64fc3b65524a6a6049 Mon Sep 17 00:00:00 2001 |
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com> |
||||
Date: Wed, 20 Jan 2021 09:19:25 +0000 |
||||
Subject: [PATCH] rhbz#1918152 fix FTBFS |
||||
|
||||
Change-Id: I5c03c810d3b2572b0e58c62293add49bd7025e70 |
||||
--- |
||||
vcl/source/gdi/bitmap3.cxx | 2 -- |
||||
1 file changed, 2 deletions(-) |
||||
|
||||
diff --git a/vcl/source/gdi/bitmap3.cxx b/vcl/source/gdi/bitmap3.cxx |
||||
index ec80b03c6008..8ea5c31bee3e 100644 |
||||
--- a/vcl/source/gdi/bitmap3.cxx |
||||
+++ b/vcl/source/gdi/bitmap3.cxx |
||||
@@ -17,8 +17,6 @@ |
||||
* the License at http://www.apache.org/licenses/LICENSE-2.0 . |
||||
*/ |
||||
|
||||
-#include <math.h> |
||||
- |
||||
#include <vcl/bitmapaccess.hxx> |
||||
#include <vcl/bitmapex.hxx> |
||||
#include <vcl/bitmap.hxx> |
||||
-- |
||||
2.28.0 |
||||
|
@ -0,0 +1,428 @@
@@ -0,0 +1,428 @@
|
||||
From aec3e189e6e9aa1eb2fe91cbb1c46f308b074cd5 Mon Sep 17 00:00:00 2001 |
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com> |
||||
Date: Tue, 13 Jul 2021 12:38:07 +0100 |
||||
Subject: [PATCH] rhbz#1980800 allow --convert-to csv to write each sheet to a |
||||
separate file |
||||
|
||||
Related: tdf#135762 except only currently implemented for command line use |
||||
|
||||
sample usage: |
||||
soffice --convert-to csv:"Text - txt - csv (StarCalc)":44,34,UTF8,1,,0,false,true,false,false,false,-1 sample.ods |
||||
where the new (11th!) final token ("-1") enables writing each sheet to a |
||||
new file based on the suggested target name so output in this example |
||||
is files sample-Sheet1.csv and sample-Sheet2.csv |
||||
|
||||
Only -1 for 'all sheets' vs 0 for existing 'current sheet only' (which |
||||
is always sheet 0 from the command line) are currently options but the |
||||
token could be expanded in the future to select specific sheets to |
||||
export. |
||||
|
||||
Change-Id: Ib99a120f1a2c8d1008a7a3c59a6b39f572fb346e |
||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118850 |
||||
Tested-by: Jenkins |
||||
Reviewed-by: Eike Rathke <erack@redhat.com> |
||||
(cherry picked from commit b8903bc106dad036acb3d117e5c4fc955697fe02) |
||||
|
||||
Related: tdf#135762 Allow --convert-to csv to specify 1-based sheet number |
||||
|
||||
Same multifile mechanism as for -1 all sheets is used, so |
||||
|
||||
soffice --convert-to csv:"Text - txt - csv (StarCalc)":44,34,UTF8,1,,0,false,true,false,false,false,2 sample.ods |
||||
|
||||
writes a file sample-Sheet2.csv |
||||
|
||||
Change-Id: Ib9248c9561e4e340c88458ac5dfd159e443a4cfd |
||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118971 |
||||
Reviewed-by: Eike Rathke <erack@redhat.com> |
||||
Tested-by: Jenkins |
||||
(cherry picked from commit fda91f8be16ba760e360940ebafd6244c648cb8c) |
||||
|
||||
Related: tdf#135762 Suppress cout if not command line |
||||
|
||||
Change-Id: I9431221aadf97739bb197871f25fa151ef4c391c |
||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119294 |
||||
Reviewed-by: Eike Rathke <erack@redhat.com> |
||||
Tested-by: Jenkins |
||||
(cherry picked from commit 0cda081c9aa3b3dcb363f97bac60c845ce9a13e0) |
||||
--- |
||||
desktop/source/app/dispatchwatcher.cxx | 50 +++++++-- |
||||
sc/source/ui/dbgui/imoptdlg.cxx | 16 ++- |
||||
sc/source/ui/docshell/docsh.cxx | 141 +++++++++++++++++++++---- |
||||
sc/source/ui/inc/docsh.hxx | 2 +- |
||||
sc/source/ui/inc/imoptdlg.hxx | 6 +- |
||||
5 files changed, 179 insertions(+), 36 deletions(-) |
||||
|
||||
diff --git a/desktop/source/app/dispatchwatcher.cxx b/desktop/source/app/dispatchwatcher.cxx |
||||
index 50b92ecb7834..3df4f34ccf83 100644 |
||||
--- a/desktop/source/app/dispatchwatcher.cxx |
||||
+++ b/desktop/source/app/dispatchwatcher.cxx |
||||
@@ -30,6 +30,7 @@ |
||||
#include "officeipcthread.hxx" |
||||
#include <rtl/ustring.hxx> |
||||
#include <comphelper/processfactory.hxx> |
||||
+#include <comphelper/string.hxx> |
||||
#include <comphelper/synchronousdispatch.hxx> |
||||
#include <com/sun/star/io/IOException.hpp> |
||||
#include <com/sun/star/util/XCloseable.hpp> |
||||
@@ -598,6 +599,8 @@ bool DispatchWatcher::executeDispatchRequests( const std::vector<DispatchRequest |
||||
aFilter = impl_GuessFilter( aOutFile, aDocService ); |
||||
} |
||||
|
||||
+ bool bMultiFileTarget = false; |
||||
+ |
||||
if (aFilter.isEmpty()) |
||||
{ |
||||
std::cerr << "Error: no export filter" << std::endl; |
||||
@@ -605,29 +608,54 @@ bool DispatchWatcher::executeDispatchRequests( const std::vector<DispatchRequest |
||||
else |
||||
{ |
||||
sal_Int32 nFilterOptionsIndex = aFilter.indexOf(':'); |
||||
- sal_Int32 nProps = ( 0 < nFilterOptionsIndex ) ? 3 : 2; |
||||
+ sal_Int32 nProps = ( 0 < nFilterOptionsIndex ) ? 4 : 3; |
||||
|
||||
if ( !aImgOut.isEmpty() ) |
||||
nProps +=1; |
||||
Sequence<PropertyValue> conversionProperties( nProps ); |
||||
- conversionProperties[0].Name = "Overwrite"; |
||||
- conversionProperties[0].Value <<= true; |
||||
+ conversionProperties[0].Name = "ConversionRequestOrigin"; |
||||
+ conversionProperties[0].Value <<= OUString("CommandLine"); |
||||
+ conversionProperties[1].Name = "Overwrite"; |
||||
+ conversionProperties[1].Value <<= true; |
||||
|
||||
- conversionProperties[1].Name = "FilterName"; |
||||
+ conversionProperties[2].Name = "FilterName"; |
||||
if( 0 < nFilterOptionsIndex ) |
||||
{ |
||||
- conversionProperties[1].Value <<= aFilter.copy(0, nFilterOptionsIndex); |
||||
+ OUString sFilterName = aFilter.copy(0, nFilterOptionsIndex); |
||||
+ OUString sFilterOptions = aFilter.copy(nFilterOptionsIndex + 1); |
||||
+ |
||||
+ if (sFilterName == "Text - txt - csv (StarCalc)") |
||||
+ { |
||||
+ sal_Int32 nIdx(0); |
||||
+ // If the 11th token is '-1' then we export a file |
||||
+ // per sheet where the file name is based on the suggested |
||||
+ // output filename concatenated with the sheet name, so adjust |
||||
+ // the output and overwrite messages |
||||
+ // If the 11th token is not present or numeric 0 then the |
||||
+ // default sheet is exported with the output filename. If it |
||||
+ // is numeric >0 then that sheet (1-based) with the output |
||||
+ // filename concatenated with the sheet name. So even if |
||||
+ // that is a single file, the multi file target mechanism is |
||||
+ // used. |
||||
+ const OUString aTok(sFilterOptions.getToken(11, ',', nIdx)); |
||||
+ // Actual validity is checked in Calc, here just check for |
||||
+ // presence of numeric value at start. |
||||
+ bMultiFileTarget = (!aTok.isEmpty() && aTok.toInt32() != 0); |
||||
+ } |
||||
+ |
||||
+ conversionProperties[2].Value <<= sFilterName; |
||||
|
||||
- conversionProperties[2].Name = "FilterOptions"; |
||||
- conversionProperties[2].Value <<= aFilter.copy(nFilterOptionsIndex + 1); |
||||
+ conversionProperties[3].Name = "FilterOptions"; |
||||
+ conversionProperties[3].Value <<= sFilterOptions; |
||||
} |
||||
else |
||||
{ |
||||
- conversionProperties[1].Value <<= aFilter; |
||||
+ conversionProperties[2].Value <<= aFilter; |
||||
} |
||||
|
||||
if ( !aImgOut.isEmpty() ) |
||||
{ |
||||
+ assert(conversionProperties[nProps-1].Name.isEmpty()); |
||||
conversionProperties[nProps-1].Name = "ImageFilter"; |
||||
conversionProperties[nProps-1].Value <<= aImgOut; |
||||
} |
||||
@@ -639,9 +667,11 @@ bool DispatchWatcher::executeDispatchRequests( const std::vector<DispatchRequest |
||||
OString aTargetURL8 = OUStringToOString(aTempName, osl_getThreadTextEncoding()); |
||||
if (aDispatchRequest.aRequestType != REQUEST_CAT) |
||||
{ |
||||
- std::cout << "convert " << aSource8 << " -> " << aTargetURL8; |
||||
+ std::cout << "convert " << aSource8; |
||||
+ if (!bMultiFileTarget) |
||||
+ std::cout << " -> " << aTargetURL8; |
||||
std::cout << " using filter : " << OUStringToOString(aFilter, osl_getThreadTextEncoding()) << std::endl; |
||||
- if (FStatHelper::IsDocument(aOutFile)) |
||||
+ if (!bMultiFileTarget && FStatHelper::IsDocument(aOutFile)) |
||||
std::cout << "Overwriting: " << OUStringToOString(aTempName, osl_getThreadTextEncoding()) << std::endl ; |
||||
} |
||||
try |
||||
diff --git a/sc/source/ui/dbgui/imoptdlg.cxx b/sc/source/ui/dbgui/imoptdlg.cxx |
||||
index 071f1b0257bc..a362e4df0ee7 100644 |
||||
--- a/sc/source/ui/dbgui/imoptdlg.cxx |
||||
+++ b/sc/source/ui/dbgui/imoptdlg.cxx |
||||
@@ -20,6 +20,7 @@ |
||||
#include <imoptdlg.hxx> |
||||
#include <asciiopt.hxx> |
||||
#include <comphelper/string.hxx> |
||||
+#include <unotools/charclass.hxx> |
||||
#include <osl/thread.h> |
||||
#include <global.hxx> |
||||
|
||||
@@ -43,6 +44,7 @@ ScImportOptions::ScImportOptions( const OUString& rStr ) |
||||
bSaveNumberAsSuch = true; |
||||
bSaveFormulas = false; |
||||
bRemoveSpace = false; |
||||
+ nSheetToExport = 0; |
||||
sal_Int32 nTokenCount = comphelper::string::getTokenCount(rStr, ','); |
||||
if ( nTokenCount < 3 ) |
||||
return; |
||||
@@ -77,6 +79,16 @@ ScImportOptions::ScImportOptions( const OUString& rStr ) |
||||
bSaveFormulas = rStr.getToken(0, ',', nIdx) == "true"; |
||||
if ( nTokenCount >= 11 ) |
||||
bRemoveSpace = rStr.getToken(0, ',', nIdx) == "true"; |
||||
+ if ( nTokenCount >= 12 ) |
||||
+ { |
||||
+ const OUString aTok(rStr.getToken(0, ',', nIdx)); |
||||
+ if (aTok == "-1") |
||||
+ nSheetToExport = -1; // all |
||||
+ else if (aTok.isEmpty() || CharClass::isAsciiNumeric(aTok)) |
||||
+ nSheetToExport = aTok.toInt32(); |
||||
+ else |
||||
+ nSheetToExport = -23; // invalid, force error |
||||
+ } |
||||
} |
||||
} |
||||
|
||||
@@ -99,7 +111,9 @@ OUString ScImportOptions::BuildString() const |
||||
"," + |
||||
OUString::boolean( bSaveFormulas ) + // "save formulas": not in ScAsciiOptions |
||||
"," + |
||||
- OUString::boolean( bRemoveSpace ); // same as "Remove space" in ScAsciiOptions |
||||
+ OUString::boolean( bRemoveSpace ) + // same as "Remove space" in ScAsciiOptions |
||||
+ "," + |
||||
+ OUString::number(nSheetToExport) ; // Only available for command line --convert-to |
||||
|
||||
return aResult; |
||||
} |
||||
diff --git a/sc/source/ui/docshell/docsh.cxx b/sc/source/ui/docshell/docsh.cxx |
||||
index 91020db0b2e0..5fdfddd0c89b 100644 |
||||
--- a/sc/source/ui/docshell/docsh.cxx |
||||
+++ b/sc/source/ui/docshell/docsh.cxx |
||||
@@ -44,6 +44,7 @@ |
||||
#include <sfx2/objface.hxx> |
||||
#include <sfx2/viewfrm.hxx> |
||||
#include <svl/documentlockfile.hxx> |
||||
+#include <svl/fstathelper.hxx> |
||||
#include <svl/sharecontrolfile.hxx> |
||||
#include <svl/urihelper.hxx> |
||||
#include <osl/file.hxx> |
||||
@@ -119,6 +120,7 @@ |
||||
#include <comphelper/processfactory.hxx> |
||||
#include <comphelper/string.hxx> |
||||
#include <unotools/configmgr.hxx> |
||||
+#include <unotools/ucbstreamhelper.hxx> |
||||
#include <uiitems.hxx> |
||||
#include <dpobject.hxx> |
||||
#include <markdata.hxx> |
||||
@@ -1925,7 +1927,7 @@ void escapeTextSep(sal_Int32 nPos, const StrT& rStrDelim, StrT& rStr) |
||||
|
||||
} |
||||
|
||||
-void ScDocShell::AsciiSave( SvStream& rStream, const ScImportOptions& rAsciiOpt ) |
||||
+void ScDocShell::AsciiSave( SvStream& rStream, const ScImportOptions& rAsciiOpt, SCTAB nTab ) |
||||
{ |
||||
sal_Unicode cDelim = rAsciiOpt.nFieldSepCode; |
||||
sal_Unicode cStrDelim = rAsciiOpt.nTextSepCode; |
||||
@@ -1971,7 +1973,6 @@ void ScDocShell::AsciiSave( SvStream& rStream, const ScImportOptions& rAsciiOpt |
||||
|
||||
SCCOL nStartCol = 0; |
||||
SCROW nStartRow = 0; |
||||
- SCTAB nTab = GetSaveTab(); |
||||
SCCOL nEndCol; |
||||
SCROW nEndRow; |
||||
m_aDocument.GetCellArea( nTab, nEndCol, nEndRow ); |
||||
@@ -2389,35 +2390,129 @@ bool ScDocShell::ConvertTo( SfxMedium &rMed ) |
||||
} |
||||
else if (aFltName == pFilterAscii) |
||||
{ |
||||
- SvStream* pStream = rMed.GetOutStream(); |
||||
- if (pStream) |
||||
+ OUString sItStr; |
||||
+ SfxItemSet* pSet = rMed.GetItemSet(); |
||||
+ const SfxPoolItem* pItem; |
||||
+ if ( pSet && SfxItemState::SET == |
||||
+ pSet->GetItemState( SID_FILE_FILTEROPTIONS, true, &pItem ) ) |
||||
{ |
||||
- OUString sItStr; |
||||
- SfxItemSet* pSet = rMed.GetItemSet(); |
||||
- const SfxPoolItem* pItem; |
||||
- if ( pSet && SfxItemState::SET == |
||||
- pSet->GetItemState( SID_FILE_FILTEROPTIONS, true, &pItem ) ) |
||||
+ sItStr = static_cast<const SfxStringItem*>(pItem)->GetValue(); |
||||
+ } |
||||
+ |
||||
+ if ( sItStr.isEmpty() ) |
||||
+ { |
||||
+ // default for ascii export (from API without options): |
||||
+ // ISO8859-1/MS_1252 encoding, comma, double quotes |
||||
+ |
||||
+ ScImportOptions aDefOptions( ',', '"', RTL_TEXTENCODING_MS_1252 ); |
||||
+ sItStr = aDefOptions.BuildString(); |
||||
+ } |
||||
+ |
||||
+ weld::WaitObject aWait( GetActiveDialogParent() ); |
||||
+ ScImportOptions aOptions( sItStr ); |
||||
+ |
||||
+ if (aOptions.nSheetToExport) |
||||
+ { |
||||
+ // Only from command line --convert-to |
||||
+ bRet = true; |
||||
+ |
||||
+ // Verbose only from command line, not UI (in case we actually |
||||
+ // implement that) nor macro filter options. |
||||
+ bool bVerbose = false; |
||||
+ const css::uno::Sequence<css::beans::PropertyValue> & rArgs = rMed.GetArgs(); |
||||
+ const auto pProp = std::find_if( rArgs.begin(), rArgs.end(), |
||||
+ [](const css::beans::PropertyValue& rProp) { return rProp.Name == "ConversionRequestOrigin"; }); |
||||
+ if (pProp != rArgs.end()) |
||||
{ |
||||
- sItStr = static_cast<const SfxStringItem*>(pItem)->GetValue(); |
||||
+ OUString aOrigin; |
||||
+ pProp->Value >>= aOrigin; |
||||
+ bVerbose = (aOrigin == "CommandLine"); |
||||
} |
||||
|
||||
- if ( sItStr.isEmpty() ) |
||||
+ SCTAB nStartTab; |
||||
+ SCTAB nCount = m_aDocument.GetTableCount(); |
||||
+ if (aOptions.nSheetToExport == -1) |
||||
{ |
||||
- // default for ascii export (from API without options): |
||||
- // ISO8859-1/MS_1252 encoding, comma, double quotes |
||||
- |
||||
- ScImportOptions aDefOptions( ',', '"', RTL_TEXTENCODING_MS_1252 ); |
||||
- sItStr = aDefOptions.BuildString(); |
||||
+ // All sheets. |
||||
+ nStartTab = 0; |
||||
+ } |
||||
+ else if (0 < aOptions.nSheetToExport && aOptions.nSheetToExport <= nCount) |
||||
+ { |
||||
+ // One sheet, 1-based. |
||||
+ nCount = aOptions.nSheetToExport; |
||||
+ nStartTab = nCount - 1; |
||||
+ } |
||||
+ else |
||||
+ { |
||||
+ // Usage error, no export but log. |
||||
+ if (bVerbose) |
||||
+ { |
||||
+ if (aOptions.nSheetToExport < 0) |
||||
+ std::cout << "Bad sheet number string given." << std::endl; |
||||
+ else |
||||
+ std::cout << "No sheet number " << aOptions.nSheetToExport |
||||
+ << ", number of sheets is " << nCount << std::endl; |
||||
+ } |
||||
+ nStartTab = 0; |
||||
+ nCount = 0; |
||||
+ SetError(SCERR_EXPORT_DATA); |
||||
+ bRet = false; |
||||
} |
||||
|
||||
- weld::WaitObject aWait( GetActiveDialogParent() ); |
||||
- ScImportOptions aOptions( sItStr ); |
||||
- AsciiSave( *pStream, aOptions ); |
||||
- bRet = true; |
||||
+ INetURLObject aURLObject(rMed.GetURLObject()); |
||||
+ OUString sExt = aURLObject.CutExtension(); |
||||
+ OUString sBaseName = aURLObject.GetLastName(); |
||||
+ aURLObject.CutLastName(); |
||||
|
||||
- if (m_aDocument.GetTableCount() > 1) |
||||
- if (!rMed.GetError()) |
||||
- rMed.SetError(SCWARN_EXPORT_ASCII); |
||||
+ for (SCTAB i = nStartTab; i < nCount; ++i) |
||||
+ { |
||||
+ OUString sTabName; |
||||
+ if (!m_aDocument.GetName(i, sTabName)) |
||||
+ sTabName = OUString::number(i); |
||||
+ INetURLObject aSheetURLObject(aURLObject); |
||||
+ OUString sFileName = sBaseName + "-" + sTabName; |
||||
+ if (!sExt.isEmpty()) |
||||
+ sFileName = sFileName + "." + sExt; |
||||
+ aSheetURLObject.Append(sFileName); |
||||
+ |
||||
+ // log similar to DispatchWatcher::executeDispatchRequests |
||||
+ OUString aOutFile = aSheetURLObject.GetMainURL(INetURLObject::DecodeMechanism::NONE); |
||||
+ if (bVerbose) |
||||
+ { |
||||
+ OUString aDisplayedName; |
||||
+ if (osl::FileBase::E_None != osl::FileBase::getSystemPathFromFileURL(aOutFile, aDisplayedName)) |
||||
+ aDisplayedName = aOutFile; |
||||
+ std::cout << "Writing sheet " << OUStringToOString(sTabName, osl_getThreadTextEncoding()) << " -> " |
||||
+ << OUStringToOString(aDisplayedName, osl_getThreadTextEncoding()) |
||||
+ << std::endl; |
||||
+ |
||||
+ if (FStatHelper::IsDocument(aOutFile)) |
||||
+ std::cout << "Overwriting: " << OUStringToOString(aDisplayedName, osl_getThreadTextEncoding()) |
||||
+ << std::endl ; |
||||
+ } |
||||
+ |
||||
+ std::unique_ptr<SvStream> xStm = ::utl::UcbStreamHelper::CreateStream(aOutFile, StreamMode::TRUNC | StreamMode::WRITE); |
||||
+ if (!xStm) |
||||
+ { |
||||
+ SetError(ERRCODE_IO_CANTCREATE); |
||||
+ bRet = false; |
||||
+ break; |
||||
+ } |
||||
+ AsciiSave(*xStm, aOptions, i); |
||||
+ } |
||||
+ } |
||||
+ else |
||||
+ { |
||||
+ SvStream* pStream = rMed.GetOutStream(); |
||||
+ if (pStream) |
||||
+ { |
||||
+ AsciiSave(*pStream, aOptions, GetSaveTab()); |
||||
+ bRet = true; |
||||
+ |
||||
+ if (m_aDocument.GetTableCount() > 1) |
||||
+ if (!rMed.GetError()) |
||||
+ rMed.SetError(SCWARN_EXPORT_ASCII); |
||||
+ } |
||||
} |
||||
} |
||||
else if (aFltName == pFilterDBase) |
||||
diff --git a/sc/source/ui/inc/docsh.hxx b/sc/source/ui/inc/docsh.hxx |
||||
index 41c0b30a42a8..3aa5f6caf311 100644 |
||||
--- a/sc/source/ui/inc/docsh.hxx |
||||
+++ b/sc/source/ui/inc/docsh.hxx |
||||
@@ -227,7 +227,7 @@ public: |
||||
|
||||
ScDrawLayer* MakeDrawLayer(); |
||||
|
||||
- void AsciiSave( SvStream& rStream, const ScImportOptions& rOpt ); |
||||
+ void AsciiSave( SvStream& rStream, const ScImportOptions& rOpt, SCTAB nTab ); |
||||
|
||||
void Execute( SfxRequest& rReq ); |
||||
void GetState( SfxItemSet &rSet ); |
||||
diff --git a/sc/source/ui/inc/imoptdlg.hxx b/sc/source/ui/inc/imoptdlg.hxx |
||||
index bac941c2a377..382067d67813 100644 |
||||
--- a/sc/source/ui/inc/imoptdlg.hxx |
||||
+++ b/sc/source/ui/inc/imoptdlg.hxx |
||||
@@ -32,7 +32,8 @@ public: |
||||
ScImportOptions( sal_Unicode nFieldSep, sal_Unicode nTextSep, rtl_TextEncoding nEnc ) |
||||
: nFieldSepCode(nFieldSep), nTextSepCode(nTextSep), |
||||
bFixedWidth(false), bSaveAsShown(false), bQuoteAllText(false), |
||||
- bSaveNumberAsSuch(true), bSaveFormulas(false), bRemoveSpace(false) |
||||
+ bSaveNumberAsSuch(true), bSaveFormulas(false), bRemoveSpace(false), |
||||
+ nSheetToExport(0) |
||||
{ SetTextEncoding( nEnc ); } |
||||
|
||||
ScImportOptions& operator=( const ScImportOptions& rCpy ) = default; |
||||
@@ -51,6 +52,9 @@ public: |
||||
bool bSaveNumberAsSuch; |
||||
bool bSaveFormulas; |
||||
bool bRemoveSpace; |
||||
+ // "0" for 'current sheet', "-1" for all sheets (each to a separate file), |
||||
+ // or 1-based specific sheet number (to a separate file). |
||||
+ sal_Int32 nSheetToExport; |
||||
}; |
||||
|
||||
#endif // INCLUDED_SC_SOURCE_UI_INC_IMOPTDLG_HXX |
||||
-- |
||||
2.31.1 |
||||
|
@ -0,0 +1,72 @@
@@ -0,0 +1,72 @@
|
||||
From bced744fea67d50242701ed55271d40e803ac14e Mon Sep 17 00:00:00 2001 |
||||
From: Michael Stahl <michael.stahl@allotropia.de> |
||||
Date: Mon, 15 Nov 2021 17:29:59 +0100 |
||||
Subject: [PATCH] tdf#121546 sw: don't use undo array's m_pOutlineNodes |
||||
|
||||
It's pointless. |
||||
|
||||
Change-Id: I304c123bffc16e6133d2953bc9a4f7a3afad14ef |
||||
--- |
||||
sw/source/core/docnode/ndnum.cxx | 2 ++ |
||||
sw/source/core/docnode/nodes.cxx | 18 ++++++++++++------ |
||||
2 files changed, 14 insertions(+), 6 deletions(-) |
||||
|
||||
diff --git a/sw/source/core/docnode/ndnum.cxx b/sw/source/core/docnode/ndnum.cxx |
||||
index b3d66affa66e..a7b898ee5f0a 100644 |
||||
--- a/sw/source/core/docnode/ndnum.cxx |
||||
+++ b/sw/source/core/docnode/ndnum.cxx |
||||
@@ -38,6 +38,8 @@ bool SwOutlineNodes::Seek_Entry(SwNode* rP, size_type* pnPos) const |
||||
|
||||
void SwNodes::UpdateOutlineNode(SwNode & rNd) |
||||
{ |
||||
+ assert(IsDocNodes()); // no point in m_pOutlineNodes for undo nodes |
||||
+ |
||||
SwTextNode * pTextNd = rNd.GetTextNode(); |
||||
|
||||
if (!(pTextNd && pTextNd->IsOutlineStateChanged())) |
||||
diff --git a/sw/source/core/docnode/nodes.cxx b/sw/source/core/docnode/nodes.cxx |
||||
index a7a2078b2091..ab3eb62ac9f2 100644 |
||||
--- a/sw/source/core/docnode/nodes.cxx |
||||
+++ b/sw/source/core/docnode/nodes.cxx |
||||
@@ -109,6 +109,16 @@ SwNodes::~SwNodes() |
||||
m_pEndOfContent.reset(); |
||||
} |
||||
|
||||
+static bool IsInsertOutline(SwNodes const& rNodes, sal_uLong const nIndex) |
||||
+{ |
||||
+ if (!rNodes.IsDocNodes()) |
||||
+ { |
||||
+ return false; |
||||
+ } |
||||
+ return nIndex < rNodes.GetEndOfRedlines().StartOfSectionNode()->GetIndex() |
||||
+ || rNodes.GetEndOfRedlines().GetIndex() < nIndex; |
||||
+} |
||||
+ |
||||
void SwNodes::ChgNode( SwNodeIndex const & rDelPos, sal_uLong nSz, |
||||
SwNodeIndex& rInsPos, bool bNewFrames ) |
||||
{ |
||||
@@ -124,9 +134,7 @@ void SwNodes::ChgNode( SwNodeIndex const & rDelPos, sal_uLong nSz, |
||||
|
||||
// NEVER include nodes from the RedLineArea |
||||
sal_uLong nNd = rInsPos.GetIndex(); |
||||
- bool bInsOutlineIdx = ( |
||||
- rNds.GetEndOfRedlines().StartOfSectionNode()->GetIndex() >= nNd || |
||||
- nNd >= rNds.GetEndOfRedlines().GetIndex() ); |
||||
+ bool const bInsOutlineIdx = IsInsertOutline(rNds, nNd); |
||||
|
||||
if( &rNds == this ) // if in the same node array -> move |
||||
{ |
||||
@@ -478,9 +486,7 @@ bool SwNodes::MoveNodes( const SwNodeRange& aRange, SwNodes & rNodes, |
||||
|
||||
// NEVER include nodes from the RedLineArea |
||||
sal_uLong nNd = aIdx.GetIndex(); |
||||
- bool bInsOutlineIdx = ( rNodes.GetEndOfRedlines(). |
||||
- StartOfSectionNode()->GetIndex() >= nNd || |
||||
- nNd >= rNodes.GetEndOfRedlines().GetIndex() ); |
||||
+ bool const bInsOutlineIdx = IsInsertOutline(rNodes, nNd); |
||||
|
||||
if( bNewFrames ) |
||||
// delete all frames |
||||
-- |
||||
2.33.1 |
||||
|
@ -0,0 +1,301 @@
@@ -0,0 +1,301 @@
|
||||
From c8f7408db73d2f2ccacb25a2b4fef8dfebdfc6cb Mon Sep 17 00:00:00 2001 |
||||
From: Miklos Vajna <vmiklos@collabora.com> |
||||
Date: Mon, 27 Nov 2023 08:02:59 +0100 |
||||
Subject: [PATCH] tdf#158302 fix build against system-libxml-2.12 |
||||
|
||||
Seen in a fedora:40 container, using --with-system-libcmis, |
||||
--with-system-liblangtag and --with-system-xmlsec. |
||||
|
||||
Change-Id: I9d748d3dc0b70dbfdfcb6b99c9ce8440bda6f326 |
||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159980 |
||||
Tested-by: Jenkins |
||||
Reviewed-by: Miklos Vajna <vmiklos@collabora.com> |
||||
--- |
||||
drawinglayer/source/tools/primitive2dxmldump.cxx | 1 + |
||||
filter/source/xsltfilter/LibXSLTTransformer.cxx | 2 +- |
||||
helpcompiler/source/HelpLinker.cxx | 4 ++++ |
||||
include/xmloff/xmltoken.hxx | 2 +- |
||||
sax/source/fastparser/fastparser.cxx | 2 +- |
||||
sc/source/core/tool/interpr7.cxx | 1 + |
||||
sc/source/filter/xml/XMLExportDataPilot.cxx | 2 +- |
||||
sc/source/filter/xml/XMLExportDatabaseRanges.cxx | 2 +- |
||||
sc/source/filter/xml/xmlfilti.cxx | 6 +++--- |
||||
unoxml/source/dom/attr.cxx | 1 + |
||||
unoxml/source/dom/document.cxx | 1 + |
||||
unoxml/source/dom/documentbuilder.cxx | 1 + |
||||
unoxml/source/dom/entity.cxx | 1 + |
||||
unoxml/source/xpath/xpathapi.cxx | 7 ++++++- |
||||
xmloff/source/core/xmltoken.cxx | 2 +- |
||||
xmloff/source/style/PageMasterStyleMap.cxx | 2 +- |
||||
xmlsecurity/inc/xmlsec-wrapper.h | 1 + |
||||
xmlsecurity/inc/xmlsec/saxhelper.hxx | 1 + |
||||
18 files changed, 28 insertions(+), 11 deletions(-) |
||||
|
||||
diff --git a/drawinglayer/source/tools/primitive2dxmldump.cxx b/drawinglayer/source/tools/primitive2dxmldump.cxx |
||||
index 76aefec902ea..f3b9ef1bc919 100644 |
||||
--- a/drawinglayer/source/tools/primitive2dxmldump.cxx |
||||
+++ b/drawinglayer/source/tools/primitive2dxmldump.cxx |
||||
@@ -15,6 +15,7 @@ |
||||
|
||||
#include <math.h> |
||||
#include <memory> |
||||
+#include <libxml/parser.h> |
||||
#include <sal/log.hxx> |
||||
|
||||
#include <drawinglayer/primitive2d/bitmapprimitive2d.hxx> |
||||
diff --git a/filter/source/xsltfilter/LibXSLTTransformer.cxx b/filter/source/xsltfilter/LibXSLTTransformer.cxx |
||||
index 1a7c34805f1b..5e9a7c4bcd35 100644 |
||||
--- a/filter/source/xsltfilter/LibXSLTTransformer.cxx |
||||
+++ b/filter/source/xsltfilter/LibXSLTTransformer.cxx |
||||
@@ -333,7 +333,7 @@ namespace XSLT |
||||
} |
||||
else |
||||
{ |
||||
- xmlErrorPtr lastErr = xmlGetLastError(); |
||||
+ const xmlError* lastErr = xmlGetLastError(); |
||||
OUString msg; |
||||
if (lastErr) |
||||
msg = OStringToOUString(lastErr->message, RTL_TEXTENCODING_UTF8); |
||||
diff --git a/helpcompiler/source/HelpLinker.cxx b/helpcompiler/source/HelpLinker.cxx |
||||
index 3d52834dbe6b..898a8b26392a 100644 |
||||
--- a/helpcompiler/source/HelpLinker.cxx |
||||
+++ b/helpcompiler/source/HelpLinker.cxx |
||||
@@ -815,7 +815,11 @@ static const HelpProcessingException* GpXMLParsingException = nullptr; |
||||
|
||||
extern "C" { |
||||
|
||||
+#if LIBXML_VERSION >= 21200 |
||||
+static void StructuredXMLErrorFunction(SAL_UNUSED_PARAMETER void *, const xmlError* error) |
||||
+#else |
||||
static void StructuredXMLErrorFunction(SAL_UNUSED_PARAMETER void *, xmlErrorPtr error) |
||||
+#endif |
||||
{ |
||||
std::string aErrorMsg = error->message; |
||||
std::string aXMLParsingFile; |
||||
diff --git a/include/xmloff/xmltoken.hxx b/include/xmloff/xmltoken.hxx |
||||
index 4e6441841774..ba42fae4d035 100644 |
||||
--- a/include/xmloff/xmltoken.hxx |
||||
+++ b/include/xmloff/xmltoken.hxx |
||||
@@ -744,7 +744,7 @@ namespace xmloff::token { |
||||
XML_EMBEDDED_VISIBLE_AREA, |
||||
XML_EMBOSSED, |
||||
XML_EMISSIVE_COLOR, |
||||
- XML_EMPTY, |
||||
+ XML_TOKEN_EMPTY, |
||||
XML_EMPTY_LINE_REFRESH, |
||||
XML_ENABLE_NUMBERING, |
||||
XML_ENABLED, |
||||
diff --git a/sax/source/fastparser/fastparser.cxx b/sax/source/fastparser/fastparser.cxx |
||||
index ec8065016a12..e0338e053cf0 100644 |
||||
--- a/sax/source/fastparser/fastparser.cxx |
||||
+++ b/sax/source/fastparser/fastparser.cxx |
||||
@@ -578,7 +578,7 @@ Event& Entity::getEvent( CallbackType aType ) |
||||
OUString lclGetErrorMessage( xmlParserCtxtPtr ctxt, std::u16string_view sSystemId, sal_Int32 nLine ) |
||||
{ |
||||
const char* pMessage; |
||||
- xmlErrorPtr error = xmlCtxtGetLastError( ctxt ); |
||||
+ const xmlError* error = xmlCtxtGetLastError( ctxt ); |
||||
if( error && error->message ) |
||||
pMessage = error->message; |
||||
else |
||||
diff --git a/sc/source/core/tool/interpr7.cxx b/sc/source/core/tool/interpr7.cxx |
||||
index 352c7cf70e45..ecb4ea346396 100644 |
||||
--- a/sc/source/core/tool/interpr7.cxx |
||||
+++ b/sc/source/core/tool/interpr7.cxx |
||||
@@ -31,6 +31,7 @@ |
||||
#include <cstring> |
||||
#include <memory> |
||||
#include <string_view> |
||||
+#include <libxml/parser.h> |
||||
|
||||
using namespace com::sun::star; |
||||
|
||||
diff --git a/sc/source/filter/xml/XMLExportDataPilot.cxx b/sc/source/filter/xml/XMLExportDataPilot.cxx |
||||
index da65bec0dab7..bd5f16d828ff 100644 |
||||
--- a/sc/source/filter/xml/XMLExportDataPilot.cxx |
||||
+++ b/sc/source/filter/xml/XMLExportDataPilot.cxx |
||||
@@ -123,7 +123,7 @@ void ScXMLExportDataPilot::WriteDPCondition(const ScQueryEntry& aQueryEntry, boo |
||||
|
||||
if (aQueryEntry.IsQueryByEmpty()) |
||||
{ |
||||
- rExport.AddAttribute(XML_NAMESPACE_TABLE, XML_OPERATOR, GetXMLToken(XML_EMPTY)); |
||||
+ rExport.AddAttribute(XML_NAMESPACE_TABLE, XML_OPERATOR, GetXMLToken(XML_TOKEN_EMPTY)); |
||||
} |
||||
else if (aQueryEntry.IsQueryByNonEmpty()) |
||||
{ |
||||
diff --git a/sc/source/filter/xml/XMLExportDatabaseRanges.cxx b/sc/source/filter/xml/XMLExportDatabaseRanges.cxx |
||||
index 6905e02d651b..e4307065bd92 100644 |
||||
--- a/sc/source/filter/xml/XMLExportDatabaseRanges.cxx |
||||
+++ b/sc/source/filter/xml/XMLExportDatabaseRanges.cxx |
||||
@@ -376,7 +376,7 @@ private: |
||||
case SC_EQUAL: |
||||
{ |
||||
if (rEntry.IsQueryByEmpty()) |
||||
- return GetXMLToken(XML_EMPTY); |
||||
+ return GetXMLToken(XML_TOKEN_EMPTY); |
||||
else if (rEntry.IsQueryByNonEmpty()) |
||||
return GetXMLToken(XML_NOEMPTY); |
||||
|
||||
diff --git a/sc/source/filter/xml/xmlfilti.cxx b/sc/source/filter/xml/xmlfilti.cxx |
||||
index 7585ce0c50fa..61f7cfe4a349 100644 |
||||
--- a/sc/source/filter/xml/xmlfilti.cxx |
||||
+++ b/sc/source/filter/xml/xmlfilti.cxx |
||||
@@ -370,7 +370,7 @@ void ScXMLConditionContext::GetOperator( |
||||
rEntry.eOp = SC_BOTPERC; |
||||
else if (IsXMLToken(aOpStr, XML_BOTTOM_VALUES)) |
||||
rEntry.eOp = SC_BOTVAL; |
||||
- else if (IsXMLToken(aOpStr, XML_EMPTY)) |
||||
+ else if (IsXMLToken(aOpStr, XML_TOKEN_EMPTY)) |
||||
rEntry.SetQueryByEmpty(); |
||||
else if (aOpStr == u">") |
||||
rEntry.eOp = SC_GREATER; |
||||
@@ -422,7 +422,7 @@ void SAL_CALL ScXMLConditionContext::endFastElement( sal_Int32 /*nElement*/ ) |
||||
if (maQueryItems.empty()) |
||||
{ |
||||
ScQueryEntry::Item& rItem = rEntry.GetQueryItem(); |
||||
- if (IsXMLToken(sOperator, XML_EMPTY)) |
||||
+ if (IsXMLToken(sOperator, XML_TOKEN_EMPTY)) |
||||
return; |
||||
if (IsXMLToken(sDataType, XML_NUMBER)) |
||||
{ |
||||
@@ -753,7 +753,7 @@ void SAL_CALL ScXMLDPConditionContext::endFastElement( sal_Int32 /*nElement*/ ) |
||||
else |
||||
aFilterField.eConnect = SC_AND; |
||||
pFilterContext->SetIsCaseSensitive(bIsCaseSensitive); |
||||
- if (IsXMLToken(sOperator, XML_EMPTY)) |
||||
+ if (IsXMLToken(sOperator, XML_TOKEN_EMPTY)) |
||||
aFilterField.SetQueryByEmpty(); |
||||
else if (IsXMLToken(sOperator, XML_NOEMPTY)) |
||||
aFilterField.SetQueryByNonEmpty(); |
||||
diff --git a/unoxml/source/dom/attr.cxx b/unoxml/source/dom/attr.cxx |
||||
index dd974d910edb..d8d873cdf055 100644 |
||||
--- a/unoxml/source/dom/attr.cxx |
||||
+++ b/unoxml/source/dom/attr.cxx |
||||
@@ -22,6 +22,7 @@ |
||||
#include <string.h> |
||||
|
||||
#include <memory> |
||||
+#include <libxml/entities.h> |
||||
|
||||
#include <osl/diagnose.h> |
||||
#include <sal/log.hxx> |
||||
diff --git a/unoxml/source/dom/document.cxx b/unoxml/source/dom/document.cxx |
||||
index cb48bd1635f8..0825fc2cd7ed 100644 |
||||
--- a/unoxml/source/dom/document.cxx |
||||
+++ b/unoxml/source/dom/document.cxx |
||||
@@ -41,6 +41,7 @@ |
||||
#include <eventdispatcher.hxx> |
||||
|
||||
#include <string.h> |
||||
+#include <libxml/xmlIO.h> |
||||
|
||||
#include <osl/diagnose.h> |
||||
|
||||
diff --git a/unoxml/source/dom/documentbuilder.cxx b/unoxml/source/dom/documentbuilder.cxx |
||||
index c3cd7663d2fc..3898d58e4be4 100644 |
||||
--- a/unoxml/source/dom/documentbuilder.cxx |
||||
+++ b/unoxml/source/dom/documentbuilder.cxx |
||||
@@ -22,6 +22,7 @@ |
||||
#include <string.h> |
||||
|
||||
#include <libxml/xmlerror.h> |
||||
+#include <libxml/parser.h> |
||||
|
||||
#include <memory> |
||||
|
||||
diff --git a/unoxml/source/dom/entity.cxx b/unoxml/source/dom/entity.cxx |
||||
index ccc8a0872499..98909dfe8f12 100644 |
||||
--- a/unoxml/source/dom/entity.cxx |
||||
+++ b/unoxml/source/dom/entity.cxx |
||||
@@ -22,6 +22,7 @@ |
||||
#include <osl/diagnose.h> |
||||
|
||||
#include <string.h> |
||||
+#include <libxml/entities.h> |
||||
|
||||
using namespace css::uno; |
||||
using namespace css::xml::dom; |
||||
diff --git a/unoxml/source/xpath/xpathapi.cxx b/unoxml/source/xpath/xpathapi.cxx |
||||
index a60083983882..c2b753783176 100644 |
||||
--- a/unoxml/source/xpath/xpathapi.cxx |
||||
+++ b/unoxml/source/xpath/xpathapi.cxx |
||||
@@ -26,6 +26,7 @@ |
||||
#include <libxml/xmlerror.h> |
||||
#include <libxml/xpath.h> |
||||
#include <libxml/xpathInternals.h> |
||||
+#include <libxml/xmlIO.h> |
||||
|
||||
#include <com/sun/star/xml/xpath/XPathException.hpp> |
||||
|
||||
@@ -217,7 +218,7 @@ namespace XPath |
||||
return selectSingleNode(contextNode, expr); |
||||
} |
||||
|
||||
- static OUString make_error_message(xmlErrorPtr pError) |
||||
+ static OUString make_error_message(const xmlError* pError) |
||||
{ |
||||
OUStringBuffer buf; |
||||
if (pError) { |
||||
@@ -259,7 +260,11 @@ namespace XPath |
||||
SAL_WARN("unoxml", "libxml2 error: " << str); |
||||
} |
||||
|
||||
+#if LIBXML_VERSION >= 21200 |
||||
+ static void structured_error_func(void *, const xmlError* error) |
||||
+#else |
||||
static void structured_error_func(void *, xmlErrorPtr error) |
||||
+#endif |
||||
{ |
||||
SAL_WARN("unoxml", "libxml2 error: " << make_error_message(error)); |
||||
} |
||||
diff --git a/xmloff/source/core/xmltoken.cxx b/xmloff/source/core/xmltoken.cxx |
||||
index 6879f37db295..e11dc0d16111 100644 |
||||
--- a/xmloff/source/core/xmltoken.cxx |
||||
+++ b/xmloff/source/core/xmltoken.cxx |
||||
@@ -756,7 +756,7 @@ namespace xmloff::token { |
||||
TOKEN( "embedded-visible-area", XML_EMBEDDED_VISIBLE_AREA ), |
||||
TOKEN( "embossed", XML_EMBOSSED ), |
||||
TOKEN( "emissive-color", XML_EMISSIVE_COLOR ), |
||||
- TOKEN( "empty", XML_EMPTY ), |
||||
+ TOKEN( "empty", XML_TOKEN_EMPTY ), |
||||
TOKEN( "empty-line-refresh", XML_EMPTY_LINE_REFRESH ), |
||||
TOKEN( "enable-numbering", XML_ENABLE_NUMBERING ), |
||||
TOKEN( "enabled", XML_ENABLED ), |
||||
diff --git a/xmloff/source/style/PageMasterStyleMap.cxx b/xmloff/source/style/PageMasterStyleMap.cxx |
||||
index 7b2cab4751aa..6f631289672b 100644 |
||||
--- a/xmloff/source/style/PageMasterStyleMap.cxx |
||||
+++ b/xmloff/source/style/PageMasterStyleMap.cxx |
||||
@@ -157,7 +157,7 @@ const XMLPropertyMapEntry aXMLPageMasterStyleMap[] = |
||||
PLMAP( PROP_FootnoteLineRelativeWidth, XML_NAMESPACE_STYLE, XML__EMPTY, XML_TYPE_PERCENT8|MID_FLAG_SPECIAL_ITEM, CTF_PM_FTN_LINE_WIDTH ), |
||||
PLMAP( PROP_FootnoteLineTextDistance, XML_NAMESPACE_STYLE, XML__EMPTY, XML_TYPE_MEASURE|MID_FLAG_SPECIAL_ITEM, CTF_PM_FTN_LINE_DISTANCE ), |
||||
PLMAP( PROP_FootnoteLineWeight, XML_NAMESPACE_STYLE, XML_FOOTNOTE_SEP, XML_TYPE_MEASURE16|MID_FLAG_ELEMENT_ITEM, CTF_PM_FTN_LINE_WEIGHT ), |
||||
- PLMAP( PROP_FootnoteLineStyle, XML_NAMESPACE_STYLE, XML_EMPTY, XML_TYPE_STRING|MID_FLAG_ELEMENT_ITEM, CTF_PM_FTN_LINE_STYLE ), |
||||
+ PLMAP( PROP_FootnoteLineStyle, XML_NAMESPACE_STYLE, XML_TOKEN_EMPTY, XML_TYPE_STRING|MID_FLAG_ELEMENT_ITEM, CTF_PM_FTN_LINE_STYLE ), |
||||
PLMAP_EXT(PROP_GutterMargin, XML_NAMESPACE_LO_EXT, XML_MARGIN_GUTTER, XML_TYPE_MEASURE, CTF_PM_MARGINGUTTER), |
||||
|
||||
////////////////////////////////////////////////////////////////////////// |
||||
diff --git a/xmlsecurity/inc/xmlsec/saxhelper.hxx b/xmlsecurity/inc/xmlsec/saxhelper.hxx |
||||
index a49ccef1894c..a5863ffd0e2a 100644 |
||||
--- a/xmlsecurity/inc/xmlsec/saxhelper.hxx |
||||
+++ b/xmlsecurity/inc/xmlsec/saxhelper.hxx |
||||
@@ -23,6 +23,7 @@ |
||||
|
||||
#include <string_view> |
||||
|
||||
+#include <libxml/parser.h> |
||||
#include <libxml/tree.h> |
||||
|
||||
#include <rtl/ustring.hxx> |
||||
-- |
||||
2.42.0 |
||||
|
||||
--- libreoffice-7.6.3.2/xmlsecurity/inc/xmlsec-wrapper.h~ 2023-11-16 17:06:03.000000000 -0600 |
||||
+++ libreoffice-7.6.3.2/xmlsecurity/inc/xmlsec-wrapper.h 2023-11-27 10:23:27.919378638 -0600 |
||||
@@ -28,6 +28,7 @@ |
||||
#define XMLSEC_NO_SIZE_T |
||||
#endif |
||||
|
||||
+#include <libxml/parser.h> |
||||
#include <xmlsec/base64.h> |
||||
#include <xmlsec/bn.h> |
||||
#include <xmlsec/errors.h> |
@ -0,0 +1,51 @@
@@ -0,0 +1,51 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK----- |
||||
|
||||
mQINBEyzEr0BEADT441wUITsTwDA2nM3kmUhGrzTdxZB5xv/E1ZJCw63qWdmdTdW |
||||
NZDfNDuLs4r2VjlEoA3xGK6jgnQvyAoNj0yiEbW/JedHHgOiVdXDlkgkY58myafT |
||||
FXqDLzTXVrsNnay0GS8XrNjptZJPhEPBvNUdkqpA9B7RTkfaXj779Pf/AeFMZVLl |
||||
UAci5RA0NNF910GHwoXT6SEv2PGoawsphnfmMVdKh9wz7asbtKXEmotCwX3k045x |
||||
LsIVK5ANOi+BI9C3LkrrFJWw2XHqDW2ulwCJ0L5QNSjOuY/v8REODwIXamvvdZOz |
||||
XBKSIzDOalJqFCHls3YlGyFw1knr6BAOmVOm32YtNTCLbVA/iK55fZWnUCjD3a4G |
||||
xz4qpQYWfpxhOmlHpk5JkraSNHzCc7SB43DwcHF5ecXHttMhO8MoN/bAZBgCuLGF |
||||
EwNvwFbDwIWo07mlv7wD8i1rtUCvLywJc5YL2PbjCLfB1Q4YzDX1EWnjKdnAsxxK |
||||
ftrx1DFlxzUF+TaHbLTPttUcsWQaL8wITznoWIwdIWlo2woPgWIpUXMOYwYV31Oo |
||||
fgmroHa3V4NOvkke09uhaZawg5yZCoRFohhfKPqT1ZrJ9SnRbW/WR3VTVY76ht5k |
||||
RuV3eb2VWBmPU9zn56Tbe6dvFkBuzHH1JdECAqy1BzFcmQQFBebFzf1XAQARAQAB |
||||
tEhMaWJyZU9mZmljZSBCdWlsZCBUZWFtIChDT0RFIFNJR05JTkcgS0VZKSA8YnVp |
||||
bGRAZG9jdW1lbnRmb3VuZGF0aW9uLm9yZz6JAjcEEwEKACEFAkyzEr0CGwMFCwkI |
||||
BwMFFQoJCAsFFgIDAQACHgECF4AACgkQ9DSh76/urqOc4w//X+74QlyRalcuLNw3 |
||||
oJKB1+1z6xxhhpwg1kw5cMMrGu0w0YoPvLDKaiS02DdkIaXDECcQTOoEh7/bYbZq |
||||
6OtE1WyxqHYYOPK5yul5FRwZ5k5HZ7pDFcKCQ72UgWhz+QznRhgZ0jwEWl5Ln3rw |
||||
JpSynIvTXHmQogId0xmcrNQPyckzzugGx4qZFinSOmDGwTgG14NU3vat2iek37Ph |
||||
BLh5V8ohlEoccwwPejtKEWQudg0Q8K7uBuqLUhnJoZodEytqpOvtysuPtGxGXnmD |
||||
7oXtBVEF3X6eFRXDIp81cx2isHK4Krf4z4T9KUimNLHjWRa+ZQtp2pZLHQlblfsn |
||||
CUf6TYZ0Yi909EhcM/hxAgBZXellOCQ/8U2cJsTUyN5Dp1wbf6X0uK4uaed1/037 |
||||
EGLAO6PP6WQz6jWd1/hhsQ5oAmdjkzlMFEfKNeIIDuKMOjXcTvM8/KRXhufwICvS |
||||
FBlSIveHfDFWCvOVgq0VjAY7NFMFKRUnRHB58qBamtyhOyscRIvT5QH8HYfUA/YN |
||||
l9FguczYUIQi3t+H1hoHIywdtmRuhYx5WlIUe8FO9QD5RMPbBjVbkCYgdHdxgnJD |
||||
KCoRGsoKlLB7UZc4Ak9j6plZbYtFRonm2MjU4zxblCFNuEqVQ0V/y6/OIGpBYF9Y |
||||
aEAtTgEJd9OmmDCM3d8O0zZHYma5Ag0ETLMSvQEQAMDp0HxSDWd+2Od/aJutCMFe |
||||
8tfw7+nP9gfHOCUqesb88QvRMJgVY6z1aNdMllxTKlsxUiuA6uNcrUAkzDp/qRWR |
||||
58rWIO642PLifng3urJ1cDbSKC+K4RHpQC+hXllMKLqq8dwNy1LO4fPo9SdtUF4B |
||||
ev6enKmo4yCiOGv2tvztPh9gMGYoDncaOsS0t2UPr2MMQIVUmmIzfJBkdOxbZiWO |
||||
doeNbWsYJHQaO+Ahal6SjPHKzhdjeXhZzHl1vqeDkV4MXHprrOwXNXwPiEpkZe2O |
||||
dc7yaMkQc0k8WRrfKHApbnwDx6Mi8HYaf+LvRq7P0eMO9osD1q44wQQvVzk199zp |
||||
MMHS5/kAv7RBNmDOSJQIZ4zT4lzRDODjMf01Ljn02zon12GfJo0WbbpmLulta7uj |
||||
HgMrUU54by8WPFGW0fljXiDX0EpkHhxUsUsfaNfBsFnE+sRxQjNF/ljvofkyApI2 |
||||
1OjtEa9krwvgDqaXsL+a2076OsoFpORlTZ30REb0eRS6rEt8M+7s4xTaA7GFxlY/ |
||||
N+bnaM8m+ItygfFHHW4H0wLbbgajDeooSTgaheVNF5V9HS0EkN4MNVvtJH7J6drd |
||||
iR1QVhX87n7+JtQzTtCOyfeKjaB+kcbAm/2VOFOeHdig5+BygpXt3IixVq72xmGz |
||||
h0jhY565MjXrqg5O3pvLABEBAAGJAh8EGAEKAAkFAkyzEr0CGwwACgkQ9DSh76/u |
||||
rqPaeg//avI2/a94XlSYtSZb2hVdW3qa9AEypQurqtVrKJfEKFV+ZQBPXbPRy8Mz |
||||
5LMEH1sfD6B4SVGIGJ8opSyieJkcKIke+GMekTWvSqDpFOgY2rw7eHNn/33ZJs3O |
||||
zQOyWz8smE/AIM/5lyiVGuSlU7RjYncf1V9bIBc91q9Edqk4IYUo/7W+yafC0VW/ |
||||
8oHUFYjHNaujiOsEoLiXsh9Y0R/6Jxs6fvE4XbCANV/ecN5UX+9BBrNZNN/9GbNr |
||||
6CYGZ57M2f1Pgywy/XvOnEPnJ8aWXUyGLqq34KvMPFPSOeAmFbkFEsB4mdDMFaDw |
||||
rzziiZE/zS8/nKiH4X2JgmLgFsadEihdfYxeDcGbhREK/qA1f3bGnr1j05V07yko |
||||
2FFZdiOr4OgiT5ymgwVUXQ2Aiz+J/C8URjfpcPxetmuDQT9AYfgmMKPNVXPFWuNQ |
||||
dzN5GZbI+E1/cb5+uLNknvjngw2G4PR/4uPHX1HCSftlNawBqWzyun1k+B7/u3Oe |
||||
FebWXcdqSmZuLQ7l0Pkuz/Nlp6M6cKpceL+9zCgaiR5+v9h94VvtXKd/mw9ZLACc |
||||
VcOANiwCtsJP3lt7jRSHtkuUe6vUm5tLS582RfXxoI1BlPjNtG9xAQ3JKBHIXbal |
||||
T18pAFO3t74cxg3h0iI1G51F3oL0DwILP2MBBmardVEp5CMnB/M= |
||||
=1iQB |
||||
-----END PGP PUBLIC KEY BLOCK----- |
@ -0,0 +1,16 @@
@@ -0,0 +1,16 @@
|
||||
diff -U 3 -dHrN a/sc/inc/arraysumfunctor.hxx b/sc/inc/arraysumfunctor.hxx |
||||
--- a/sc/inc/arraysumfunctor.hxx 2023-09-22 21:07:01.000000000 +0200 |
||||
+++ b/sc/inc/arraysumfunctor.hxx 2023-10-01 09:13:03.523493665 +0200 |
||||
@@ -85,8 +85,12 @@ |
||||
inline KahanSum sumArray(const double* pArray, size_t nSize) |
||||
{ |
||||
size_t i = 0; |
||||
+#if 0 |
||||
const double* pCurrent = pArray; |
||||
KahanSum fSum = executeFast(i, nSize, pCurrent); |
||||
+#else |
||||
+ KahanSum fSum = 0.0; |
||||
+#endif |
||||
|
||||
// sum rest of the array |
||||
for (; i < nSize; ++i) |
@ -0,0 +1,16 @@
@@ -0,0 +1,16 @@
|
||||
#!/bin/sh |
||||
OOO_ARCH=$(uname -m) |
||||
case $OOO_ARCH in |
||||
x86_64 | s390x | sparc64 | aarch64) |
||||
OOO_LIB_DIR="/usr/lib64" |
||||
SECONDARY_LIB_DIR="/usr/lib" |
||||
;; |
||||
* ) |
||||
OOO_LIB_DIR="/usr/lib" |
||||
SECONDARY_LIB_DIR="/usr/lib64" |
||||
;; |
||||
esac |
||||
if [ ! -x $OOO_LIB_DIR/BRAND/program/LAUNCHER ]; then |
||||
OOO_LIB_DIR="$SECONDARY_LIB_DIR" |
||||
fi |
||||
exec $OOO_LIB_DIR/BRAND/program/LAUNCHER "$@" |
@ -0,0 +1,32 @@
@@ -0,0 +1,32 @@
|
||||
From 3426c96d0e32e0c83e4ce5fdb3405787a0c81e6c Mon Sep 17 00:00:00 2001 |
||||
From: Dan Horák <dan@danny.cz> |
||||
Date: Fri, 01 Sep 2023 18:45:42 +0200 |
||||
Subject: [PATCH] limit tests giving dubious results to x86_64 |
||||
|
||||
We have confirmed that ArrayFunctionsTest::testDubiousArrayFormulasFODS |
||||
gives different results depending on the -ffp-contract setting on |
||||
ppc64le and likely also on s390x in addition to aarch64. Thus limit the |
||||
check only to x86_64 where it's known to give consistent results. |
||||
|
||||
Change-Id: Iedb63fb4340cfe9a88e374c7498d97574bcdfcc7 |
||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156453 |
||||
Tested-by: Jenkins |
||||
Reviewed-by: Stephan Bergmann <sbergman@redhat.com> |
||||
--- |
||||
|
||||
diff --git a/sc/qa/unit/functions_array.cxx b/sc/qa/unit/functions_array.cxx |
||||
index 7584c4e..2053c44 100644 |
||||
--- a/sc/qa/unit/functions_array.cxx |
||||
+++ b/sc/qa/unit/functions_array.cxx |
||||
@@ -27,8 +27,9 @@ |
||||
{ |
||||
//TODO: sc/qa/unit/data/functions/array/dubious/fods/linest.fods produces widely different |
||||
// values when built with -ffp-contract enabled (-ffp-contract=on default on Clang 14, |
||||
- // -ffp-contract=fast default when building with optimizations on GCC) on at least aarch64: |
||||
-#if !((defined __clang__ || defined __GNUC__) && defined __aarch64__) |
||||
+ // -ffp-contract=fast default when building with optimizations on GCC) on at least aarch64 |
||||
+ // and ppc64le. Thus limit the check only to platforms with consistent results. |
||||
+#if defined X86_64 |
||||
OUString aDirectoryURL |
||||
= m_directories.getURLFromSrc(u"/sc/qa/unit/data/functions/array/dubious/fods/"); |
||||
recursiveScan(test::pass, "OpenDocument Spreadsheet Flat XML", aDirectoryURL, |
@ -0,0 +1,19 @@
@@ -0,0 +1,19 @@
|
||||
diff -up libreoffice-7.6.0.3/testtools/source/bridgetest/bridgetest.cxx.orig libreoffice-7.6.0.3/testtools/source/bridgetest/bridgetest.cxx |
||||
--- libreoffice-7.6.0.3/testtools/source/bridgetest/bridgetest.cxx.orig 2023-08-21 13:15:31.738062821 +0200 |
||||
+++ libreoffice-7.6.0.3/testtools/source/bridgetest/bridgetest.cxx 2023-08-21 13:15:56.607246816 +0200 |
||||
@@ -469,6 +469,7 @@ static bool performTest( |
||||
equals(aData, aSV2ret) && equals(aData, aRet2), |
||||
"getValues2 test"); |
||||
} |
||||
+#if 0 |
||||
{ |
||||
TwoFloats aIn(1.1f, 2.2f); |
||||
TwoFloats aOut = xLBT->echoTwoFloats(aIn); |
||||
@@ -479,6 +480,7 @@ static bool performTest( |
||||
FourFloats aOut = xLBT->echoFourFloats(aIn); |
||||
bRet = check( memcmp(&aIn, &aOut, sizeof(FourFloats)) == 0, "four floats struct test" ) && bRet; |
||||
} |
||||
+#endif |
||||
{ |
||||
MixedFloatAndInteger aIn(7.7f, 8); |
||||
MixedFloatAndInteger aOut = xLBT->echoMixedFloatAndInteger(aIn); |
@ -0,0 +1,22 @@
@@ -0,0 +1,22 @@
|
||||
--- libreoffice-7.6.3.1/sw/qa/core/text/itrform2.cxx 2023-11-02 16:37:04.000000000 -0500 |
||||
+++ core/sw/qa/core/text/itrform2.cxx 2023-11-07 10:31:14.018505043 -0600 |
||||
@@ -124,6 +124,10 @@ |
||||
|
||||
// Then make sure all the expected text is there on page 2: |
||||
std::unique_ptr<vcl::pdf::PDFiumDocument> pPdfDocument = parsePDFExport(); |
||||
+ if (!pPdfDocument) |
||||
+ { |
||||
+ return; |
||||
+ } |
||||
std::unique_ptr<vcl::pdf::PDFiumPage> pPage2 = pPdfDocument->openPage(1); |
||||
int nTextCount = 0; |
||||
for (int i = 0; i < pPage2->getObjectCount(); ++i) |
||||
@@ -143,7 +147,7 @@ |
||||
|
||||
CPPUNIT_TEST_FIXTURE(Test, testSplitFlyAnchorLeftMargin) |
||||
{ |
||||
- // Given a document with a floating table, anchor para is followed by an other para with a left |
||||
+ // Given a document with a floating table, anchor para is followed by another para with a left |
||||
// margin: |
||||
createSwDoc("floattable-anchor-left-margin.docx"); |
||||
|
Loading…
Reference in new issue