Compare commits
No commits in common. "changed/a9/libreoffice-7.1.8.1-12.el9_3.alma" and "c8" have entirely different histories.
changed/a9
...
c8
10
.gitignore
vendored
10
.gitignore
vendored
@ -1,9 +1,7 @@
|
|||||||
SOURCES/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
|
SOURCES/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
|
||||||
SOURCES/185d60944ea767075d27247c3162b3bc-unowinreg.dll
|
SOURCES/185d60944ea767075d27247c3162b3bc-unowinreg.dll
|
||||||
|
SOURCES/884ed41809687c3e168fc7c19b16585149ff058eca79acbf3ee784f6630704cc-opens___.ttf
|
||||||
SOURCES/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip
|
SOURCES/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip
|
||||||
SOURCES/dtoa-20180411.tgz
|
SOURCES/libreoffice-6.4.7.2.tar.xz
|
||||||
SOURCES/f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf
|
SOURCES/libreoffice-help-6.4.7.2.tar.xz
|
||||||
SOURCES/gpgkey-C2839ECAD9408FBE9531C3E9F434A1EFAFEEAEA3.gpg.asc
|
SOURCES/libreoffice-translations-6.4.7.2.tar.xz
|
||||||
SOURCES/libreoffice-7.1.8.1.tar.xz
|
|
||||||
SOURCES/libreoffice-help-7.1.8.1.tar.xz
|
|
||||||
SOURCES/libreoffice-translations-7.1.8.1.tar.xz
|
|
||||||
|
@ -1,9 +1,7 @@
|
|||||||
7168b0f40aa5c72267899601c116d2348d2f56ec SOURCES/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
|
7168b0f40aa5c72267899601c116d2348d2f56ec SOURCES/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
|
||||||
0619ed3a89644bef318df67db12045b2b590585b SOURCES/185d60944ea767075d27247c3162b3bc-unowinreg.dll
|
0619ed3a89644bef318df67db12045b2b590585b SOURCES/185d60944ea767075d27247c3162b3bc-unowinreg.dll
|
||||||
|
d336802a36ed2c87dd243e7c2f1d0542dace5cca SOURCES/884ed41809687c3e168fc7c19b16585149ff058eca79acbf3ee784f6630704cc-opens___.ttf
|
||||||
2d49e11b0b711970f494294dc3698f05eb294853 SOURCES/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip
|
2d49e11b0b711970f494294dc3698f05eb294853 SOURCES/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip
|
||||||
083509db5ad9d1680830be9add727d58b54ca0d3 SOURCES/dtoa-20180411.tgz
|
b29d8cdb3db8d6b317e1cb9117b020d7e676e601 SOURCES/libreoffice-6.4.7.2.tar.xz
|
||||||
dd55efd721df8a013709e27836bdf26623e5320e SOURCES/f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf
|
ca7e087ef62f30c033db84ceb0f6a4021f53653e SOURCES/libreoffice-help-6.4.7.2.tar.xz
|
||||||
7b5fd93d787fbc6d9c2d4025d543730ee8dc4559 SOURCES/gpgkey-C2839ECAD9408FBE9531C3E9F434A1EFAFEEAEA3.gpg.asc
|
0f74fd6286e71ff2b7c7bc01f41c8972e354d81c SOURCES/libreoffice-translations-6.4.7.2.tar.xz
|
||||||
58642377b80001f41884b2fff3d74fe66426b182 SOURCES/libreoffice-7.1.8.1.tar.xz
|
|
||||||
48afe3a1a30861904bf31b387d6bc56360f5ac19 SOURCES/libreoffice-help-7.1.8.1.tar.xz
|
|
||||||
cb1238f7b182c8bfb16086d2eb9305b43b8a6d16 SOURCES/libreoffice-translations-7.1.8.1.tar.xz
|
|
||||||
|
46
SOURCES/0001-0.5.1-is-sufficient.patch
Normal file
46
SOURCES/0001-0.5.1-is-sufficient.patch
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
From ceac69bff953ebd9b54a1f3a032079523c4414d0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||||
|
Date: Sun, 25 Oct 2020 20:23:39 +0000
|
||||||
|
Subject: [PATCH] 0.5.1 is sufficient
|
||||||
|
|
||||||
|
Change-Id: I710a83de8f261d6164eb760d3290c963a5bbe5e1
|
||||||
|
---
|
||||||
|
configure.ac | 15 +--------------
|
||||||
|
1 file changed, 1 insertion(+), 14 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index a6696df15f06..c17fdf5b0d22 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -7050,7 +7050,7 @@ dnl Check for system libcmis
|
||||||
|
dnl ===================================================================
|
||||||
|
# libcmis requires curl and we can't build curl for iOS
|
||||||
|
if test $_os != iOS; then
|
||||||
|
- libo_CHECK_SYSTEM_MODULE([libcmis],[LIBCMIS],[libcmis-0.5 >= 0.5.2])
|
||||||
|
+ libo_CHECK_SYSTEM_MODULE([libcmis],[LIBCMIS],[libcmis-0.5 >= 0.5.0])
|
||||||
|
ENABLE_LIBCMIS=TRUE
|
||||||
|
else
|
||||||
|
ENABLE_LIBCMIS=
|
||||||
|
@@ -7090,19 +7090,6 @@ elif test "$GCC" = "yes" -o "$COM_IS_CLANG" = TRUE; then
|
||||||
|
#include <functional>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
- #if defined SYSTEM_LIBCMIS
|
||||||
|
- // See ucb/source/ucp/cmis/auth_provider.hxx:
|
||||||
|
- #if !defined __clang__
|
||||||
|
- #pragma GCC diagnostic push
|
||||||
|
- #pragma GCC diagnostic ignored "-Wdeprecated"
|
||||||
|
- #pragma GCC diagnostic ignored "-Wunused-but-set-parameter"
|
||||||
|
- #endif
|
||||||
|
- #include <libcmis/libcmis.hxx>
|
||||||
|
- #if !defined __clang__
|
||||||
|
- #pragma GCC diagnostic pop
|
||||||
|
- #endif
|
||||||
|
- #endif
|
||||||
|
-
|
||||||
|
void f(std::vector<int> & v, std::function<bool(int, int)> fn) {
|
||||||
|
std::sort(v.begin(), v.end(), fn);
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.26.2
|
||||||
|
|
26
SOURCES/0001-1.2.25-is-sufficient.patch
Normal file
26
SOURCES/0001-1.2.25-is-sufficient.patch
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
From 92c95c8c3724f267e57827f69f93ef4e6387f793 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||||
|
Date: Sun, 25 Oct 2020 21:14:10 +0000
|
||||||
|
Subject: [PATCH] 1.2.25 is sufficient
|
||||||
|
|
||||||
|
Change-Id: Ie184fbaaf6eea0ae1a39bf142d3391768be9607d
|
||||||
|
---
|
||||||
|
configure.ac | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index a62c131a6d0e..c815ea2c3f8b 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -8364,7 +8364,7 @@ libo_CHECK_SYSTEM_MODULE([expat], [EXPAT], [expat])
|
||||||
|
dnl ===================================================================
|
||||||
|
dnl Check for system xmlsec
|
||||||
|
dnl ===================================================================
|
||||||
|
-libo_CHECK_SYSTEM_MODULE([xmlsec], [XMLSEC], [xmlsec1-nss >= 1.2.28])
|
||||||
|
+libo_CHECK_SYSTEM_MODULE([xmlsec], [XMLSEC], [xmlsec1-nss >= 1.2.25])
|
||||||
|
|
||||||
|
AC_MSG_CHECKING([whether to enable Embedded OpenType support])
|
||||||
|
if test "$_os" != "WINNT" -a "$_os" != "Darwin" -a "$enable_eot" = "yes"; then
|
||||||
|
--
|
||||||
|
2.26.2
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
From 26c9da40d44f1469df97398362667c74553be7d2 Mon Sep 17 00:00:00 2001
|
From ae1bd20a2d4d7b7d64edc3b06d7f901c05175b7d Mon Sep 17 00:00:00 2001
|
||||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||||
Date: Mon, 20 Dec 2021 17:05:44 +0000
|
Date: Mon, 20 Dec 2021 17:05:44 +0000
|
||||||
Subject: [PATCH] only use X509Data
|
Subject: [PATCH] only use X509Data
|
||||||
@ -17,19 +17,19 @@ Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|||||||
2 files changed, 12 insertions(+)
|
2 files changed, 12 insertions(+)
|
||||||
|
|
||||||
diff --git a/xmlsecurity/source/xmlsec/mscrypt/xmlsignature_mscryptimpl.cxx b/xmlsecurity/source/xmlsec/mscrypt/xmlsignature_mscryptimpl.cxx
|
diff --git a/xmlsecurity/source/xmlsec/mscrypt/xmlsignature_mscryptimpl.cxx b/xmlsecurity/source/xmlsec/mscrypt/xmlsignature_mscryptimpl.cxx
|
||||||
index c699c950f351..9f816479f9dd 100644
|
index db400e6..39f9d7f 100644
|
||||||
--- a/xmlsecurity/source/xmlsec/mscrypt/xmlsignature_mscryptimpl.cxx
|
--- a/xmlsecurity/source/xmlsec/mscrypt/xmlsignature_mscryptimpl.cxx
|
||||||
+++ b/xmlsecurity/source/xmlsec/mscrypt/xmlsignature_mscryptimpl.cxx
|
+++ b/xmlsecurity/source/xmlsec/mscrypt/xmlsignature_mscryptimpl.cxx
|
||||||
@@ -22,6 +22,8 @@
|
@@ -21,6 +21,8 @@
|
||||||
|
#include <sal/log.hxx>
|
||||||
#include <rtl/uuid.h>
|
#include <rtl/uuid.h>
|
||||||
#include <xmlsec-wrapper.h>
|
|
||||||
|
|
||||||
+#include <xmlsec/mscng/x509.h>
|
+#include <xmlsec/mscng/x509.h>
|
||||||
+
|
+
|
||||||
#include <com/sun/star/xml/crypto/SecurityOperationStatus.hpp>
|
#include <com/sun/star/xml/crypto/SecurityOperationStatus.hpp>
|
||||||
#include <com/sun/star/xml/crypto/XXMLSignature.hpp>
|
#include <com/sun/star/xml/crypto/XXMLSignature.hpp>
|
||||||
|
|
||||||
@@ -233,6 +235,10 @@ SAL_CALL XMLSignature_MSCryptImpl::validate(
|
@@ -229,6 +231,10 @@ SAL_CALL XMLSignature_MSCryptImpl::validate(
|
||||||
// We do certificate verification ourselves.
|
// We do certificate verification ourselves.
|
||||||
pDsigCtx->keyInfoReadCtx.flags |= XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS;
|
pDsigCtx->keyInfoReadCtx.flags |= XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS;
|
||||||
|
|
||||||
@ -41,19 +41,19 @@ index c699c950f351..9f816479f9dd 100644
|
|||||||
//The documentation says that the signature is only valid if the return value is 0 (that is, not < 0)
|
//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
|
//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
|
diff --git a/xmlsecurity/source/xmlsec/nss/xmlsignature_nssimpl.cxx b/xmlsecurity/source/xmlsec/nss/xmlsignature_nssimpl.cxx
|
||||||
index b41d754f7407..975c17272dc7 100644
|
index 827580b..8f4d6f8 100644
|
||||||
--- a/xmlsecurity/source/xmlsec/nss/xmlsignature_nssimpl.cxx
|
--- a/xmlsecurity/source/xmlsec/nss/xmlsignature_nssimpl.cxx
|
||||||
+++ b/xmlsecurity/source/xmlsec/nss/xmlsignature_nssimpl.cxx
|
+++ b/xmlsecurity/source/xmlsec/nss/xmlsignature_nssimpl.cxx
|
||||||
@@ -20,6 +20,8 @@
|
@@ -19,6 +19,8 @@
|
||||||
|
|
||||||
#include <sal/config.h>
|
#include <sal/config.h>
|
||||||
#include <xmlsec-wrapper.h>
|
|
||||||
|
|
||||||
+#include <xmlsec/nss/x509.h>
|
+#include <xmlsec/nss/x509.h>
|
||||||
+
|
+
|
||||||
#include <xmlelementwrapper_xmlsecimpl.hxx>
|
#include <xmlelementwrapper_xmlsecimpl.hxx>
|
||||||
#include <xmlsec/xmlstreamio.hxx>
|
#include <xmlsec/xmlstreamio.hxx>
|
||||||
#include <xmlsec/errorcallback.hxx>
|
#include <xmlsec/errorcallback.hxx>
|
||||||
@@ -247,6 +249,10 @@ SAL_CALL XMLSignature_NssImpl::validate(
|
@@ -243,6 +245,10 @@ SAL_CALL XMLSignature_NssImpl::validate(
|
||||||
// We do certificate verification ourselves.
|
// We do certificate verification ourselves.
|
||||||
pDsigCtx->keyInfoReadCtx.flags |= XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS;
|
pDsigCtx->keyInfoReadCtx.flags |= XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS;
|
||||||
|
|
||||||
@ -65,5 +65,5 @@ index b41d754f7407..975c17272dc7 100644
|
|||||||
int rs = xmlSecDSigCtxVerify( pDsigCtx.get() , pNode );
|
int rs = xmlSecDSigCtxVerify( pDsigCtx.get() , pNode );
|
||||||
|
|
||||||
--
|
--
|
||||||
2.35.1
|
2.33.1
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
From 77f30ada1156ca1e1357776fea8e9dc113f6898d Mon Sep 17 00:00:00 2001
|
From 77f30ada1156ca1e1357776fea8e9dc113f6898d Mon Sep 17 00:00:00 2001
|
||||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||||
Date: Thu, 3 Mar 2022 14:22:37 +0000
|
Date: Thu, 3 Mar 2022 14:22:37 +0000
|
||||||
Subject: [PATCH 1/5] CVE-2022-26305 compare authors using Thumbprint
|
Subject: [PATCH 1/4] CVE-2022-26305 compare authors using Thumbprint
|
||||||
|
|
||||||
Change-Id: I338f58eb07cbf0a3d13a7dafdaddac09252a8546
|
Change-Id: I338f58eb07cbf0a3d13a7dafdaddac09252a8546
|
||||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130929
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130929
|
||||||
@ -59,5 +59,5 @@ index b9066ea92cac..5a21c8421bec 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
--
|
--
|
||||||
2.37.3
|
2.37.1
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
From 86c29694ddf10b51ecd76b4f1397d798f62cc709 Mon Sep 17 00:00:00 2001
|
From 3831e68bffc233f581e3eb1cb3c7ed925daab86f Mon Sep 17 00:00:00 2001
|
||||||
From: Stephan Bergmann <sbergman@redhat.com>
|
From: Stephan Bergmann <sbergman@redhat.com>
|
||||||
Date: Tue, 30 Aug 2022 14:04:52 +0200
|
Date: Tue, 30 Aug 2022 14:04:52 +0200
|
||||||
Subject: [PATCH 5/5] CVE-2022-3140 Filter out unwanted command URIs
|
Subject: [PATCH] Filter out unwanted command URIs
|
||||||
MIME-Version: 1.0
|
MIME-Version: 1.0
|
||||||
Content-Type: text/plain; charset=UTF-8
|
Content-Type: text/plain; charset=UTF-8
|
||||||
Content-Transfer-Encoding: 8bit
|
Content-Transfer-Encoding: 8bit
|
||||||
@ -64,30 +64,29 @@ Tested-by: Jenkins
|
|||||||
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
||||||
(cherry picked from commit d0312786571221c2dd4f63fa69f6f0489d7d39ec)
|
(cherry picked from commit d0312786571221c2dd4f63fa69f6f0489d7d39ec)
|
||||||
---
|
---
|
||||||
desktop/source/app/cmdlineargs.cxx | 10 +++++++++-
|
desktop/source/app/cmdlineargs.cxx | 10 +++++++++-
|
||||||
sfx2/source/appl/macroloader.cxx | 9 +++++++--
|
sfx2/source/appl/macroloader.cxx | 9 +++++++--
|
||||||
sfx2/source/doc/iframe.cxx | 21 ++++++++++++++++-----
|
sfx2/source/doc/iframe.cxx | 21 ++++++++++++++++-----
|
||||||
sfx2/source/inc/macroloader.hxx | 2 ++
|
sfx2/source/inc/macroloader.hxx | 2 ++
|
||||||
sw/source/filter/html/htmlplug.cxx | 7 ++++++-
|
sw/source/filter/html/htmlplug.cxx | 7 ++++++-
|
||||||
sw/source/filter/xml/xmltexti.cxx | 9 +++++++--
|
sw/source/filter/xml/xmltexti.cxx | 9 +++++++--
|
||||||
wizards/source/access2base/DoCmd.xba | 2 +-
|
wizards/source/access2base/DoCmd.xba | 2 +-
|
||||||
wizards/source/scriptforge/SF_Session.xba | 2 +-
|
xmloff/source/draw/ximpshap.cxx | 4 ++++
|
||||||
xmloff/source/draw/ximpshap.cxx | 4 ++++
|
8 files changed, 52 insertions(+), 12 deletions(-)
|
||||||
9 files changed, 53 insertions(+), 13 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/desktop/source/app/cmdlineargs.cxx b/desktop/source/app/cmdlineargs.cxx
|
diff --git a/desktop/source/app/cmdlineargs.cxx b/desktop/source/app/cmdlineargs.cxx
|
||||||
index 4d5a3bb78396..93d9e8742ba8 100644
|
index 381147c..5babfbe 100644
|
||||||
--- a/desktop/source/app/cmdlineargs.cxx
|
--- a/desktop/source/app/cmdlineargs.cxx
|
||||||
+++ b/desktop/source/app/cmdlineargs.cxx
|
+++ b/desktop/source/app/cmdlineargs.cxx
|
||||||
@@ -28,6 +28,7 @@
|
@@ -27,6 +27,7 @@
|
||||||
|
|
||||||
#include "cmdlineargs.hxx"
|
#include "cmdlineargs.hxx"
|
||||||
#include <osl/thread.hxx>
|
|
||||||
#include <tools/stream.hxx>
|
#include <tools/stream.hxx>
|
||||||
+#include <tools/urlobj.hxx>
|
+#include <tools/urlobj.hxx>
|
||||||
|
#include <vcl/svapp.hxx>
|
||||||
|
#include <rtl/uri.hxx>
|
||||||
#include <rtl/ustring.hxx>
|
#include <rtl/ustring.hxx>
|
||||||
#include <rtl/process.h>
|
@@ -169,7 +170,14 @@ CommandLineEvent CheckOfficeURI(/* in,out */ OUString& arg, CommandLineEvent cur
|
||||||
#include <comphelper/lok.hxx>
|
|
||||||
@@ -166,7 +167,14 @@ CommandLineEvent CheckOfficeURI(/* in,out */ OUString& arg, CommandLineEvent cur
|
|
||||||
}
|
}
|
||||||
if (nURIlen < 0)
|
if (nURIlen < 0)
|
||||||
nURIlen = rest2.getLength();
|
nURIlen = rest2.getLength();
|
||||||
@ -104,11 +103,11 @@ index 4d5a3bb78396..93d9e8742ba8 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/sfx2/source/appl/macroloader.cxx b/sfx2/source/appl/macroloader.cxx
|
diff --git a/sfx2/source/appl/macroloader.cxx b/sfx2/source/appl/macroloader.cxx
|
||||||
index 46090f712665..ad70ef5fa0f6 100644
|
index 98e036e..b50d1e6 100644
|
||||||
--- a/sfx2/source/appl/macroloader.cxx
|
--- a/sfx2/source/appl/macroloader.cxx
|
||||||
+++ b/sfx2/source/appl/macroloader.cxx
|
+++ b/sfx2/source/appl/macroloader.cxx
|
||||||
@@ -68,10 +68,10 @@ css::uno::Sequence<OUString> SAL_CALL SfxMacroLoader::getSupportedServiceNames()
|
@@ -76,10 +76,10 @@ css::uno::Sequence<OUString> SAL_CALL SfxMacroLoader::getSupportedServiceNames()
|
||||||
return { "com.sun.star.frame.ProtocolHandler" };
|
return aSeq;
|
||||||
}
|
}
|
||||||
|
|
||||||
-SfxObjectShell* SfxMacroLoader::GetObjectShell_Impl()
|
-SfxObjectShell* SfxMacroLoader::GetObjectShell_Impl()
|
||||||
@ -120,7 +119,7 @@ index 46090f712665..ad70ef5fa0f6 100644
|
|||||||
if ( xFrame.is() )
|
if ( xFrame.is() )
|
||||||
{
|
{
|
||||||
SfxFrame* pFrame=nullptr;
|
SfxFrame* pFrame=nullptr;
|
||||||
@@ -88,6 +88,11 @@ SfxObjectShell* SfxMacroLoader::GetObjectShell_Impl()
|
@@ -96,6 +96,11 @@ SfxObjectShell* SfxMacroLoader::GetObjectShell_Impl()
|
||||||
return pDocShell;
|
return pDocShell;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -133,15 +132,16 @@ index 46090f712665..ad70ef5fa0f6 100644
|
|||||||
uno::Reference<frame::XDispatch> SAL_CALL SfxMacroLoader::queryDispatch(
|
uno::Reference<frame::XDispatch> SAL_CALL SfxMacroLoader::queryDispatch(
|
||||||
const util::URL& aURL ,
|
const util::URL& aURL ,
|
||||||
diff --git a/sfx2/source/doc/iframe.cxx b/sfx2/source/doc/iframe.cxx
|
diff --git a/sfx2/source/doc/iframe.cxx b/sfx2/source/doc/iframe.cxx
|
||||||
index e37607c91a46..3f9036a79b04 100644
|
index 8b12715..b5291b2 100644
|
||||||
--- a/sfx2/source/doc/iframe.cxx
|
--- a/sfx2/source/doc/iframe.cxx
|
||||||
+++ b/sfx2/source/doc/iframe.cxx
|
+++ b/sfx2/source/doc/iframe.cxx
|
||||||
@@ -38,10 +38,12 @@
|
@@ -39,11 +39,13 @@
|
||||||
#include <officecfg/Office/Common.hxx>
|
#include <svl/ownlist.hxx>
|
||||||
#include <svl/itemprop.hxx>
|
#include <svl/itemprop.hxx>
|
||||||
#include <sfx2/frmdescr.hxx>
|
#include <sfx2/frmdescr.hxx>
|
||||||
+#include <sfx2/objsh.hxx>
|
+#include <sfx2/objsh.hxx>
|
||||||
#include <sfx2/sfxdlg.hxx>
|
#include <sfx2/sfxdlg.hxx>
|
||||||
|
#include <sfx2/sfxsids.hrc>
|
||||||
#include <toolkit/helper/vclunohelper.hxx>
|
#include <toolkit/helper/vclunohelper.hxx>
|
||||||
#include <vcl/window.hxx>
|
#include <vcl/window.hxx>
|
||||||
#include <tools/debug.hxx>
|
#include <tools/debug.hxx>
|
||||||
@ -149,9 +149,9 @@ index e37607c91a46..3f9036a79b04 100644
|
|||||||
|
|
||||||
using namespace ::com::sun::star;
|
using namespace ::com::sun::star;
|
||||||
|
|
||||||
@@ -157,6 +159,19 @@ sal_Bool SAL_CALL IFrameObject::load(
|
@@ -159,6 +161,19 @@ sal_Bool SAL_CALL IFrameObject::load(
|
||||||
{
|
{
|
||||||
if ( officecfg::Office::Common::Misc::PluginsEnabled::get() )
|
if ( SvtMiscOptions().IsPluginsEnabled() )
|
||||||
{
|
{
|
||||||
+ util::URL aTargetURL;
|
+ util::URL aTargetURL;
|
||||||
+ aTargetURL.Complete = maFrmDescr.GetURL().GetMainURL( INetURLObject::DecodeMechanism::NONE );
|
+ aTargetURL.Complete = maFrmDescr.GetURL().GetMainURL( INetURLObject::DecodeMechanism::NONE );
|
||||||
@ -169,7 +169,7 @@ index e37607c91a46..3f9036a79b04 100644
|
|||||||
DBG_ASSERT( !mxFrame.is(), "Frame already existing!" );
|
DBG_ASSERT( !mxFrame.is(), "Frame already existing!" );
|
||||||
VclPtr<vcl::Window> pParent = VCLUnoHelper::GetWindow( xFrame->getContainerWindow() );
|
VclPtr<vcl::Window> pParent = VCLUnoHelper::GetWindow( xFrame->getContainerWindow() );
|
||||||
VclPtr<IFrameWindow_Impl> pWin = VclPtr<IFrameWindow_Impl>::Create( pParent, maFrmDescr.IsFrameBorderOn() );
|
VclPtr<IFrameWindow_Impl> pWin = VclPtr<IFrameWindow_Impl>::Create( pParent, maFrmDescr.IsFrameBorderOn() );
|
||||||
@@ -179,16 +194,12 @@ sal_Bool SAL_CALL IFrameObject::load(
|
@@ -181,16 +196,12 @@ sal_Bool SAL_CALL IFrameObject::load(
|
||||||
if ( xFramesSupplier.is() )
|
if ( xFramesSupplier.is() )
|
||||||
mxFrame->setCreator( xFramesSupplier );
|
mxFrame->setCreator( xFramesSupplier );
|
||||||
|
|
||||||
@ -188,10 +188,10 @@ index e37607c91a46..3f9036a79b04 100644
|
|||||||
if ( xDisp.is() )
|
if ( xDisp.is() )
|
||||||
xDisp->dispatch( aTargetURL, aProps );
|
xDisp->dispatch( aTargetURL, aProps );
|
||||||
diff --git a/sfx2/source/inc/macroloader.hxx b/sfx2/source/inc/macroloader.hxx
|
diff --git a/sfx2/source/inc/macroloader.hxx b/sfx2/source/inc/macroloader.hxx
|
||||||
index 051486c09adf..62a6555ff877 100644
|
index 9e1dfba..b3e7a5e 100644
|
||||||
--- a/sfx2/source/inc/macroloader.hxx
|
--- a/sfx2/source/inc/macroloader.hxx
|
||||||
+++ b/sfx2/source/inc/macroloader.hxx
|
+++ b/sfx2/source/inc/macroloader.hxx
|
||||||
@@ -79,6 +79,8 @@ public:
|
@@ -82,6 +82,8 @@ public:
|
||||||
virtual void SAL_CALL addStatusListener( const css::uno::Reference< css::frame::XStatusListener >& xControl, const css::util::URL& aURL ) override;
|
virtual void SAL_CALL addStatusListener( const css::uno::Reference< css::frame::XStatusListener >& xControl, const css::util::URL& aURL ) override;
|
||||||
|
|
||||||
virtual void SAL_CALL removeStatusListener( const css::uno::Reference< css::frame::XStatusListener >& xControl, const css::util::URL& aURL ) override;
|
virtual void SAL_CALL removeStatusListener( const css::uno::Reference< css::frame::XStatusListener >& xControl, const css::util::URL& aURL ) override;
|
||||||
@ -201,10 +201,10 @@ index 051486c09adf..62a6555ff877 100644
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
diff --git a/sw/source/filter/html/htmlplug.cxx b/sw/source/filter/html/htmlplug.cxx
|
diff --git a/sw/source/filter/html/htmlplug.cxx b/sw/source/filter/html/htmlplug.cxx
|
||||||
index 65e0419f4ed9..90036cfac67a 100644
|
index a0da671..eb70704 100644
|
||||||
--- a/sw/source/filter/html/htmlplug.cxx
|
--- a/sw/source/filter/html/htmlplug.cxx
|
||||||
+++ b/sw/source/filter/html/htmlplug.cxx
|
+++ b/sw/source/filter/html/htmlplug.cxx
|
||||||
@@ -1090,7 +1090,12 @@ void SwHTMLParser::InsertFloatingFrame()
|
@@ -1087,7 +1087,12 @@ void SwHTMLParser::InsertFloatingFrame()
|
||||||
bool bHasBorder = aFrameDesc.HasFrameBorder();
|
bool bHasBorder = aFrameDesc.HasFrameBorder();
|
||||||
Size aMargin = aFrameDesc.GetMargin();
|
Size aMargin = aFrameDesc.GetMargin();
|
||||||
|
|
||||||
@ -219,10 +219,10 @@ index 65e0419f4ed9..90036cfac67a 100644
|
|||||||
|
|
||||||
if ( eScroll == ScrollingMode::Auto )
|
if ( eScroll == ScrollingMode::Auto )
|
||||||
diff --git a/sw/source/filter/xml/xmltexti.cxx b/sw/source/filter/xml/xmltexti.cxx
|
diff --git a/sw/source/filter/xml/xmltexti.cxx b/sw/source/filter/xml/xmltexti.cxx
|
||||||
index cf0c7e6a85ba..eaf45dd91cd4 100644
|
index 788bec5..72a14b9 100644
|
||||||
--- a/sw/source/filter/xml/xmltexti.cxx
|
--- a/sw/source/filter/xml/xmltexti.cxx
|
||||||
+++ b/sw/source/filter/xml/xmltexti.cxx
|
+++ b/sw/source/filter/xml/xmltexti.cxx
|
||||||
@@ -857,9 +857,14 @@ uno::Reference< XPropertySet > SwXMLTextImportHelper::createAndInsertFloatingFra
|
@@ -853,9 +853,14 @@ uno::Reference< XPropertySet > SwXMLTextImportHelper::createAndInsertFloatingFra
|
||||||
uno::Reference < beans::XPropertySet > xSet( xObj->getComponent(), uno::UNO_QUERY );
|
uno::Reference < beans::XPropertySet > xSet( xObj->getComponent(), uno::UNO_QUERY );
|
||||||
if ( xSet.is() )
|
if ( xSet.is() )
|
||||||
{
|
{
|
||||||
@ -240,7 +240,7 @@ index cf0c7e6a85ba..eaf45dd91cd4 100644
|
|||||||
xSet->setPropertyValue("FrameName",
|
xSet->setPropertyValue("FrameName",
|
||||||
makeAny( rName ) );
|
makeAny( rName ) );
|
||||||
diff --git a/wizards/source/access2base/DoCmd.xba b/wizards/source/access2base/DoCmd.xba
|
diff --git a/wizards/source/access2base/DoCmd.xba b/wizards/source/access2base/DoCmd.xba
|
||||||
index 089486a872fa..20051553c47f 100644
|
index 27b0d74..26755a8 100644
|
||||||
--- a/wizards/source/access2base/DoCmd.xba
|
--- a/wizards/source/access2base/DoCmd.xba
|
||||||
+++ b/wizards/source/access2base/DoCmd.xba
|
+++ b/wizards/source/access2base/DoCmd.xba
|
||||||
@@ -2655,7 +2655,7 @@ Private Sub _ShellExecute(sCommand As String)
|
@@ -2655,7 +2655,7 @@ Private Sub _ShellExecute(sCommand As String)
|
||||||
@ -252,21 +252,8 @@ index 089486a872fa..20051553c47f 100644
|
|||||||
|
|
||||||
End Sub ' _ShellExecute V0.8.5
|
End Sub ' _ShellExecute V0.8.5
|
||||||
|
|
||||||
diff --git a/wizards/source/scriptforge/SF_Session.xba b/wizards/source/scriptforge/SF_Session.xba
|
|
||||||
index a41bffa51377..7c709897947a 100644
|
|
||||||
--- a/wizards/source/scriptforge/SF_Session.xba
|
|
||||||
+++ b/wizards/source/scriptforge/SF_Session.xba
|
|
||||||
@@ -513,7 +513,7 @@ Check:
|
|
||||||
Try:
|
|
||||||
Set oShell = SF_Utils._GetUNOService("SystemShellExecute")
|
|
||||||
sCommand = SF_FileSystem._ConvertToUrl(Command)
|
|
||||||
- oShell.execute(sCommand, Parameters, com.sun.star.system.SystemShellExecuteFlags.DEFAULTS)
|
|
||||||
+ oShell.execute(sCommand, Parameters, com.sun.star.system.SystemShellExecuteFlags.URIS_ONLY)
|
|
||||||
bReturn = True
|
|
||||||
|
|
||||||
Finally:
|
|
||||||
diff --git a/xmloff/source/draw/ximpshap.cxx b/xmloff/source/draw/ximpshap.cxx
|
diff --git a/xmloff/source/draw/ximpshap.cxx b/xmloff/source/draw/ximpshap.cxx
|
||||||
index 65a7e2fb0eef..4afa4e039776 100644
|
index 2e509f8..ae35f1e 100644
|
||||||
--- a/xmloff/source/draw/ximpshap.cxx
|
--- a/xmloff/source/draw/ximpshap.cxx
|
||||||
+++ b/xmloff/source/draw/ximpshap.cxx
|
+++ b/xmloff/source/draw/ximpshap.cxx
|
||||||
@@ -87,6 +87,7 @@
|
@@ -87,6 +87,7 @@
|
||||||
@ -274,19 +261,19 @@ index 65a7e2fb0eef..4afa4e039776 100644
|
|||||||
#include <basegfx/polygon/b2dpolypolygontools.hxx>
|
#include <basegfx/polygon/b2dpolypolygontools.hxx>
|
||||||
#include <basegfx/vector/b2dvector.hxx>
|
#include <basegfx/vector/b2dvector.hxx>
|
||||||
+#include <tools/urlobj.hxx>
|
+#include <tools/urlobj.hxx>
|
||||||
#include <o3tl/any.hxx>
|
|
||||||
#include <o3tl/safeint.hxx>
|
#include <o3tl/safeint.hxx>
|
||||||
|
|
||||||
@@ -3231,6 +3232,9 @@ void SdXMLFloatingFrameShapeContext::StartElement( const css::uno::Reference< cs
|
using namespace ::com::sun::star;
|
||||||
|
@@ -3243,6 +3244,9 @@ void SdXMLFloatingFrameShapeContext::StartElement( const css::uno::Reference< cs
|
||||||
|
|
||||||
if( !maHref.isEmpty() )
|
if( !maHref.isEmpty() )
|
||||||
{
|
{
|
||||||
+ if (INetURLObject(maHref).GetProtocol() == INetProtocol::Macro)
|
+ if (INetURLObject(maHref).GetProtocol() == INetProtocol::Macro)
|
||||||
+ GetImport().NotifyMacroEventRead();
|
+ GetImport().NotifyMacroEventRead();
|
||||||
+
|
+
|
||||||
xProps->setPropertyValue("FrameURL", Any(maHref) );
|
xProps->setPropertyValue("FrameURL", Any(maHref) );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
--
|
--
|
||||||
2.37.3
|
2.37.3
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
From dbf825c25195e29a00228f31112c5aaa2102f692 Mon Sep 17 00:00:00 2001
|
From 36c5c16b7846ff31f403913ad5cdddf8b22fda43 Mon Sep 17 00:00:00 2001
|
||||||
From: Stephan Bergmann <sbergman@redhat.com>
|
From: Stephan Bergmann <sbergman@redhat.com>
|
||||||
Date: Mon, 21 Feb 2022 11:55:21 +0100
|
Date: Mon, 21 Feb 2022 11:55:21 +0100
|
||||||
Subject: [PATCH] Avoid unnecessary empty -Djava.class.path=
|
Subject: [PATCH] Avoid unnecessary empty -Djava.class.path=
|
||||||
@ -14,10 +14,10 @@ Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|||||||
3 files changed, 22 insertions(+), 5 deletions(-)
|
3 files changed, 22 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
diff --git a/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx b/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx
|
diff --git a/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx b/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx
|
||||||
index f47b0a3..843f6d1 100644
|
index 4760ab6..ea133ea 100644
|
||||||
--- a/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx
|
--- a/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx
|
||||||
+++ b/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx
|
+++ b/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx
|
||||||
@@ -713,17 +713,22 @@ javaPluginError jfw_plugin_startJavaVirtualMachine(
|
@@ -687,17 +687,22 @@ javaPluginError jfw_plugin_startJavaVirtualMachine(
|
||||||
// all versions below 1.5.1
|
// all versions below 1.5.1
|
||||||
options.emplace_back("abort", reinterpret_cast<void*>(abort_handler));
|
options.emplace_back("abort", reinterpret_cast<void*>(abort_handler));
|
||||||
bool hasStackSize = false;
|
bool hasStackSize = false;
|
||||||
@ -43,7 +43,7 @@ index f47b0a3..843f6d1 100644
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
if (opt == "-Xint") {
|
if (opt == "-Xint") {
|
||||||
@@ -768,6 +773,11 @@ javaPluginError jfw_plugin_startJavaVirtualMachine(
|
@@ -742,6 +747,11 @@ javaPluginError jfw_plugin_startJavaVirtualMachine(
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -56,10 +56,10 @@ index f47b0a3..843f6d1 100644
|
|||||||
std::unique_ptr<JavaVMOption[]> sarOptions(new JavaVMOption[options.size()]);
|
std::unique_ptr<JavaVMOption[]> sarOptions(new JavaVMOption[options.size()]);
|
||||||
for (std::vector<Option>::size_type i = 0; i != options.size(); ++i) {
|
for (std::vector<Option>::size_type i = 0; i != options.size(); ++i) {
|
||||||
diff --git a/jvmfwk/source/framework.cxx b/jvmfwk/source/framework.cxx
|
diff --git a/jvmfwk/source/framework.cxx b/jvmfwk/source/framework.cxx
|
||||||
index 5a7cef4..478b42b 100644
|
index 3212030..f532ebd 100644
|
||||||
--- a/jvmfwk/source/framework.cxx
|
--- a/jvmfwk/source/framework.cxx
|
||||||
+++ b/jvmfwk/source/framework.cxx
|
+++ b/jvmfwk/source/framework.cxx
|
||||||
@@ -189,8 +189,12 @@ javaFrameworkError jfw_startVM(
|
@@ -210,8 +210,12 @@ javaFrameworkError jfw_startVM(
|
||||||
//In direct mode the options are specified by bootstrap variables
|
//In direct mode the options are specified by bootstrap variables
|
||||||
//of the form UNO_JAVA_JFW_PARAMETER_1 .. UNO_JAVA_JFW_PARAMETER_n
|
//of the form UNO_JAVA_JFW_PARAMETER_1 .. UNO_JAVA_JFW_PARAMETER_n
|
||||||
vmParams = jfw::BootParams::getVMParameters();
|
vmParams = jfw::BootParams::getVMParameters();
|
||||||
@ -75,10 +75,10 @@ index 5a7cef4..478b42b 100644
|
|||||||
else
|
else
|
||||||
OSL_ASSERT(false);
|
OSL_ASSERT(false);
|
||||||
diff --git a/jvmfwk/source/fwkbase.cxx b/jvmfwk/source/fwkbase.cxx
|
diff --git a/jvmfwk/source/fwkbase.cxx b/jvmfwk/source/fwkbase.cxx
|
||||||
index df84d7c..de1acdb 100644
|
index ece4dd2..93c32a7 100644
|
||||||
--- a/jvmfwk/source/fwkbase.cxx
|
--- a/jvmfwk/source/fwkbase.cxx
|
||||||
+++ b/jvmfwk/source/fwkbase.cxx
|
+++ b/jvmfwk/source/fwkbase.cxx
|
||||||
@@ -458,6 +458,9 @@ OString makeClassPathOption(OUString const & sUserClassPath)
|
@@ -460,6 +460,9 @@ OString makeClassPathOption(OUString const & sUserClassPath)
|
||||||
|
|
||||||
sPaths = OUStringToOString(
|
sPaths = OUStringToOString(
|
||||||
sBufCP.makeStringAndClear(), osl_getThreadTextEncoding());
|
sBufCP.makeStringAndClear(), osl_getThreadTextEncoding());
|
||||||
|
29
SOURCES/0001-CVE-2024-3044-add-notify-for-script-use.patch
Normal file
29
SOURCES/0001-CVE-2024-3044-add-notify-for-script-use.patch
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
From 3c25a1e4885a91b1a2fbfd873633f055caa50745 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Caolán McNamara <caolan.mcnamara@collabora.com>
|
||||||
|
Date: Wed, 27 Mar 2024 17:07:20 +0000
|
||||||
|
Subject: [PATCH] add notify for script use
|
||||||
|
|
||||||
|
Change-Id: I84af197cec7755f6803a578e1e21c03966ad5f3e
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165410
|
||||||
|
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
|
||||||
|
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
||||||
|
(cherry picked from commit a4a5c6b63599bca1f084bb90875f6fd8e15184ac)
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167421
|
||||||
|
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
||||||
|
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
||||||
|
---
|
||||||
|
|
||||||
|
diff --git a/xmloff/source/draw/eventimp.cxx b/xmloff/source/draw/eventimp.cxx
|
||||||
|
index f9e10c1..fcc36f9 100644
|
||||||
|
--- a/xmloff/source/draw/eventimp.cxx
|
||||||
|
+++ b/xmloff/source/draw/eventimp.cxx
|
||||||
|
@@ -231,6 +231,9 @@
|
||||||
|
|
||||||
|
if( maData.mbValid )
|
||||||
|
maData.mbValid = !sEventName.isEmpty();
|
||||||
|
+
|
||||||
|
+ if (!maData.msMacroName.isEmpty())
|
||||||
|
+ rImp.NotifyMacroEventRead();
|
||||||
|
}
|
||||||
|
|
||||||
|
SvXMLImportContextRef SdXMLEventContext::CreateChildContext( sal_uInt16 nPrefix, const OUString& rLocalName, const Reference< XAttributeList>& xAttrList )
|
@ -0,0 +1,81 @@
|
|||||||
|
From 4e997c62fd6edf6c3fe9e553cc92c77fd48f039c Mon Sep 17 00:00:00 2001
|
||||||
|
Message-ID: <4e997c62fd6edf6c3fe9e553cc92c77fd48f039c.1723718921.git.erack@redhat.com>
|
||||||
|
From: Sarper Akdemir <sarper.akdemir@allotropia.de>
|
||||||
|
Date: Tue, 11 Jun 2024 12:39:36 +0200
|
||||||
|
Subject: [PATCH] remove ability to trust not validated macro signatures in
|
||||||
|
high security
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: multipart/mixed; boundary="------------erAck-patch-parts"
|
||||||
|
|
||||||
|
This is a multi-part message in MIME format.
|
||||||
|
--------------erAck-patch-parts
|
||||||
|
Content-Type: text/plain; charset=UTF-8; format=fixed
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
|
||||||
|
Giving the user the option to determine if they should trust an
|
||||||
|
invalid signature in HIGH macro security doesn't make sense.
|
||||||
|
CommonName of the signature is the most prominent feature presented
|
||||||
|
and the CommonName of a certificate can be easily forged for an
|
||||||
|
invalid signature, tricking the user into accepting an invalid
|
||||||
|
signature.
|
||||||
|
|
||||||
|
in the HIGH macro security setting only show the pop-up to
|
||||||
|
enable/disable signed macro if the certificate signature can be
|
||||||
|
validated.
|
||||||
|
|
||||||
|
cherry-picked without UI/String altering bits for 24-2
|
||||||
|
|
||||||
|
Change-Id: Ia766fb701660160ee5dc9f6e077f4012a44ce721
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168667
|
||||||
|
Tested-by: Jenkins
|
||||||
|
Reviewed-by: Sarper Akdemir <sarper.akdemir@allotropia.de>
|
||||||
|
(cherry picked from commit 2beaa3be3829303e948d401f492dbfd239d60aad)
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169525
|
||||||
|
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171306
|
||||||
|
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
||||||
|
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171314
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171315
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171317
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171323
|
||||||
|
---
|
||||||
|
sfx2/source/doc/docmacromode.cxx | 8 ++++++--
|
||||||
|
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
|
||||||
|
--------------erAck-patch-parts
|
||||||
|
Content-Type: text/x-patch; name="0001-remove-ability-to-trust-not-validated-macro-signatur.patch"
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
Content-Disposition: attachment; filename="0001-remove-ability-to-trust-not-validated-macro-signatur.patch"
|
||||||
|
|
||||||
|
diff --git a/sfx2/source/doc/docmacromode.cxx b/sfx2/source/doc/docmacromode.cxx
|
||||||
|
index 8a617b1785c6..997a8f739395 100644
|
||||||
|
--- a/sfx2/source/doc/docmacromode.cxx
|
||||||
|
+++ b/sfx2/source/doc/docmacromode.cxx
|
||||||
|
@@ -229,14 +229,18 @@ namespace sfx2
|
||||||
|
// check whether the document is signed with trusted certificate
|
||||||
|
if ( nMacroExecutionMode != MacroExecMode::FROM_LIST )
|
||||||
|
{
|
||||||
|
+ SignatureState nSignatureState = m_xData->m_rDocumentAccess.getScriptingSignatureState();
|
||||||
|
+
|
||||||
|
// the trusted macro check will also retrieve the signature state ( small optimization )
|
||||||
|
const SvtSecurityOptions aSecOption;
|
||||||
|
const bool bAllowUIToAddAuthor = nMacroExecutionMode != MacroExecMode::FROM_LIST_AND_SIGNED_NO_WARN
|
||||||
|
&& (nMacroExecutionMode == MacroExecMode::ALWAYS_EXECUTE
|
||||||
|
- || !aSecOption.IsReadOnly(SvtSecurityOptions::EOption::MacroTrustedAuthors));
|
||||||
|
+ || !aSecOption.IsReadOnly(SvtSecurityOptions::EOption::MacroTrustedAuthors))
|
||||||
|
+ && (nMacroExecutionMode != MacroExecMode::FROM_LIST_AND_SIGNED_WARN
|
||||||
|
+ || nSignatureState == SignatureState::OK);
|
||||||
|
+
|
||||||
|
const bool bHasTrustedMacroSignature = m_xData->m_rDocumentAccess.hasTrustedScriptingSignature(bAllowUIToAddAuthor);
|
||||||
|
|
||||||
|
- SignatureState nSignatureState = m_xData->m_rDocumentAccess.getScriptingSignatureState();
|
||||||
|
if ( nSignatureState == SignatureState::BROKEN )
|
||||||
|
{
|
||||||
|
if (!bAllowUIToAddAuthor)
|
||||||
|
|
||||||
|
--------------erAck-patch-parts--
|
||||||
|
|
||||||
|
|
@ -0,0 +1,50 @@
|
|||||||
|
From 78fd31b17931e1217d3b11fcbd13a41d79d99055 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stephan Bergmann <sbergman@redhat.com>
|
||||||
|
Date: Wed, 23 Sep 2020 11:41:05 +0200
|
||||||
|
Subject: [PATCH] Convert attribute value to UTF-8 when passing it to libxml2
|
||||||
|
|
||||||
|
Using toUtf8, requiring the OUString to actually contain well-formed data, but
|
||||||
|
which is likely OK for this test-code--only function, and is also what similar
|
||||||
|
dumpAsXml functions e.g. in editeng/source/items/textitem.cxx already use.
|
||||||
|
|
||||||
|
This appears to have been broken ever since the code's introduction in
|
||||||
|
553f10c71a2cc92f5f5890e24948f5277e3d2758 "add dumpAsXml() to more pool items",
|
||||||
|
and it would typically only have written the leading zero or one
|
||||||
|
(depending on the architecture's endianness) characters. (I ran across it on
|
||||||
|
big-endian s390x, where CppunitTest_sd_tiledrendering
|
||||||
|
SdTiledRenderingTest::testTdf104405 failed because of
|
||||||
|
|
||||||
|
> Entity: line 2: parser error : Input is not proper UTF-8, indicate encoding !
|
||||||
|
> Bytes: 0xCF 0x22 0x2F 0x3E
|
||||||
|
> ation=""/><SfxPoolItem whichId="4017" typeName="13SvxBulletItem" presentation="%
|
||||||
|
> ^
|
||||||
|
|
||||||
|
apparently reported from within libxml2.)
|
||||||
|
|
||||||
|
Change-Id: I4b116d3be84098bd8b8a13b6937da70a1ee02c7f
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103236
|
||||||
|
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
||||||
|
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
||||||
|
Tested-by: Jenkins
|
||||||
|
(cherry picked from commit fd9422febc384208558487bfe4a69ec89ab0ddca)
|
||||||
|
---
|
||||||
|
svl/source/items/poolitem.cxx | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/svl/source/items/poolitem.cxx b/svl/source/items/poolitem.cxx
|
||||||
|
index ec37b68d3417..ad07a0b60b4b 100644
|
||||||
|
--- a/svl/source/items/poolitem.cxx
|
||||||
|
+++ b/svl/source/items/poolitem.cxx
|
||||||
|
@@ -548,7 +548,8 @@ void SfxPoolItem::dumpAsXml(xmlTextWriterPtr pWriter) const
|
||||||
|
OUString rText;
|
||||||
|
IntlWrapper aIntlWrapper(SvtSysLocale().GetUILanguageTag());
|
||||||
|
if (GetPresentation( SfxItemPresentation::Complete, MapUnit::Map100thMM, MapUnit::Map100thMM, rText, aIntlWrapper))
|
||||||
|
- xmlTextWriterWriteAttribute(pWriter, BAD_CAST("presentation"), BAD_CAST(rText.getStr()));
|
||||||
|
+ xmlTextWriterWriteAttribute(
|
||||||
|
+ pWriter, BAD_CAST("presentation"), BAD_CAST(rText.toUtf8().getStr()));
|
||||||
|
xmlTextWriterEndElement(pWriter);
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.33.1
|
||||||
|
|
@ -0,0 +1,65 @@
|
|||||||
|
From 41594786266265c1b7d5116ab85b38af0cd1fd59 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stephan Bergmann <sbergman@redhat.com>
|
||||||
|
Date: Wed, 23 Sep 2020 12:01:35 +0200
|
||||||
|
Subject: [PATCH] Correctly read PNG into bitmaps N32BitTcA... formats (where
|
||||||
|
alpha comes first)
|
||||||
|
|
||||||
|
This appears to be a regression introduced with
|
||||||
|
86ea64f216819696cd86d1926aff0a138ace2baf "Support for native 32bit Bitmap in VCL
|
||||||
|
and SVP (cairo) backend". It caused CppunitTest_vcl_png_test to fail on
|
||||||
|
(big-endian) Linux s390x with
|
||||||
|
|
||||||
|
> vcl/qa/cppunit/png/PngFilterTest.cxx:176:PngFilterTest::testPng
|
||||||
|
> equality assertion failed
|
||||||
|
> - Expected: c[ff000040]
|
||||||
|
> - Actual : c[0000ff40]
|
||||||
|
|
||||||
|
where eFormat happens to be ScanlineFormat::N32BitTcArgb, vs.
|
||||||
|
ScanlineFormat::N32BitTcBgra on e.g. Linux x86-64 (and which thus didn't notice
|
||||||
|
the lack of support for N32BitTcA... formats where alpha goes first instead of
|
||||||
|
last).
|
||||||
|
|
||||||
|
Change-Id: Id6030468718f6ef831b42f2b5ad7ba2c4c46a805
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103240
|
||||||
|
Tested-by: Jenkins
|
||||||
|
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
||||||
|
(cherry picked from commit 0387077e6647d7a30fd36d4ec41dfc559afe45c3)
|
||||||
|
---
|
||||||
|
vcl/source/filter/png/PngImageReader.cxx | 11 ++++++++++-
|
||||||
|
1 file changed, 10 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/vcl/source/filter/png/PngImageReader.cxx b/vcl/source/filter/png/PngImageReader.cxx
|
||||||
|
index 958cae34eb46..6e9f3825face 100644
|
||||||
|
--- a/vcl/source/filter/png/PngImageReader.cxx
|
||||||
|
+++ b/vcl/source/filter/png/PngImageReader.cxx
|
||||||
|
@@ -188,6 +188,8 @@ bool reader(SvStream& rStream, BitmapEx& rBitmapEx, bool bUseBitmap32)
|
||||||
|
for (auto& rRow : aRows)
|
||||||
|
rRow.resize(aRowSizeBytes, 0);
|
||||||
|
|
||||||
|
+ auto const alphaFirst = (eFormat == ScanlineFormat::N32BitTcAbgr
|
||||||
|
+ || eFormat == ScanlineFormat::N32BitTcArgb);
|
||||||
|
for (int pass = 0; pass < nNumberOfPasses; pass++)
|
||||||
|
{
|
||||||
|
for (png_uint_32 y = 0; y < height; y++)
|
||||||
|
@@ -199,10 +201,17 @@ bool reader(SvStream& rStream, BitmapEx& rBitmapEx, bool bUseBitmap32)
|
||||||
|
for (size_t i = 0; i < aRowSizeBytes; i += 4)
|
||||||
|
{
|
||||||
|
sal_Int8 alpha = pRow[i + 3];
|
||||||
|
+ if (alphaFirst)
|
||||||
|
+ {
|
||||||
|
+ pScanline[iColor++] = alpha;
|
||||||
|
+ }
|
||||||
|
pScanline[iColor++] = vcl::bitmap::premultiply(pRow[i + 0], alpha);
|
||||||
|
pScanline[iColor++] = vcl::bitmap::premultiply(pRow[i + 1], alpha);
|
||||||
|
pScanline[iColor++] = vcl::bitmap::premultiply(pRow[i + 2], alpha);
|
||||||
|
- pScanline[iColor++] = alpha;
|
||||||
|
+ if (!alphaFirst)
|
||||||
|
+ {
|
||||||
|
+ pScanline[iColor++] = alpha;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.33.1
|
||||||
|
|
@ -1,364 +0,0 @@
|
|||||||
From fee5967ab6ce7226f9baed984d7b1c49173a0c59 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Stephan Bergmann <sbergman@redhat.com>
|
|
||||||
Date: Thu, 24 Feb 2022 14:31:23 +0100
|
|
||||||
Subject: [PATCH] Don't use Library_tl in URE libraries
|
|
||||||
|
|
||||||
This partly reverts 8b5e23eac31cafbd442a3acab5fbcf98bfd0af11 "log nice exception
|
|
||||||
messages whereever possible", e1eb7cb04a4c30cec238ab0f54d41a6cdc3299c1
|
|
||||||
"loplugin:logexceptionnicely in starmath..svgio",
|
|
||||||
d6d80c4e1783b4459bd4a8fbcbdfeebe416c1cb5 "OSL_FAIL.*exception ->
|
|
||||||
TOOLS_WARN_EXCEPTION", and 877f40ac3f2add2b6dc37bae280d4d98dd102286 "tdf#42949
|
|
||||||
Fix new IWYU warnings in directories [h-r]*", and adapts
|
|
||||||
loplugin:logexceptionnicely accordingly.
|
|
||||||
|
|
||||||
Change-Id: I792b853b988c7c5f77179ca0672c30cb4223b5a6
|
|
||||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130502
|
|
||||||
Tested-by: Jenkins
|
|
||||||
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
||||||
|
|
||||||
Cherry-picked from 9c431f4d3afed0aad21b5ba67a5a55328c4d0685
|
|
||||||
Conflicts:
|
|
||||||
stoc/source/javavm/javavm.cxx
|
|
||||||
---
|
|
||||||
compilerplugins/clang/logexceptionnicely.cxx | 6 +++++
|
|
||||||
io/Library_io.mk | 1 -
|
|
||||||
io/source/stm/opump.cxx | 24 ++++++++++---------
|
|
||||||
javaunohelper/Library_juhx.mk | 1 -
|
|
||||||
javaunohelper/source/bootstrap.cxx | 7 ++----
|
|
||||||
stoc/Library_bootstrap.mk | 1 -
|
|
||||||
stoc/Library_javaloader.mk | 1 -
|
|
||||||
stoc/Library_javavm.mk | 1 -
|
|
||||||
stoc/source/javaloader/javaloader.cxx | 7 +++---
|
|
||||||
stoc/source/javavm/javavm.cxx | 17 +++++++------
|
|
||||||
stoc/source/servicemanager/servicemanager.cxx | 13 +++++-----
|
|
||||||
11 files changed, 39 insertions(+), 40 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/compilerplugins/clang/logexceptionnicely.cxx b/compilerplugins/clang/logexceptionnicely.cxx
|
|
||||||
index a262d276b88c..fb5b1f86ed59 100644
|
|
||||||
--- a/compilerplugins/clang/logexceptionnicely.cxx
|
|
||||||
+++ b/compilerplugins/clang/logexceptionnicely.cxx
|
|
||||||
@@ -46,6 +46,12 @@ public:
|
|
||||||
return false;
|
|
||||||
if (loplugin::hasPathnamePrefix(fn, SRCDIR "/comphelper/"))
|
|
||||||
return false;
|
|
||||||
+ if (loplugin::hasPathnamePrefix(fn, SRCDIR "/io/"))
|
|
||||||
+ return false;
|
|
||||||
+ if (loplugin::hasPathnamePrefix(fn, SRCDIR "/javaunohelper/"))
|
|
||||||
+ return false;
|
|
||||||
+ if (loplugin::hasPathnamePrefix(fn, SRCDIR "/stoc/"))
|
|
||||||
+ return false;
|
|
||||||
// can't do that here, don't have an Any
|
|
||||||
if (loplugin::hasPathnamePrefix(fn, SRCDIR
|
|
||||||
"/connectivity/source/drivers/hsqldb/HStorageMap.cxx"))
|
|
||||||
diff --git a/io/Library_io.mk b/io/Library_io.mk
|
|
||||||
index b961b437cd46..fc61f3366e1b 100644
|
|
||||||
--- a/io/Library_io.mk
|
|
||||||
+++ b/io/Library_io.mk
|
|
||||||
@@ -17,7 +17,6 @@ $(eval $(call gb_Library_use_libraries,io,\
|
|
||||||
cppu \
|
|
||||||
cppuhelper \
|
|
||||||
sal \
|
|
||||||
- tl \
|
|
||||||
))
|
|
||||||
|
|
||||||
$(eval $(call gb_Library_set_componentfile,io,io/source/io))
|
|
||||||
diff --git a/io/source/stm/opump.cxx b/io/source/stm/opump.cxx
|
|
||||||
index 7ba8752d8dfb..d120dd37f8ed 100644
|
|
||||||
--- a/io/source/stm/opump.cxx
|
|
||||||
+++ b/io/source/stm/opump.cxx
|
|
||||||
@@ -18,6 +18,8 @@
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
+#include <sal/log.hxx>
|
|
||||||
+
|
|
||||||
#include <com/sun/star/io/IOException.hpp>
|
|
||||||
#include <com/sun/star/io/NotConnectedException.hpp>
|
|
||||||
#include <com/sun/star/io/XActiveDataSource.hpp>
|
|
||||||
@@ -32,7 +34,7 @@
|
|
||||||
#include <cppuhelper/supportsservice.hxx>
|
|
||||||
#include <osl/mutex.hxx>
|
|
||||||
#include <osl/thread.h>
|
|
||||||
-#include <tools/diagnose_ex.h>
|
|
||||||
+
|
|
||||||
|
|
||||||
using namespace osl;
|
|
||||||
using namespace std;
|
|
||||||
@@ -124,9 +126,9 @@ void Pump::fireError( const Any & exception )
|
|
||||||
{
|
|
||||||
static_cast< XStreamListener * > ( iter.next() )->error( exception );
|
|
||||||
}
|
|
||||||
- catch ( const RuntimeException & )
|
|
||||||
+ catch ( const RuntimeException &e )
|
|
||||||
{
|
|
||||||
- TOOLS_WARN_EXCEPTION("io.streams","com.sun.star.comp.stoc.Pump: unexpected exception during calling listeners");
|
|
||||||
+ SAL_WARN("io.streams","com.sun.star.comp.stoc.Pump: unexpected exception during calling listeners" << e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -153,9 +155,9 @@ void Pump::fireClose()
|
|
||||||
{
|
|
||||||
static_cast< XStreamListener * > ( iter.next() )->closed( );
|
|
||||||
}
|
|
||||||
- catch ( const RuntimeException & )
|
|
||||||
+ catch ( const RuntimeException &e )
|
|
||||||
{
|
|
||||||
- TOOLS_WARN_EXCEPTION("io.streams","com.sun.star.comp.stoc.Pump: unexpected exception during calling listeners");
|
|
||||||
+ SAL_WARN("io.streams","com.sun.star.comp.stoc.Pump: unexpected exception during calling listeners" << e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -169,9 +171,9 @@ void Pump::fireStarted()
|
|
||||||
{
|
|
||||||
static_cast< XStreamListener * > ( iter.next() )->started( );
|
|
||||||
}
|
|
||||||
- catch ( const RuntimeException & )
|
|
||||||
+ catch ( const RuntimeException &e )
|
|
||||||
{
|
|
||||||
- TOOLS_WARN_EXCEPTION("io.streams","com.sun.star.comp.stoc.Pump: unexpected exception during calling listeners");
|
|
||||||
+ SAL_WARN("io.streams","com.sun.star.comp.stoc.Pump: unexpected exception during calling listeners" << e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -185,9 +187,9 @@ void Pump::fireTerminated()
|
|
||||||
{
|
|
||||||
static_cast< XStreamListener * > ( iter.next() )->terminated();
|
|
||||||
}
|
|
||||||
- catch ( const RuntimeException & )
|
|
||||||
+ catch ( const RuntimeException &e )
|
|
||||||
{
|
|
||||||
- TOOLS_WARN_EXCEPTION("io.streams","com.sun.star.comp.stoc.Pump: unexpected exception during calling listeners");
|
|
||||||
+ SAL_WARN("io.streams","com.sun.star.comp.stoc.Pump: unexpected exception during calling listeners" << e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -285,11 +287,11 @@ void Pump::run()
|
|
||||||
close();
|
|
||||||
fireClose();
|
|
||||||
}
|
|
||||||
- catch ( const css::uno::Exception & )
|
|
||||||
+ catch ( const css::uno::Exception &e )
|
|
||||||
{
|
|
||||||
// we are the last on the stack.
|
|
||||||
// this is to avoid crashing the program, when e.g. a bridge crashes
|
|
||||||
- TOOLS_WARN_EXCEPTION("io.streams","com.sun.star.comp.stoc.Pump: unexpected exception during calling listeners");
|
|
||||||
+ SAL_WARN("io.streams","com.sun.star.comp.stoc.Pump: unexpected exception during calling listeners" << e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/javaunohelper/Library_juhx.mk b/javaunohelper/Library_juhx.mk
|
|
||||||
index 6eacff250c0f..1a24e5ef54f2 100644
|
|
||||||
--- a/javaunohelper/Library_juhx.mk
|
|
||||||
+++ b/javaunohelper/Library_juhx.mk
|
|
||||||
@@ -19,7 +19,6 @@ $(eval $(call gb_Library_use_libraries,juhx,\
|
|
||||||
jvmaccess \
|
|
||||||
sal \
|
|
||||||
salhelper \
|
|
||||||
- tl \
|
|
||||||
))
|
|
||||||
|
|
||||||
$(eval $(call gb_Library_add_exception_objects,juhx,\
|
|
||||||
diff --git a/javaunohelper/source/bootstrap.cxx b/javaunohelper/source/bootstrap.cxx
|
|
||||||
index e7bf63b841de..6ad39d467444 100644
|
|
||||||
--- a/javaunohelper/source/bootstrap.cxx
|
|
||||||
+++ b/javaunohelper/source/bootstrap.cxx
|
|
||||||
@@ -36,7 +36,6 @@
|
|
||||||
|
|
||||||
#include <jni.h>
|
|
||||||
#include <jvmaccess/unovirtualmachine.hxx>
|
|
||||||
-#include <tools/diagnose_ex.h>
|
|
||||||
|
|
||||||
#include "juhx-export-functions.hxx"
|
|
||||||
#include "vm.hxx"
|
|
||||||
@@ -148,11 +147,10 @@ jobject Java_com_sun_star_comp_helper_Bootstrap_cppuhelper_1bootstrap(
|
|
||||||
}
|
|
||||||
catch (const RuntimeException & exc)
|
|
||||||
{
|
|
||||||
- css::uno::Any exAny( cppu::getCaughtException() );
|
|
||||||
jclass c = jni_env->FindClass( "com/sun/star/uno/RuntimeException" );
|
|
||||||
if (nullptr != c)
|
|
||||||
{
|
|
||||||
- SAL_WARN("javaunohelper", "forwarding RuntimeException: " << exceptionToString(exAny) );
|
|
||||||
+ SAL_WARN("javaunohelper", "forwarding RuntimeException: " << exc );
|
|
||||||
OString cstr( OUStringToOString(
|
|
||||||
exc.Message, RTL_TEXTENCODING_JAVA_UTF8 ) );
|
|
||||||
jni_env->ThrowNew( c, cstr.getStr() );
|
|
||||||
@@ -160,11 +158,10 @@ jobject Java_com_sun_star_comp_helper_Bootstrap_cppuhelper_1bootstrap(
|
|
||||||
}
|
|
||||||
catch (const Exception & exc)
|
|
||||||
{
|
|
||||||
- css::uno::Any ex( cppu::getCaughtException() );
|
|
||||||
jclass c = jni_env->FindClass( "com/sun/star/uno/Exception" );
|
|
||||||
if (nullptr != c)
|
|
||||||
{
|
|
||||||
- SAL_WARN("javaunohelper", "forwarding Exception: " << exceptionToString(ex) );
|
|
||||||
+ SAL_WARN("javaunohelper", "forwarding Exception: " << exc );
|
|
||||||
OString cstr( OUStringToOString(
|
|
||||||
exc.Message, RTL_TEXTENCODING_JAVA_UTF8 ) );
|
|
||||||
jni_env->ThrowNew( c, cstr.getStr() );
|
|
||||||
diff --git a/stoc/Library_bootstrap.mk b/stoc/Library_bootstrap.mk
|
|
||||||
index 49fbafc12a09..3cc57e868d29 100644
|
|
||||||
--- a/stoc/Library_bootstrap.mk
|
|
||||||
+++ b/stoc/Library_bootstrap.mk
|
|
||||||
@@ -32,7 +32,6 @@ $(eval $(call gb_Library_use_libraries,bootstrap,\
|
|
||||||
reg \
|
|
||||||
sal \
|
|
||||||
salhelper \
|
|
||||||
- tl \
|
|
||||||
))
|
|
||||||
|
|
||||||
$(eval $(call gb_Library_set_componentfile,bootstrap,stoc/util/bootstrap))
|
|
||||||
diff --git a/stoc/Library_javaloader.mk b/stoc/Library_javaloader.mk
|
|
||||||
index caf4a1e27df6..f0b11fb4a9dc 100644
|
|
||||||
--- a/stoc/Library_javaloader.mk
|
|
||||||
+++ b/stoc/Library_javaloader.mk
|
|
||||||
@@ -19,7 +19,6 @@ $(eval $(call gb_Library_use_libraries,javaloader,\
|
|
||||||
jvmaccess \
|
|
||||||
sal \
|
|
||||||
salhelper \
|
|
||||||
- tl \
|
|
||||||
))
|
|
||||||
|
|
||||||
$(eval $(call gb_Library_set_componentfile,javaloader,stoc/source/javaloader/javaloader))
|
|
||||||
diff --git a/stoc/Library_javavm.mk b/stoc/Library_javavm.mk
|
|
||||||
index ce5f773ef394..84e29e8556e0 100644
|
|
||||||
--- a/stoc/Library_javavm.mk
|
|
||||||
+++ b/stoc/Library_javavm.mk
|
|
||||||
@@ -21,7 +21,6 @@ $(eval $(call gb_Library_use_libraries,javavm,\
|
|
||||||
jvmfwk \
|
|
||||||
sal \
|
|
||||||
salhelper \
|
|
||||||
- tl \
|
|
||||||
))
|
|
||||||
|
|
||||||
$(eval $(call gb_Library_set_componentfile,javavm,stoc/source/javavm/javavm))
|
|
||||||
diff --git a/stoc/source/javaloader/javaloader.cxx b/stoc/source/javaloader/javaloader.cxx
|
|
||||||
index 73b0ddf557ff..036ea71af93a 100644
|
|
||||||
--- a/stoc/source/javaloader/javaloader.cxx
|
|
||||||
+++ b/stoc/source/javaloader/javaloader.cxx
|
|
||||||
@@ -26,7 +26,6 @@
|
|
||||||
#include <com/sun/star/uno/RuntimeException.hpp>
|
|
||||||
#include <com/sun/star/lang/WrappedTargetRuntimeException.hpp>
|
|
||||||
#include <cppuhelper/exc_hlp.hxx>
|
|
||||||
-#include <tools/diagnose_ex.h>
|
|
||||||
|
|
||||||
#ifdef LINUX
|
|
||||||
#undef minor
|
|
||||||
@@ -328,8 +327,10 @@ stoc_JavaComponentLoader_get_implementation(
|
|
||||||
try {
|
|
||||||
return cppu::acquire(new JavaComponentLoader(context));
|
|
||||||
}
|
|
||||||
- catch(const RuntimeException &) {
|
|
||||||
- TOOLS_INFO_EXCEPTION("stoc", "could not init javaloader");
|
|
||||||
+ catch(const RuntimeException & runtimeException) {
|
|
||||||
+ SAL_INFO(
|
|
||||||
+ "stoc",
|
|
||||||
+ "could not init javaloader due to " << runtimeException);
|
|
||||||
throw;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
diff --git a/stoc/source/javavm/javavm.cxx b/stoc/source/javavm/javavm.cxx
|
|
||||||
index 8600a23eb759..8d95f71a68a3 100644
|
|
||||||
--- a/stoc/source/javavm/javavm.cxx
|
|
||||||
+++ b/stoc/source/javavm/javavm.cxx
|
|
||||||
@@ -61,7 +61,6 @@
|
|
||||||
#include <rtl/ustring.hxx>
|
|
||||||
#include <sal/types.h>
|
|
||||||
#include <sal/log.hxx>
|
|
||||||
-#include <tools/diagnose_ex.h>
|
|
||||||
#include <uno/current_context.hxx>
|
|
||||||
#include <jvmfwk/framework.hxx>
|
|
||||||
#include <i18nlangtag/languagetag.hxx>
|
|
||||||
@@ -423,23 +422,23 @@ void initVMConfiguration(
|
|
||||||
try {
|
|
||||||
getINetPropsFromConfig(&jvm, xSMgr, xCtx);
|
|
||||||
}
|
|
||||||
- catch(const css::uno::Exception &) {
|
|
||||||
- TOOLS_INFO_EXCEPTION("stoc", "can not get INETProps");
|
|
||||||
+ catch(const css::uno::Exception & exception) {
|
|
||||||
+ SAL_INFO("stoc", "can not get INETProps because of " << exception);
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
getDefaultLocaleFromConfig(&jvm, xSMgr,xCtx);
|
|
||||||
}
|
|
||||||
- catch(const css::uno::Exception &) {
|
|
||||||
- TOOLS_INFO_EXCEPTION("stoc", "can not get locale");
|
|
||||||
+ catch(const css::uno::Exception & exception) {
|
|
||||||
+ SAL_INFO("stoc", "can not get locale because of " << exception);
|
|
||||||
}
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
getJavaPropsFromSafetySettings(&jvm, xSMgr, xCtx);
|
|
||||||
}
|
|
||||||
- catch(const css::uno::Exception &) {
|
|
||||||
- TOOLS_INFO_EXCEPTION("stoc", "couldn't get safety settings");
|
|
||||||
+ catch(const css::uno::Exception & exception) {
|
|
||||||
+ SAL_INFO("stoc", "couldn't get safety settings because of " << exception);
|
|
||||||
}
|
|
||||||
|
|
||||||
*pjvm= jvm;
|
|
||||||
@@ -1213,9 +1212,9 @@ void JavaVirtualMachine::registerConfigChangesListener()
|
|
||||||
if (m_xJavaConfiguration.is())
|
|
||||||
m_xJavaConfiguration->addContainerListener(this);
|
|
||||||
}
|
|
||||||
- }catch(const css::uno::Exception &)
|
|
||||||
+ }catch(const css::uno::Exception & e)
|
|
||||||
{
|
|
||||||
- TOOLS_INFO_EXCEPTION("stoc", "could not set up listener for Configuration");
|
|
||||||
+ SAL_INFO("stoc", "could not set up listener for Configuration because of >" << e << "<");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/stoc/source/servicemanager/servicemanager.cxx b/stoc/source/servicemanager/servicemanager.cxx
|
|
||||||
index ba728ba1fa88..1a53ecf97f63 100644
|
|
||||||
--- a/stoc/source/servicemanager/servicemanager.cxx
|
|
||||||
+++ b/stoc/source/servicemanager/servicemanager.cxx
|
|
||||||
@@ -24,7 +24,6 @@
|
|
||||||
#include <osl/diagnose.h>
|
|
||||||
#include <rtl/ustrbuf.hxx>
|
|
||||||
#include <sal/log.hxx>
|
|
||||||
-#include <tools/diagnose_ex.h>
|
|
||||||
|
|
||||||
#include <cppuhelper/factory.hxx>
|
|
||||||
#include <cppuhelper/weakref.hxx>
|
|
||||||
@@ -611,9 +610,9 @@ void OServiceManager::disposing()
|
|
||||||
if( xComp.is() )
|
|
||||||
xComp->dispose();
|
|
||||||
}
|
|
||||||
- catch (const RuntimeException &)
|
|
||||||
+ catch (const RuntimeException & exc)
|
|
||||||
{
|
|
||||||
- TOOLS_INFO_EXCEPTION("stoc", "RuntimeException occurred upon disposing factory:");
|
|
||||||
+ SAL_INFO("stoc", "RuntimeException occurred upon disposing factory: " << exc);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -797,9 +796,9 @@ Reference< XInterface > OServiceManager::createInstanceWithContext(
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
- catch (const lang::DisposedException &)
|
|
||||||
+ catch (const lang::DisposedException & exc)
|
|
||||||
{
|
|
||||||
- TOOLS_INFO_EXCEPTION("stoc", "");
|
|
||||||
+ SAL_INFO("stoc", "DisposedException occurred: " << exc);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -849,9 +848,9 @@ Reference< XInterface > OServiceManager::createInstanceWithArgumentsAndContext(
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
- catch (const lang::DisposedException &)
|
|
||||||
+ catch (const lang::DisposedException & exc)
|
|
||||||
{
|
|
||||||
- TOOLS_INFO_EXCEPTION("stoc", "DisposedException occurred:");
|
|
||||||
+ SAL_INFO("stoc", "DisposedException occurred: " << exc);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
--
|
|
||||||
2.40.1
|
|
||||||
|
|
@ -1,53 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
116
SOURCES/0001-Fix-endianness-issues-in-OOX-crypto-routines.patch
Normal file
116
SOURCES/0001-Fix-endianness-issues-in-OOX-crypto-routines.patch
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
From 96b088a62174a70441ebe959495756e9d86203a2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stephan Bergmann <sbergman@redhat.com>
|
||||||
|
Date: Thu, 24 Sep 2020 14:51:16 +0200
|
||||||
|
Subject: [PATCH] Fix endianness issues in OOX crypto routines
|
||||||
|
|
||||||
|
...without which CppunitTest_sw_ooxmlencryption failed on (big-endian) s390x:
|
||||||
|
|
||||||
|
* The 32-bit segment counter in AgileEngine::de-/encrypt apparently needs to be
|
||||||
|
stored in LSB format (at least, if it is, CppunitTest_sw_ooxmlencryption
|
||||||
|
ultimately succeeded, whereas otherwise it failed).
|
||||||
|
|
||||||
|
* The UTF-16 string in Standard2007Engine::calculateEncryptionKey apparently
|
||||||
|
needs to be in LSB format (at least, if it is, CppunitTest_sw_ooxmlencryption
|
||||||
|
ultimately succeeded, whereas otherwise it failed).
|
||||||
|
|
||||||
|
* The various 32-bit values in the EncryptionStandardHeader and
|
||||||
|
EncryptionVerifierAES data structures apparently need to be written out in LSB
|
||||||
|
format in Standard2007Engine::writeEncryptionInfo, given that they are always
|
||||||
|
read in LSB format in Standard2007Engine::readEncryptionInfo.
|
||||||
|
|
||||||
|
Change-Id: I3a1efbfe324b1bbd539b88dc5d40bb44f9676ffa
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103315
|
||||||
|
Tested-by: Jenkins
|
||||||
|
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
||||||
|
(cherry picked from commit 646a69757b928aeaf6e0d0d41c4b30c02803a3a3)
|
||||||
|
---
|
||||||
|
oox/source/crypto/AgileEngine.cxx | 16 +++++++++-----
|
||||||
|
oox/source/crypto/Standard2007Engine.cxx | 28 +++++++++++++++++-------
|
||||||
|
2 files changed, 30 insertions(+), 14 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/oox/source/crypto/AgileEngine.cxx b/oox/source/crypto/AgileEngine.cxx
|
||||||
|
index 7c2a0e9c93d2..0fc972bf2ca5 100644
|
||||||
|
--- a/oox/source/crypto/AgileEngine.cxx
|
||||||
|
+++ b/oox/source/crypto/AgileEngine.cxx
|
||||||
|
@@ -457,9 +457,11 @@ bool AgileEngine::decrypt(BinaryXInputStream& aInputStream,
|
||||||
|
|
||||||
|
while ((inputLength = aInputStream.readMemory(inputBuffer.data(), inputBuffer.size())) > 0)
|
||||||
|
{
|
||||||
|
- sal_uInt8* segmentBegin = reinterpret_cast<sal_uInt8*>(&segment);
|
||||||
|
- sal_uInt8* segmentEnd = segmentBegin + sizeof(segment);
|
||||||
|
- std::copy(segmentBegin, segmentEnd, saltWithBlockKey.begin() + saltSize);
|
||||||
|
+ auto p = saltWithBlockKey.begin() + saltSize;
|
||||||
|
+ p[0] = segment & 0xFF;
|
||||||
|
+ p[1] = (segment >> 8) & 0xFF;
|
||||||
|
+ p[2] = (segment >> 16) & 0xFF;
|
||||||
|
+ p[3] = segment >> 24;
|
||||||
|
|
||||||
|
hashCalc(hash, saltWithBlockKey, mInfo.hashAlgorithm);
|
||||||
|
|
||||||
|
@@ -800,9 +802,11 @@ void AgileEngine::encrypt(css::uno::Reference<css::io::XInputStream> & rxInputS
|
||||||
|
inputLength : oox::core::roundUp(inputLength, sal_uInt32(mInfo.blockSize));
|
||||||
|
|
||||||
|
// Update Key
|
||||||
|
- sal_uInt8* segmentBegin = reinterpret_cast<sal_uInt8*>(&nSegment);
|
||||||
|
- sal_uInt8* segmentEnd = segmentBegin + nSegmentByteSize;
|
||||||
|
- std::copy(segmentBegin, segmentEnd, saltWithBlockKey.begin() + saltSize);
|
||||||
|
+ auto p = saltWithBlockKey.begin() + saltSize;
|
||||||
|
+ p[0] = nSegment & 0xFF;
|
||||||
|
+ p[1] = (nSegment >> 8) & 0xFF;
|
||||||
|
+ p[2] = (nSegment >> 16) & 0xFF;
|
||||||
|
+ p[3] = nSegment >> 24;
|
||||||
|
|
||||||
|
hashCalc(hash, saltWithBlockKey, mInfo.hashAlgorithm);
|
||||||
|
|
||||||
|
diff --git a/oox/source/crypto/Standard2007Engine.cxx b/oox/source/crypto/Standard2007Engine.cxx
|
||||||
|
index 38c4e03baf15..e96fc8f841f2 100644
|
||||||
|
--- a/oox/source/crypto/Standard2007Engine.cxx
|
||||||
|
+++ b/oox/source/crypto/Standard2007Engine.cxx
|
||||||
|
@@ -79,12 +79,12 @@ bool Standard2007Engine::calculateEncryptionKey(const OUString& rPassword)
|
||||||
|
std::vector<sal_uInt8> initialData(saltSize + passwordByteLength);
|
||||||
|
std::copy(saltArray, saltArray + saltSize, initialData.begin());
|
||||||
|
|
||||||
|
- const sal_uInt8* passwordByteArray = reinterpret_cast<const sal_uInt8*>(rPassword.getStr());
|
||||||
|
-
|
||||||
|
- std::copy(
|
||||||
|
- passwordByteArray,
|
||||||
|
- passwordByteArray + passwordByteLength,
|
||||||
|
- initialData.begin() + saltSize);
|
||||||
|
+ auto p = initialData.begin() + saltSize;
|
||||||
|
+ for (sal_Int32 i = 0; i != rPassword.getLength(); ++i) {
|
||||||
|
+ auto c = rPassword[i];
|
||||||
|
+ *p++ = c & 0xFF;
|
||||||
|
+ *p++ = c >> 8;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
// use "hash" vector for result of sha1 hashing
|
||||||
|
// calculate SHA1 hash of initialData
|
||||||
|
@@ -223,11 +223,23 @@ void Standard2007Engine::writeEncryptionInfo(BinaryXOutputStream& rStream)
|
||||||
|
sal_uInt32 headerSize = encryptionHeaderSize + cspNameSize;
|
||||||
|
rStream.WriteUInt32(headerSize);
|
||||||
|
|
||||||
|
- rStream.writeMemory(&mInfo.header, encryptionHeaderSize);
|
||||||
|
+ rStream.WriteUInt32(mInfo.header.flags);
|
||||||
|
+ rStream.WriteUInt32(mInfo.header.sizeExtra);
|
||||||
|
+ rStream.WriteUInt32(mInfo.header.algId);
|
||||||
|
+ rStream.WriteUInt32(mInfo.header.algIdHash);
|
||||||
|
+ rStream.WriteUInt32(mInfo.header.keyBits);
|
||||||
|
+ rStream.WriteUInt32(mInfo.header.providedType);
|
||||||
|
+ rStream.WriteUInt32(mInfo.header.reserved1);
|
||||||
|
+ rStream.WriteUInt32(mInfo.header.reserved2);
|
||||||
|
rStream.writeUnicodeArray(lclCspName);
|
||||||
|
rStream.WriteUInt16(0);
|
||||||
|
|
||||||
|
- rStream.writeMemory(&mInfo.verifier, sizeof(msfilter::EncryptionVerifierAES));
|
||||||
|
+ rStream.WriteUInt32(mInfo.verifier.saltSize);
|
||||||
|
+ rStream.writeMemory(&mInfo.verifier.salt, sizeof mInfo.verifier.salt);
|
||||||
|
+ rStream.writeMemory(&mInfo.verifier.encryptedVerifier, sizeof mInfo.verifier.encryptedVerifier);
|
||||||
|
+ rStream.WriteUInt32(mInfo.verifier.encryptedVerifierHashSize);
|
||||||
|
+ rStream.writeMemory(
|
||||||
|
+ &mInfo.verifier.encryptedVerifierHash, sizeof mInfo.verifier.encryptedVerifierHash);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Standard2007Engine::encrypt(css::uno::Reference<css::io::XInputStream> & rxInputStream,
|
||||||
|
--
|
||||||
|
2.33.1
|
||||||
|
|
@ -0,0 +1,64 @@
|
|||||||
|
From acca5c87e73255db350a02d13bf34a62efaf9c93 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stephan Bergmann <sbergman@redhat.com>
|
||||||
|
Date: Tue, 21 Apr 2020 14:07:24 +0200
|
||||||
|
Subject: [PATCH] Flatpak: Add /app/bin/libreoffice ->
|
||||||
|
/app/libreoffice/program/soffice symlink
|
||||||
|
|
||||||
|
Which removes the need to rewrite the
|
||||||
|
|
||||||
|
Exec=${UNIXBASISROOTNAME}
|
||||||
|
|
||||||
|
lines from sysui/desktop/menus/*.desktop, and helps to harmonize the plain
|
||||||
|
Flatpak build with the one done from Fedora RPMs (see
|
||||||
|
<https://src.fedoraproject.org/flatpaks/libreoffice>).
|
||||||
|
|
||||||
|
(Also change the manifest command from an absolute path to a filename relative
|
||||||
|
to PATH. It is not clear to me which one would be better or more conventional,
|
||||||
|
but at least <https://docs.flatpak.org/en/latest/manifests.html> also uses just
|
||||||
|
a filename in its example.)
|
||||||
|
|
||||||
|
Change-Id: I69c380b84503bf3d85801093fb92567852ceb00b
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92837
|
||||||
|
Tested-by: Jenkins
|
||||||
|
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
||||||
|
---
|
||||||
|
solenv/bin/assemble-flatpak.sh | 4 ++--
|
||||||
|
solenv/flatpak-manifest.in | 2 +-
|
||||||
|
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/solenv/bin/assemble-flatpak.sh b/solenv/bin/assemble-flatpak.sh
|
||||||
|
index b4bce2d4d172..0738fcd59ad2 100755
|
||||||
|
--- a/solenv/bin/assemble-flatpak.sh
|
||||||
|
+++ b/solenv/bin/assemble-flatpak.sh
|
||||||
|
@@ -14,13 +14,13 @@
|
||||||
|
set -e
|
||||||
|
|
||||||
|
cp -r "${PREFIXDIR?}"/lib/libreoffice /app/
|
||||||
|
+ln -s /app/libreoffice/program/soffice /app/bin/libreoffice
|
||||||
|
|
||||||
|
## libreoffice-*.desktop -> org.libreoffice.LibreOffice.*.desktop:
|
||||||
|
mkdir -p /app/share/applications
|
||||||
|
for i in "${PREFIXDIR?}"/share/applications/libreoffice-*.desktop
|
||||||
|
do
|
||||||
|
- sed -e 's,^Exec=libreoffice,Exec=/app/libreoffice/program/soffice,' \
|
||||||
|
- -e 's/^Icon=libreoffice-/Icon=org.libreoffice.LibreOffice./' "$i" \
|
||||||
|
+ sed -e 's/^Icon=libreoffice-/Icon=org.libreoffice.LibreOffice./' "$i" \
|
||||||
|
>/app/share/applications/org.libreoffice.LibreOffice."${i#"${PREFIXDIR?}"/share/applications/libreoffice-}"
|
||||||
|
done
|
||||||
|
mv /app/share/applications/org.libreoffice.LibreOffice.startcenter.desktop \
|
||||||
|
diff --git a/solenv/flatpak-manifest.in b/solenv/flatpak-manifest.in
|
||||||
|
index 9f64a142dd68..754b6b6dbbe1 100644
|
||||||
|
--- a/solenv/flatpak-manifest.in
|
||||||
|
+++ b/solenv/flatpak-manifest.in
|
||||||
|
@@ -6,7 +6,7 @@
|
||||||
|
"sdk-extensions": [
|
||||||
|
"org.freedesktop.Sdk.Extension.openjdk11"
|
||||||
|
],
|
||||||
|
- "command": "/app/libreoffice/program/soffice",
|
||||||
|
+ "command": "libreoffice",
|
||||||
|
"modules": [
|
||||||
|
{
|
||||||
|
"name": "openjdk",
|
||||||
|
--
|
||||||
|
2.26.0
|
||||||
|
|
File diff suppressed because one or more lines are too long
@ -1,4 +1,4 @@
|
|||||||
From d6bfde52b0b51e96075cfb195c2f9d8200a0fb08 Mon Sep 17 00:00:00 2001
|
From b66d735cf3dc8b80783cb161c0aff5b990db1bb0 Mon Sep 17 00:00:00 2001
|
||||||
From: Eike Rathke <erack@redhat.com>
|
From: Eike Rathke <erack@redhat.com>
|
||||||
Date: Thu, 16 Feb 2023 20:20:31 +0100
|
Date: Thu, 16 Feb 2023 20:20:31 +0100
|
||||||
Subject: [PATCH 1/3] Obtain actual 0-parameter count for OR(), AND() and
|
Subject: [PATCH 1/3] Obtain actual 0-parameter count for OR(), AND() and
|
||||||
@ -18,17 +18,20 @@ Change-Id: Ie05398c112a98021ac2875cf7b6de994aee9d882
|
|||||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147173
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147173
|
||||||
Reviewed-by: Eike Rathke <erack@redhat.com>
|
Reviewed-by: Eike Rathke <erack@redhat.com>
|
||||||
Tested-by: Jenkins
|
Tested-by: Jenkins
|
||||||
|
|
||||||
(cherry picked from commit e7ce9bddadb2db222eaa5f594ef1de2e36d57e5c)
|
(cherry picked from commit e7ce9bddadb2db222eaa5f594ef1de2e36d57e5c)
|
||||||
|
Conflicts:
|
||||||
|
sc/source/core/tool/interpr4.cxx
|
||||||
---
|
---
|
||||||
formula/source/core/api/token.cxx | 13 +++++--------
|
formula/source/core/api/token.cxx | 13 +++++--------
|
||||||
sc/source/core/tool/interpr4.cxx | 10 +++++++++-
|
sc/source/core/tool/interpr4.cxx | 10 +++++++++-
|
||||||
2 files changed, 14 insertions(+), 9 deletions(-)
|
2 files changed, 14 insertions(+), 9 deletions(-)
|
||||||
|
|
||||||
diff --git a/formula/source/core/api/token.cxx b/formula/source/core/api/token.cxx
|
diff --git a/formula/source/core/api/token.cxx b/formula/source/core/api/token.cxx
|
||||||
index 37dd26979ced..c2b12cf3a145 100644
|
index 17594207234f..0db0c3464610 100644
|
||||||
--- a/formula/source/core/api/token.cxx
|
--- a/formula/source/core/api/token.cxx
|
||||||
+++ b/formula/source/core/api/token.cxx
|
+++ b/formula/source/core/api/token.cxx
|
||||||
@@ -93,17 +93,14 @@ sal_uInt8 FormulaToken::GetParamCount() const
|
@@ -95,17 +95,14 @@ sal_uInt8 FormulaToken::GetParamCount() const
|
||||||
return 0; // parameters and specials
|
return 0; // parameters and specials
|
||||||
// ocIf... jump commands not for FAP, have cByte then
|
// ocIf... jump commands not for FAP, have cByte then
|
||||||
//2do: bool parameter whether FAP or not?
|
//2do: bool parameter whether FAP or not?
|
||||||
@ -52,17 +55,17 @@ index 37dd26979ced..c2b12cf3a145 100644
|
|||||||
return 1; // only the condition counts as parameter
|
return 1; // only the condition counts as parameter
|
||||||
else
|
else
|
||||||
diff --git a/sc/source/core/tool/interpr4.cxx b/sc/source/core/tool/interpr4.cxx
|
diff --git a/sc/source/core/tool/interpr4.cxx b/sc/source/core/tool/interpr4.cxx
|
||||||
index b9d34cd080a6..d5d8588fe49a 100644
|
index eb3fb987c034..94235c33eaef 100644
|
||||||
--- a/sc/source/core/tool/interpr4.cxx
|
--- a/sc/source/core/tool/interpr4.cxx
|
||||||
+++ b/sc/source/core/tool/interpr4.cxx
|
+++ b/sc/source/core/tool/interpr4.cxx
|
||||||
@@ -4022,7 +4022,15 @@ StackVar ScInterpreter::Interpret()
|
@@ -4012,7 +4012,15 @@ StackVar ScInterpreter::Interpret()
|
||||||
else if (sp >= pCur->GetParamCount())
|
else if (sp >= pCur->GetParamCount())
|
||||||
nStackBase = sp - pCur->GetParamCount();
|
nStackBase = sp - pCur->GetParamCount();
|
||||||
else
|
else
|
||||||
- nStackBase = sp; // underflow?!?
|
- nStackBase = sp; // underflow?!?
|
||||||
+ {
|
+ {
|
||||||
+ SAL_WARN("sc.core", "Stack anomaly at " << aPos.Format(
|
+ SAL_WARN("sc.core", "Stack anomaly at " << aPos.Format(
|
||||||
+ ScRefFlags::VALID | ScRefFlags::FORCE_DOC | ScRefFlags::TAB_3D, &mrDoc)
|
+ ScRefFlags::VALID | ScRefFlags::FORCE_DOC | ScRefFlags::TAB_3D, pDok)
|
||||||
+ << " eOp: " << static_cast<int>(eOp)
|
+ << " eOp: " << static_cast<int>(eOp)
|
||||||
+ << " params: " << static_cast<int>(pCur->GetParamCount())
|
+ << " params: " << static_cast<int>(pCur->GetParamCount())
|
||||||
+ << " nStackBase: " << nStackBase << " sp: " << sp);
|
+ << " nStackBase: " << nStackBase << " sp: " << sp);
|
||||||
|
@ -0,0 +1,59 @@
|
|||||||
|
From 9f393ee10ae198063bbe3b71c2c87262e7880a34 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stephan Bergmann <sbergman@redhat.com>
|
||||||
|
Date: Wed, 23 Sep 2020 11:53:11 +0200
|
||||||
|
Subject: [PATCH] Read MOSDocumentLockFile UTF-16 string data with same
|
||||||
|
endianness
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
...as MSODocumentLockFile::WriteEntryToStream has written it to (i.e.,
|
||||||
|
always as UTF-16LE, assuming that is actually the right format to use). The
|
||||||
|
discrepancy between writing and reading the string data appears to be present
|
||||||
|
ever since the code's introduction in 5db1e20b8b0942dac2d50f3cd34532bb61147020
|
||||||
|
"Introduce new lockfile handler for MSO like lockfiles".
|
||||||
|
|
||||||
|
This caused CppunitTest_svl_lockfiles to fail on (big-endian) s390x Linux with
|
||||||
|
|
||||||
|
> svl/qa/unit/lockfiles/test_lockfiles.cxx:578:(anonymous namespace)::LockfileTest::testWordLockFileRT
|
||||||
|
> equality assertion failed
|
||||||
|
> - Expected: LockFile Test
|
||||||
|
> - Actual : 䰀漀挀欀䘀椀氀攀 吀攀猀琀
|
||||||
|
|
||||||
|
etc.
|
||||||
|
|
||||||
|
Change-Id: I97267aa14a3a926e7fd7bb1d2ce7d2de05d52a64
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103238
|
||||||
|
Tested-by: Jenkins
|
||||||
|
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
||||||
|
(cherry picked from commit 1b9fa11a0869246fe0433b79aab30dd216cf92b6)
|
||||||
|
---
|
||||||
|
svl/source/misc/msodocumentlockfile.cxx | 12 ++++++++++--
|
||||||
|
1 file changed, 10 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/svl/source/misc/msodocumentlockfile.cxx b/svl/source/misc/msodocumentlockfile.cxx
|
||||||
|
index 9650db03999f..0c857ffb53ec 100644
|
||||||
|
--- a/svl/source/misc/msodocumentlockfile.cxx
|
||||||
|
+++ b/svl/source/misc/msodocumentlockfile.cxx
|
||||||
|
@@ -228,8 +228,16 @@ LockFileEntry MSODocumentLockFile::GetLockData()
|
||||||
|
nUTF16Len = *++pBuf; // use Excel/PowerPoint position
|
||||||
|
|
||||||
|
if (nUTF16Len > 0 && nUTF16Len <= 52) // skip wrong format
|
||||||
|
- aResult[LockFileComponent::OOOUSERNAME]
|
||||||
|
- = OUString(reinterpret_cast<const sal_Unicode*>(pBuf + 2), nUTF16Len);
|
||||||
|
+ {
|
||||||
|
+ OUStringBuffer str(nUTF16Len);
|
||||||
|
+ sal_uInt8 const* p = reinterpret_cast<sal_uInt8 const*>(pBuf + 2);
|
||||||
|
+ for (int i = 0; i != nUTF16Len; ++i)
|
||||||
|
+ {
|
||||||
|
+ str.append(sal_Unicode(p[0] | (sal_uInt32(p[1]) << 8)));
|
||||||
|
+ p += 2;
|
||||||
|
+ }
|
||||||
|
+ aResult[LockFileComponent::OOOUSERNAME] = str.makeStringAndClear();
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return aResult;
|
||||||
|
--
|
||||||
|
2.33.1
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
@ -1,162 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
From 87b90b6fbf010effd44ef0e2bd3d75b27562a82b Mon Sep 17 00:00:00 2001
|
From b54cfe9d3d22fdd40f7015bd343df8620c983779 Mon Sep 17 00:00:00 2001
|
||||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||||
Date: Mon, 27 Mar 2017 11:47:01 +0100
|
Date: Mon, 27 Mar 2017 11:47:01 +0100
|
||||||
Subject: [PATCH] Resolves: rhbz#1432468 disable opencl by default
|
Subject: [PATCH] Resolves: rhbz#1432468 disable opencl by default
|
||||||
@ -9,18 +9,18 @@ Change-Id: Ie037fcabdd219f195425979dd721501fb5527573
|
|||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
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
|
diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
|
||||||
index 99b4104f6499..ef7ada84c2f3 100644
|
index 946bd32..284d694 100644
|
||||||
--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs
|
--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs
|
||||||
+++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
|
+++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
|
||||||
@@ -5652,7 +5652,7 @@
|
@@ -5670,7 +5670,7 @@
|
||||||
<desc>Determines whether OpenCL can be used, when available, to speed up
|
<desc>Determines whether OpenCL can be used, when available, to speed up
|
||||||
some operations.</desc>
|
some operations.</desc>
|
||||||
</info>
|
</info>
|
||||||
- <value>true</value>
|
- <value>true</value>
|
||||||
+ <value>false</value>
|
+ <value>false</value>
|
||||||
</prop>
|
</prop>
|
||||||
<prop oor:name="OpenCLDenyList" oor:type="oor:string-list" oor:nillable="false">
|
<prop oor:name="OpenCLBlackList" oor:type="oor:string-list" oor:nillable="false">
|
||||||
<!-- UIHints: Tools - Options General OpenCL -->
|
<!-- UIHints: Tools - Options General OpenCL -->
|
||||||
--
|
--
|
||||||
2.29.2
|
2.9.3
|
||||||
|
|
||||||
|
@ -0,0 +1,30 @@
|
|||||||
|
From d59960d5de3f07726594d980152a3bfeb58bace9 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||||
|
Date: Mon, 2 Nov 2020 19:27:04 +0000
|
||||||
|
Subject: [PATCH 1/8] Resolves: rhbz#1893846 if last close had insert, index
|
||||||
|
dialog open
|
||||||
|
|
||||||
|
when starting a new writer document
|
||||||
|
|
||||||
|
Change-Id: I83131c01aa53208a321abade48d48a6f7965d0ff
|
||||||
|
---
|
||||||
|
sw/source/ui/index/swuiidxmrk.cxx | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/sw/source/ui/index/swuiidxmrk.cxx b/sw/source/ui/index/swuiidxmrk.cxx
|
||||||
|
index 33a0eab8cd69..5eca069b963b 100644
|
||||||
|
--- a/sw/source/ui/index/swuiidxmrk.cxx
|
||||||
|
+++ b/sw/source/ui/index/swuiidxmrk.cxx
|
||||||
|
@@ -955,7 +955,8 @@ SwIndexMarkFloatDlg::SwIndexMarkFloatDlg(SfxBindings* _pBindings,
|
||||||
|
"modules/swriter/ui/indexentry.ui", "IndexEntryDialog")
|
||||||
|
, m_aContent(m_xDialog, *m_xBuilder, bNew, *::GetActiveWrtShell())
|
||||||
|
{
|
||||||
|
- m_aContent.ReInitDlg(*::GetActiveWrtShell());
|
||||||
|
+ if (SwWrtShell* pSh = ::GetActiveWrtShell())
|
||||||
|
+ m_aContent.ReInitDlg(*pSh);
|
||||||
|
Initialize(pInfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.28.0
|
||||||
|
|
@ -1,51 +0,0 @@
|
|||||||
From 1dbfd248524789efa4a84dc94d56a229c19bc0b9 Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
|
||||||
Date: Wed, 4 May 2022 11:52:58 +0100
|
|
||||||
Subject: [PATCH] Resolves: rhbz#2081661 gtk-critical
|
|
||||||
gtk_tree_view_scroll_to_cell assertion
|
|
||||||
|
|
||||||
Change-Id: I4c7c4caed907072ef3a73ccfafabe882d618fa0e
|
|
||||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133730
|
|
||||||
Tested-by: Jenkins
|
|
||||||
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|
||||||
(cherry picked from commit 816435e4c2d52615462670464c48689bebdf1e55)
|
|
||||||
---
|
|
||||||
cui/source/customize/SvxMenuConfigPage.cxx | 2 +-
|
|
||||||
cui/source/customize/SvxToolbarConfigPage.cxx | 6 ++++--
|
|
||||||
2 files changed, 5 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/cui/source/customize/SvxMenuConfigPage.cxx b/cui/source/customize/SvxMenuConfigPage.cxx
|
|
||||||
index 34cee1368d7a..bf7457193f5c 100644
|
|
||||||
--- a/cui/source/customize/SvxMenuConfigPage.cxx
|
|
||||||
+++ b/cui/source/customize/SvxMenuConfigPage.cxx
|
|
||||||
@@ -136,7 +136,7 @@ void SvxMenuConfigPage::Init()
|
|
||||||
|
|
||||||
ReloadTopLevelListBox();
|
|
||||||
|
|
||||||
- m_xTopLevelListBox->set_active(0);
|
|
||||||
+ m_xTopLevelListBox->set_active(m_xTopLevelListBox->get_count() ? 0 : -1);
|
|
||||||
SelectElement();
|
|
||||||
|
|
||||||
m_xCommandCategoryListBox->Init(comphelper::getProcessComponentContext(), m_xFrame,
|
|
||||||
diff --git a/cui/source/customize/SvxToolbarConfigPage.cxx b/cui/source/customize/SvxToolbarConfigPage.cxx
|
|
||||||
index 99a85d82f96e..d2284428d8f1 100644
|
|
||||||
--- a/cui/source/customize/SvxToolbarConfigPage.cxx
|
|
||||||
+++ b/cui/source/customize/SvxToolbarConfigPage.cxx
|
|
||||||
@@ -246,10 +246,12 @@ void SvxToolbarConfigPage::Init()
|
|
||||||
|
|
||||||
ReloadTopLevelListBox();
|
|
||||||
|
|
||||||
- sal_Int32 nPos = 0;
|
|
||||||
+ sal_Int32 nCount = m_xTopLevelListBox->get_count();
|
|
||||||
+ sal_Int32 nPos = nCount > 0 ? 0 : -1;
|
|
||||||
+
|
|
||||||
if (!m_aURLToSelect.isEmpty())
|
|
||||||
{
|
|
||||||
- for (sal_Int32 i = 0, nCount = m_xTopLevelListBox->get_count(); i < nCount; ++i)
|
|
||||||
+ for (sal_Int32 i = 0; i < nCount; ++i)
|
|
||||||
{
|
|
||||||
SvxConfigEntry* pData
|
|
||||||
= reinterpret_cast<SvxConfigEntry*>(m_xTopLevelListBox->get_id(i).toInt64());
|
|
||||||
--
|
|
||||||
2.35.1
|
|
||||||
|
|
@ -0,0 +1,72 @@
|
|||||||
|
From 5c705fbd9e4d231fed87b7e8ac06d8b7d4c6891f Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||||
|
Date: Thu, 12 Aug 2021 12:55:30 +0100
|
||||||
|
Subject: [PATCH] Resolves: tdf#132739 two style tags where there should be
|
||||||
|
just one
|
||||||
|
|
||||||
|
Change-Id: Id9c8c8cc8c5ffdd21ba79ff39a6279cf2ddc8025
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120360
|
||||||
|
Tested-by: Jenkins
|
||||||
|
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
||||||
|
---
|
||||||
|
sw/source/filter/html/css1atr.cxx | 4 +++-
|
||||||
|
sw/source/filter/html/htmltabw.cxx | 9 ++++++---
|
||||||
|
sw/source/filter/html/wrthtml.hxx | 2 +-
|
||||||
|
3 files changed, 10 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/sw/source/filter/html/css1atr.cxx b/sw/source/filter/html/css1atr.cxx
|
||||||
|
index 7b1a5cc19be3..c401d95a788f 100644
|
||||||
|
--- a/sw/source/filter/html/css1atr.cxx
|
||||||
|
+++ b/sw/source/filter/html/css1atr.cxx
|
||||||
|
@@ -2113,10 +2113,12 @@ void SwHTMLWriter::OutCSS1_TableFrameFormatOptions( const SwFrameFormat& rFrameF
|
||||||
|
Strm().WriteChar( '\"' );
|
||||||
|
}
|
||||||
|
|
||||||
|
-void SwHTMLWriter::OutCSS1_TableCellBorderHack(SwFrameFormat const& rFrameFormat)
|
||||||
|
+void SwHTMLWriter::OutCSS1_TableCellBordersAndBG(SwFrameFormat const& rFrameFormat, const SvxBrushItem *pBrushItem)
|
||||||
|
{
|
||||||
|
SwCSS1OutMode const aMode( *this,
|
||||||
|
CSS1_OUTMODE_STYLE_OPT_ON|CSS1_OUTMODE_ENCODE|CSS1_OUTMODE_TABLEBOX, nullptr );
|
||||||
|
+ if (pBrushItem)
|
||||||
|
+ OutCSS1_SvxBrush(*this, *pBrushItem, Css1Background::Table, nullptr);
|
||||||
|
OutCSS1_SvxBox(*this, rFrameFormat.GetBox());
|
||||||
|
if (!m_bFirstCSS1Property)
|
||||||
|
{
|
||||||
|
diff --git a/sw/source/filter/html/htmltabw.cxx b/sw/source/filter/html/htmltabw.cxx
|
||||||
|
index 4c83319747b7..63812a9b3ef6 100644
|
||||||
|
--- a/sw/source/filter/html/htmltabw.cxx
|
||||||
|
+++ b/sw/source/filter/html/htmltabw.cxx
|
||||||
|
@@ -424,11 +424,14 @@ void SwHTMLWrtTable::OutTableCell( SwHTMLWriter& rWrt,
|
||||||
|
// Avoid non-CSS version in the ReqIF case.
|
||||||
|
rWrt.OutBackground( pBrushItem, false );
|
||||||
|
|
||||||
|
- if( rWrt.m_bCfgOutStyles )
|
||||||
|
- OutCSS1_TableBGStyleOpt( rWrt, *pBrushItem );
|
||||||
|
+ if (!rWrt.m_bCfgOutStyles)
|
||||||
|
+ pBrushItem = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
- rWrt.OutCSS1_TableCellBorderHack(*pBox->GetFrameFormat());
|
||||||
|
+ // tdf#132739 with rWrt.m_bCfgOutStyles of true bundle the brush item css
|
||||||
|
+ // properties into the same "style" tag as the borders so there is only one
|
||||||
|
+ // style tag
|
||||||
|
+ rWrt.OutCSS1_TableCellBordersAndBG(*pBox->GetFrameFormat(), pBrushItem);
|
||||||
|
|
||||||
|
sal_uInt32 nNumFormat = 0;
|
||||||
|
double nValue = 0.0;
|
||||||
|
diff --git a/sw/source/filter/html/wrthtml.hxx b/sw/source/filter/html/wrthtml.hxx
|
||||||
|
index ab282ba652ff..f82325ee50ae 100644
|
||||||
|
--- a/sw/source/filter/html/wrthtml.hxx
|
||||||
|
+++ b/sw/source/filter/html/wrthtml.hxx
|
||||||
|
@@ -484,7 +484,7 @@ public:
|
||||||
|
void writeFrameFormatOptions(HtmlWriter& aHtml, const SwFrameFormat& rFrameFormat, const OUString& rAltText, HtmlFrmOpts nFrameOpts);
|
||||||
|
|
||||||
|
void OutCSS1_TableFrameFormatOptions( const SwFrameFormat& rFrameFormat );
|
||||||
|
- void OutCSS1_TableCellBorderHack(const SwFrameFormat& rFrameFormat);
|
||||||
|
+ void OutCSS1_TableCellBordersAndBG(const SwFrameFormat& rFrameFormat, const SvxBrushItem *pBrushItem);
|
||||||
|
void OutCSS1_SectionFormatOptions( const SwFrameFormat& rFrameFormat, const SwFormatCol *pCol );
|
||||||
|
void OutCSS1_FrameFormatOptions( const SwFrameFormat& rFrameFormat, HtmlFrmOpts nFrameOpts,
|
||||||
|
const SdrObject *pSdrObj=nullptr,
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
@ -1,123 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,63 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
340
SOURCES/0001-Restructure-solenv-bin-assemble-flatpak.sh.patch
Normal file
340
SOURCES/0001-Restructure-solenv-bin-assemble-flatpak.sh.patch
Normal file
@ -0,0 +1,340 @@
|
|||||||
|
From 54f42e1b75dd795f9d53dce181397f114eeae21b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stephan Bergmann <sbergman@redhat.com>
|
||||||
|
Date: Tue, 28 Apr 2020 16:43:31 +0200
|
||||||
|
Subject: [PATCH] Restructure solenv/bin/assemble-flatpak.sh
|
||||||
|
|
||||||
|
...so that parts of it can be reused by the Flatpak build done from Fedora RPMs
|
||||||
|
(see <https://src.fedoraproject.org/flatpaks/libreoffice>). The reused parts
|
||||||
|
are split out into solenv/bin/assemble-flatpak-*.sh files.
|
||||||
|
|
||||||
|
(I can't remember any specific reason why I added the <releases> section to the
|
||||||
|
Flathub org.libreoffice.LibreOffice.appdata.xml; maybe just because the file
|
||||||
|
format allows for it and it appeared easy to generate the section when writing
|
||||||
|
the file. For the Fedora LO RPMs, none of the existing appdata.xml files
|
||||||
|
contained such a section, and generating one for the Fedora Flatpak case would
|
||||||
|
require obtaining values for those LIBO_VERSION_* variables, so I just added a
|
||||||
|
switch to solenv/bin/assemble-flatpak-appdata-step1.sh allowing not to write
|
||||||
|
that section at all. Splitting solenv/bin/assemble-flatpak-appdata.sh in two
|
||||||
|
steps is necessary because the Fedora Flatpak case wants to replace the
|
||||||
|
screenshots in the first part of the generated
|
||||||
|
org.libreoffice.LibreOffice.appdata.xml, but not in the appended original
|
||||||
|
appdata.xml files, so needs to hook in between those two steps.)
|
||||||
|
|
||||||
|
Change-Id: Ic527f3d88ccbee85e86dad3569b8e73776adf273
|
||||||
|
---
|
||||||
|
solenv/bin/assemble-flatpak-appdata-step1.sh | 96 +++++++++++++++++
|
||||||
|
solenv/bin/assemble-flatpak-appdata-step2.sh | 26 +++++
|
||||||
|
solenv/bin/assemble-flatpak-desktop.sh | 42 ++++++++
|
||||||
|
solenv/bin/assemble-flatpak.sh | 102 +------------------
|
||||||
|
4 files changed, 169 insertions(+), 97 deletions(-)
|
||||||
|
create mode 100755 solenv/bin/assemble-flatpak-appdata-step1.sh
|
||||||
|
create mode 100755 solenv/bin/assemble-flatpak-appdata-step2.sh
|
||||||
|
create mode 100755 solenv/bin/assemble-flatpak-desktop.sh
|
||||||
|
|
||||||
|
diff --git a/solenv/bin/assemble-flatpak-appdata-step1.sh b/solenv/bin/assemble-flatpak-appdata-step1.sh
|
||||||
|
new file mode 100755
|
||||||
|
index 000000000000..4658dd45d018
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/solenv/bin/assemble-flatpak-appdata-step1.sh
|
||||||
|
@@ -0,0 +1,96 @@
|
||||||
|
+#! /bin/bash
|
||||||
|
+#
|
||||||
|
+# 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/.
|
||||||
|
+#
|
||||||
|
+
|
||||||
|
+# Part of solenv/bin/assemble-flatpak.sh that is shared with a downstream mechanism of building a
|
||||||
|
+# Flatpak from a Fedora libreoffice.spec file.
|
||||||
|
+#
|
||||||
|
+# Arguments:
|
||||||
|
+# $1 pathname, ending in a slash, of the directory into which to put the target
|
||||||
|
+# org.libreoffice.LibreOffice.appdata.xml file
|
||||||
|
+# $2 "1" if a <releases> section shall be included in the target
|
||||||
|
+# org.libreoffice.LibreOffice.appdata.xml file, "0" if not
|
||||||
|
+
|
||||||
|
+set -e
|
||||||
|
+
|
||||||
|
+## org.libreoffice.LibreOffice.appdata.xml is manually derived from the various
|
||||||
|
+## inst/share/appdata/libreoffice-*.appdata.xml (at least recent GNOME Software
|
||||||
|
+## doesn't show more than five screenshots anyway, so restrict to one each from
|
||||||
|
+## the five libreoffice-*.appdata.xml: Writer, Calc, Impress, Draw, Base):
|
||||||
|
+cat <<\EOF >"${1?}"org.libreoffice.LibreOffice.appdata.xml
|
||||||
|
+<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
+<component type="desktop">
|
||||||
|
+ <id>org.libreoffice.LibreOffice.desktop</id>
|
||||||
|
+ <metadata_license>CC0-1.0</metadata_license>
|
||||||
|
+ <project_license>MPL-2.0</project_license>
|
||||||
|
+ <name>LibreOffice</name>
|
||||||
|
+ <summary>The LibreOffice productivity suite</summary>
|
||||||
|
+ <description>
|
||||||
|
+ <p>LibreOffice is a powerful office suite. Its clean interface and
|
||||||
|
+ feature-rich tools help you unleash your creativity and enhance your
|
||||||
|
+ productivity. LibreOffice includes several applications that make it the most
|
||||||
|
+ powerful Free and Open Source office suite on the market: Writer (word
|
||||||
|
+ processing), Calc (spreadsheets), Impress (presentations), Draw (vector
|
||||||
|
+ graphics and flowcharts), Base (databases), and Math (formula editing).</p>
|
||||||
|
+ <p>LibreOffice supports opening and saving into a wide variety of formats, so
|
||||||
|
+ you can easily share documents with users of other popular office suites
|
||||||
|
+ without worrying about compatibility.</p>
|
||||||
|
+ </description>
|
||||||
|
+ <url type="homepage">http://www.libreoffice.org/discover/libreoffice/</url>
|
||||||
|
+ <url type="bugtracker">https://bugs.documentfoundation.org/</url>
|
||||||
|
+ <url type="donation">https://donate.libreoffice.org/</url>
|
||||||
|
+ <url type="faq">https://wiki.documentfoundation.org/Faq</url>
|
||||||
|
+ <url type="help">http://www.libreoffice.org/get-help/documentation/</url>
|
||||||
|
+ <url type="translate">https://wiki.documentfoundation.org/Translating_LibreOffice</url>
|
||||||
|
+ <screenshots>
|
||||||
|
+ <screenshot type="default">
|
||||||
|
+ <image>https://hub.libreoffice.org/screenshots/writer-01.png</image>
|
||||||
|
+ <caption><!-- Describe this screenshot in less than ~10 words --></caption>
|
||||||
|
+ </screenshot>
|
||||||
|
+ <screenshot>
|
||||||
|
+ <image>https://hub.libreoffice.org/screenshots/calc-02.png</image>
|
||||||
|
+ <caption><!-- Describe this screenshot in less than ~10 words --></caption>
|
||||||
|
+ </screenshot>
|
||||||
|
+ <screenshot>
|
||||||
|
+ <image>https://hub.libreoffice.org/screenshots/impress-01.png</image>
|
||||||
|
+ <caption><!-- Describe this screenshot in less than ~10 words --></caption>
|
||||||
|
+ </screenshot>
|
||||||
|
+ <screenshot>
|
||||||
|
+ <image>https://hub.libreoffice.org/screenshots/draw-02.png</image>
|
||||||
|
+ <caption><!-- Describe this screenshot in less than ~10 words --></caption>
|
||||||
|
+ </screenshot>
|
||||||
|
+ <screenshot>
|
||||||
|
+ <image>https://hub.libreoffice.org/screenshots/base-02.png</image>
|
||||||
|
+ <caption><!-- Describe this screenshot in less than ~10 words --></caption>
|
||||||
|
+ </screenshot>
|
||||||
|
+ </screenshots>
|
||||||
|
+ <developer_name>The Document Foundation</developer_name>
|
||||||
|
+ <update_contact>libreoffice_at_lists.freedesktop.org</update_contact>
|
||||||
|
+ <kudos>
|
||||||
|
+ <kudo>HiDpiIcon</kudo>
|
||||||
|
+ <kudo>HighContrast</kudo>
|
||||||
|
+ <kudo>ModernToolkit</kudo>
|
||||||
|
+ <kudo>UserDocs</kudo>
|
||||||
|
+ </kudos>
|
||||||
|
+ <content_rating type="oars-1.0"/>
|
||||||
|
+EOF
|
||||||
|
+
|
||||||
|
+if [ "${2?}" = 1 ]
|
||||||
|
+then
|
||||||
|
+ cat <<EOF >>"${1?}"org.libreoffice.LibreOffice.appdata.xml
|
||||||
|
+ <releases>
|
||||||
|
+ <release
|
||||||
|
+ version="${LIBO_VERSION_MAJOR?}.${LIBO_VERSION_MINOR?}.${LIBO_VERSION_MICRO?}.${LIBO_VERSION_PATCH?}"
|
||||||
|
+ date="$(date +%Y-%m-%d)"/>
|
||||||
|
+ </releases>
|
||||||
|
+EOF
|
||||||
|
+fi
|
||||||
|
+
|
||||||
|
+cat <<\EOF >>"${1?}"org.libreoffice.LibreOffice.appdata.xml
|
||||||
|
+</component>
|
||||||
|
+EOF
|
||||||
|
diff --git a/solenv/bin/assemble-flatpak-appdata-step2.sh b/solenv/bin/assemble-flatpak-appdata-step2.sh
|
||||||
|
new file mode 100755
|
||||||
|
index 000000000000..4f06e6b19148
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/solenv/bin/assemble-flatpak-appdata-step2.sh
|
||||||
|
@@ -0,0 +1,26 @@
|
||||||
|
+#! /bin/bash
|
||||||
|
+#
|
||||||
|
+# 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/.
|
||||||
|
+#
|
||||||
|
+
|
||||||
|
+# Part of solenv/bin/assemble-flatpak.sh that is shared with a downstream mechanism of building a
|
||||||
|
+# Flatpak from a Fedora libreoffice.spec file.
|
||||||
|
+#
|
||||||
|
+# Arguments:
|
||||||
|
+# $1 pathname, ending in a slash, of the directory containing the source libreoffice-*.appdata.xml
|
||||||
|
+# files
|
||||||
|
+# $2 pathname, ending in a slash, of the directory containing the target
|
||||||
|
+# org.libreoffice.LibreOffice.appdata.xml file
|
||||||
|
+
|
||||||
|
+set -e
|
||||||
|
+
|
||||||
|
+# append the appdata for the different components
|
||||||
|
+for i in "${1?}"libreoffice-*.appdata.xml
|
||||||
|
+do
|
||||||
|
+ sed "1 d; s/<id>libreoffice-/<id>org.libreoffice.LibreOffice./" "$i" \
|
||||||
|
+ >>"${2?}"org.libreoffice.LibreOffice.appdata.xml
|
||||||
|
+done
|
||||||
|
diff --git a/solenv/bin/assemble-flatpak-desktop.sh b/solenv/bin/assemble-flatpak-desktop.sh
|
||||||
|
new file mode 100755
|
||||||
|
index 000000000000..6d06de4fbbbe
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/solenv/bin/assemble-flatpak-desktop.sh
|
||||||
|
@@ -0,0 +1,42 @@
|
||||||
|
+#! /bin/bash
|
||||||
|
+#
|
||||||
|
+# 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/.
|
||||||
|
+#
|
||||||
|
+
|
||||||
|
+# Part of solenv/bin/assemble-flatpak.sh that is shared with a downstream mechanism of building a
|
||||||
|
+# Flatpak from a Fedora libreoffice.spec file.
|
||||||
|
+#
|
||||||
|
+# Arguments:
|
||||||
|
+# $1 pathname, ending in a slash, of the directory containing the source libreoffice-*.desktop
|
||||||
|
+# files
|
||||||
|
+# $2 pathname, ending in a slash, of the directory into which to put the target
|
||||||
|
+# org.libreoffice.LibreOffice.*.desktop files
|
||||||
|
+
|
||||||
|
+set -e
|
||||||
|
+
|
||||||
|
+## libreoffice-*.desktop -> org.libreoffice.LibreOffice.*.desktop:
|
||||||
|
+for i in "${1?}"libreoffice-*.desktop
|
||||||
|
+do
|
||||||
|
+ sed -e 's/^Icon=libreoffice-/Icon=org.libreoffice.LibreOffice./' "$i" \
|
||||||
|
+ >"${2?}"org.libreoffice.LibreOffice."${i#"${1?}"libreoffice-}"
|
||||||
|
+done
|
||||||
|
+mv "${2?}"org.libreoffice.LibreOffice.startcenter.desktop "${2?}"org.libreoffice.LibreOffice.desktop
|
||||||
|
+
|
||||||
|
+# Flatpak .desktop exports take precedence over system ones due to
|
||||||
|
+# the order of XDG_DATA_DIRS - re-associating text/plain seems a bit much
|
||||||
|
+sed -i "s/text\/plain;//" "${2?}"org.libreoffice.LibreOffice.writer.desktop
|
||||||
|
+
|
||||||
|
+desktop-file-edit --set-key=X-Endless-Alias --set-value=libreoffice-startcenter \
|
||||||
|
+ --set-key=X-Flatpak-RenamedFrom --set-value='libreoffice-startcenter.desktop;' \
|
||||||
|
+ "${2?}"org.libreoffice.LibreOffice.desktop
|
||||||
|
+for i in base calc draw impress math writer xsltfilter
|
||||||
|
+do
|
||||||
|
+ desktop-file-edit --set-key=X-Endless-Alias --set-value=libreoffice-"$i" \
|
||||||
|
+ --set-key=X-Flatpak-RenamedFrom \
|
||||||
|
+ --set-value="libreoffice-$i.desktop;org.libreoffice.LibreOffice-$i.desktop;" \
|
||||||
|
+ "${2?}"org.libreoffice.LibreOffice."$i".desktop
|
||||||
|
+done
|
||||||
|
diff --git a/solenv/bin/assemble-flatpak.sh b/solenv/bin/assemble-flatpak.sh
|
||||||
|
index 0738fcd59ad2..8ca5bcf08c41 100755
|
||||||
|
--- a/solenv/bin/assemble-flatpak.sh
|
||||||
|
+++ b/solenv/bin/assemble-flatpak.sh
|
||||||
|
@@ -16,30 +16,9 @@ set -e
|
||||||
|
cp -r "${PREFIXDIR?}"/lib/libreoffice /app/
|
||||||
|
ln -s /app/libreoffice/program/soffice /app/bin/libreoffice
|
||||||
|
|
||||||
|
-## libreoffice-*.desktop -> org.libreoffice.LibreOffice.*.desktop:
|
||||||
|
mkdir -p /app/share/applications
|
||||||
|
-for i in "${PREFIXDIR?}"/share/applications/libreoffice-*.desktop
|
||||||
|
-do
|
||||||
|
- sed -e 's/^Icon=libreoffice-/Icon=org.libreoffice.LibreOffice./' "$i" \
|
||||||
|
- >/app/share/applications/org.libreoffice.LibreOffice."${i#"${PREFIXDIR?}"/share/applications/libreoffice-}"
|
||||||
|
-done
|
||||||
|
-mv /app/share/applications/org.libreoffice.LibreOffice.startcenter.desktop \
|
||||||
|
- /app/share/applications/org.libreoffice.LibreOffice.desktop
|
||||||
|
-
|
||||||
|
-# Flatpak .desktop exports take precedence over system ones due to
|
||||||
|
-# the order of XDG_DATA_DIRS - re-associating text/plain seems a bit much
|
||||||
|
-sed -i "s/text\/plain;//" /app/share/applications/org.libreoffice.LibreOffice.writer.desktop
|
||||||
|
-
|
||||||
|
-desktop-file-edit --set-key=X-Endless-Alias --set-value=libreoffice-startcenter \
|
||||||
|
- --set-key=X-Flatpak-RenamedFrom --set-value='libreoffice-startcenter.desktop;' \
|
||||||
|
- /app/share/applications/org.libreoffice.LibreOffice.desktop
|
||||||
|
-for i in base calc draw impress math writer xsltfilter
|
||||||
|
-do
|
||||||
|
- desktop-file-edit --set-key=X-Endless-Alias --set-value=libreoffice-"$i" \
|
||||||
|
- --set-key=X-Flatpak-RenamedFrom \
|
||||||
|
- --set-value="libreoffice-$i.desktop;org.libreoffice.LibreOffice-$i.desktop;" \
|
||||||
|
- /app/share/applications/org.libreoffice.LibreOffice."$i".desktop
|
||||||
|
-done
|
||||||
|
+"${SRCDIR?}"/solenv/bin/assemble-flatpak-desktop.sh "${PREFIXDIR?}"/share/applications/ \
|
||||||
|
+ /app/share/applications/
|
||||||
|
|
||||||
|
## icons/hicolor/*/apps/libreoffice-* ->
|
||||||
|
## icons/hicolor/*/apps/org.libreoffice.LibreOffice-*:
|
||||||
|
@@ -82,81 +61,10 @@ do
|
||||||
|
ln -rs /app/share/runtime/locale/"${lang}"/registry/"${basename}".xcd "${i}"
|
||||||
|
done
|
||||||
|
|
||||||
|
-## org.libreoffice.LibreOffice.appdata.xml is manually derived from the various
|
||||||
|
-## inst/share/appdata/libreoffice-*.appdata.xml (at least recent GNOME Software
|
||||||
|
-## doesn't show more than five screenshots anyway, so restrict to one each from
|
||||||
|
-## the five libreoffice-*.appdata.xml: Writer, Calc, Impress, Draw, Base):
|
||||||
|
mkdir -p /app/share/appdata
|
||||||
|
-cat <<EOF >/app/share/appdata/org.libreoffice.LibreOffice.appdata.xml
|
||||||
|
-<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
-<component type="desktop">
|
||||||
|
- <id>org.libreoffice.LibreOffice.desktop</id>
|
||||||
|
- <metadata_license>CC0-1.0</metadata_license>
|
||||||
|
- <project_license>MPL-2.0</project_license>
|
||||||
|
- <name>LibreOffice</name>
|
||||||
|
- <summary>The LibreOffice productivity suite</summary>
|
||||||
|
- <description>
|
||||||
|
- <p>LibreOffice is a powerful office suite. Its clean interface and
|
||||||
|
- feature-rich tools help you unleash your creativity and enhance your
|
||||||
|
- productivity. LibreOffice includes several applications that make it the most
|
||||||
|
- powerful Free and Open Source office suite on the market: Writer (word
|
||||||
|
- processing), Calc (spreadsheets), Impress (presentations), Draw (vector
|
||||||
|
- graphics and flowcharts), Base (databases), and Math (formula editing).</p>
|
||||||
|
- <p>LibreOffice supports opening and saving into a wide variety of formats, so
|
||||||
|
- you can easily share documents with users of other popular office suites
|
||||||
|
- without worrying about compatibility.</p>
|
||||||
|
- </description>
|
||||||
|
- <url type="homepage">http://www.libreoffice.org/discover/libreoffice/</url>
|
||||||
|
- <url type="bugtracker">https://bugs.documentfoundation.org/</url>
|
||||||
|
- <url type="donation">https://donate.libreoffice.org/</url>
|
||||||
|
- <url type="faq">https://wiki.documentfoundation.org/Faq</url>
|
||||||
|
- <url type="help">http://www.libreoffice.org/get-help/documentation/</url>
|
||||||
|
- <url type="translate">https://wiki.documentfoundation.org/Translating_LibreOffice</url>
|
||||||
|
- <screenshots>
|
||||||
|
- <screenshot type="default">
|
||||||
|
- <image>https://hub.libreoffice.org/screenshots/writer-01.png</image>
|
||||||
|
- <caption><!-- Describe this screenshot in less than ~10 words --></caption>
|
||||||
|
- </screenshot>
|
||||||
|
- <screenshot>
|
||||||
|
- <image>https://hub.libreoffice.org/screenshots/calc-02.png</image>
|
||||||
|
- <caption><!-- Describe this screenshot in less than ~10 words --></caption>
|
||||||
|
- </screenshot>
|
||||||
|
- <screenshot>
|
||||||
|
- <image>https://hub.libreoffice.org/screenshots/impress-01.png</image>
|
||||||
|
- <caption><!-- Describe this screenshot in less than ~10 words --></caption>
|
||||||
|
- </screenshot>
|
||||||
|
- <screenshot>
|
||||||
|
- <image>https://hub.libreoffice.org/screenshots/draw-02.png</image>
|
||||||
|
- <caption><!-- Describe this screenshot in less than ~10 words --></caption>
|
||||||
|
- </screenshot>
|
||||||
|
- <screenshot>
|
||||||
|
- <image>https://hub.libreoffice.org/screenshots/base-02.png</image>
|
||||||
|
- <caption><!-- Describe this screenshot in less than ~10 words --></caption>
|
||||||
|
- </screenshot>
|
||||||
|
- </screenshots>
|
||||||
|
- <developer_name>The Document Foundation</developer_name>
|
||||||
|
- <update_contact>libreoffice_at_lists.freedesktop.org</update_contact>
|
||||||
|
- <kudos>
|
||||||
|
- <kudo>HiDpiIcon</kudo>
|
||||||
|
- <kudo>HighContrast</kudo>
|
||||||
|
- <kudo>ModernToolkit</kudo>
|
||||||
|
- <kudo>UserDocs</kudo>
|
||||||
|
- </kudos>
|
||||||
|
- <content_rating type="oars-1.0"/>
|
||||||
|
- <releases>
|
||||||
|
- <release
|
||||||
|
- version="${LIBO_VERSION_MAJOR?}.${LIBO_VERSION_MINOR?}.${LIBO_VERSION_MICRO?}.${LIBO_VERSION_PATCH?}"
|
||||||
|
- date="$(date +%Y-%m-%d)"/>
|
||||||
|
- </releases>
|
||||||
|
-</component>
|
||||||
|
-EOF
|
||||||
|
-
|
||||||
|
-# append the appdata for the different components
|
||||||
|
-for i in "${PREFIXDIR?}"/share/appdata/libreoffice-*.appdata.xml
|
||||||
|
-do
|
||||||
|
- sed "1 d; s/<id>libreoffice-/<id>org.libreoffice.LibreOffice./" "$i" \
|
||||||
|
- >>/app/share/appdata/org.libreoffice.LibreOffice.appdata.xml
|
||||||
|
-done
|
||||||
|
+"${SRCDIR?}"/solenv/bin/assemble-flatpak-appdata-step1.sh /app/share/appdata/ 1
|
||||||
|
+"${SRCDIR?}"/solenv/bin/assemble-flatpak-appdata-step2.sh "${PREFIXDIR?}"/share/appdata/ \
|
||||||
|
+ /app/share/appdata/
|
||||||
|
|
||||||
|
## see <https://github.com/flatpak/flatpak/blob/master/app/
|
||||||
|
## flatpak-builtins-build-finish.c> for further places where build-finish would
|
||||||
|
--
|
||||||
|
2.26.2
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,150 @@
|
|||||||
|
From d7ed56975a828eac321959e4510ee14560847b1f Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||||
|
Date: Wed, 28 Oct 2020 14:25:11 +0000
|
||||||
|
Subject: [PATCH] Revert "tdf#69060: lock refreshing font data when loading a
|
||||||
|
document"
|
||||||
|
|
||||||
|
This reverts commit 98d71c4e0847797a4ba9229a8e6d832a8a3d5e0f.
|
||||||
|
---
|
||||||
|
include/vcl/outdev.hxx | 3 ---
|
||||||
|
include/vcl/svapp.hxx | 11 -----------
|
||||||
|
sfx2/source/doc/objstor.cxx | 4 ----
|
||||||
|
vcl/inc/svdata.hxx | 3 ---
|
||||||
|
vcl/source/app/svapp.cxx | 5 -----
|
||||||
|
vcl/source/outdev/font.cxx | 32 +-------------------------------
|
||||||
|
6 files changed, 1 insertion(+), 57 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/include/vcl/outdev.hxx b/include/vcl/outdev.hxx
|
||||||
|
index cd3c84d13305..55b466b42464 100644
|
||||||
|
--- a/include/vcl/outdev.hxx
|
||||||
|
+++ b/include/vcl/outdev.hxx
|
||||||
|
@@ -1278,9 +1278,6 @@ public:
|
||||||
|
//If bNewFontLists is true then drop and refetch lists of system fonts
|
||||||
|
SAL_DLLPRIVATE static void ImplUpdateAllFontData( bool bNewFontLists );
|
||||||
|
|
||||||
|
- // Lock font updates for all output devices
|
||||||
|
- static void LockFontUpdates(bool bLock);
|
||||||
|
-
|
||||||
|
protected:
|
||||||
|
SAL_DLLPRIVATE const LogicalFontInstance* GetFontInstance() const;
|
||||||
|
SAL_DLLPRIVATE long GetEmphasisAscent() const { return mnEmphasisAscent; }
|
||||||
|
diff --git a/include/vcl/svapp.hxx b/include/vcl/svapp.hxx
|
||||||
|
index 16b8015b923a..4f7b9d6def31 100644
|
||||||
|
--- a/include/vcl/svapp.hxx
|
||||||
|
+++ b/include/vcl/svapp.hxx
|
||||||
|
@@ -1326,17 +1326,6 @@ public:
|
||||||
|
|
||||||
|
///@}
|
||||||
|
|
||||||
|
- /** Lock font updates for all output devices
|
||||||
|
-
|
||||||
|
- @remark When performing operations that might involve multiple registration of fonts, such as
|
||||||
|
- opening/closing documents with multiple embedded fonts, then each font addition/removal
|
||||||
|
- might cause an event that initiates a rebuild of each OutputDevice's font lists.
|
||||||
|
-
|
||||||
|
- Locking font updates disables processing such events, and unlocking causes a single such
|
||||||
|
- processing for all OutputDevices.
|
||||||
|
- */
|
||||||
|
- static void LockFontUpdates(bool bLock);
|
||||||
|
-
|
||||||
|
// For vclbootstrapprotector:
|
||||||
|
static void setDeInitHook(Link<LinkParamNone*,void> const & hook);
|
||||||
|
|
||||||
|
diff --git a/sfx2/source/doc/objstor.cxx b/sfx2/source/doc/objstor.cxx
|
||||||
|
index 6d7b3f99ee69..ac9f4242a1bc 100644
|
||||||
|
--- a/sfx2/source/doc/objstor.cxx
|
||||||
|
+++ b/sfx2/source/doc/objstor.cxx
|
||||||
|
@@ -582,10 +582,6 @@ bool SfxObjectShell::ImportFromGeneratedStream_Impl(
|
||||||
|
bool SfxObjectShell::DoLoad( SfxMedium *pMed )
|
||||||
|
{
|
||||||
|
ModifyBlocker_Impl aBlock( this );
|
||||||
|
- struct FontLockGuard {
|
||||||
|
- FontLockGuard() { Application::LockFontUpdates(true); }
|
||||||
|
- ~FontLockGuard() { Application::LockFontUpdates(false); }
|
||||||
|
- } aFontLockGuard;
|
||||||
|
|
||||||
|
pMedium = pMed;
|
||||||
|
pMedium->CanDisposeStorage_Impl( true );
|
||||||
|
diff --git a/vcl/inc/svdata.hxx b/vcl/inc/svdata.hxx
|
||||||
|
index e41ec23488b3..dc10f3102ede 100644
|
||||||
|
--- a/vcl/inc/svdata.hxx
|
||||||
|
+++ b/vcl/inc/svdata.hxx
|
||||||
|
@@ -338,9 +338,6 @@ struct ImplSVData
|
||||||
|
VclPtr<WorkWindow> mpDefaultWin; // Default-Window
|
||||||
|
bool mbDeInit = false; // Is VCL deinitializing
|
||||||
|
std::unique_ptr<SalSystem> mpSalSystem; // SalSystem interface
|
||||||
|
- int mnFontUpdatesLockCount = 0; // avoid repeated font updates
|
||||||
|
- bool mbFontUpdatesPending = false; // need to update font data after unlock
|
||||||
|
- bool mbFontUpdatesNewLists = false; // generate new font lists
|
||||||
|
bool mbResLocaleSet = false; // SV-Resource-Manager
|
||||||
|
std::locale maResLocale; // Resource locale
|
||||||
|
ImplSchedulerContext maSchedCtx; // indepen data for class Scheduler
|
||||||
|
diff --git a/vcl/source/app/svapp.cxx b/vcl/source/app/svapp.cxx
|
||||||
|
index c4c3be9699e3..de4eac9687fc 100644
|
||||||
|
--- a/vcl/source/app/svapp.cxx
|
||||||
|
+++ b/vcl/source/app/svapp.cxx
|
||||||
|
@@ -1036,11 +1036,6 @@ void Application::RemoveUserEvent( ImplSVEvent * nUserEvent )
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-void Application::LockFontUpdates(bool bLock)
|
||||||
|
-{
|
||||||
|
- OutputDevice::LockFontUpdates(bLock);
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
WorkWindow* Application::GetAppWindow()
|
||||||
|
{
|
||||||
|
return ImplGetSVData()->maWinData.mpAppWin;
|
||||||
|
diff --git a/vcl/source/outdev/font.cxx b/vcl/source/outdev/font.cxx
|
||||||
|
index 22c61063bd21..e1fd7d107e63 100644
|
||||||
|
--- a/vcl/source/outdev/font.cxx
|
||||||
|
+++ b/vcl/source/outdev/font.cxx
|
||||||
|
@@ -559,16 +559,7 @@ void OutputDevice::ImplClearAllFontData(bool bNewFontLists)
|
||||||
|
|
||||||
|
void OutputDevice::ImplRefreshAllFontData(bool bNewFontLists)
|
||||||
|
{
|
||||||
|
- auto svdata = ImplGetSVData();
|
||||||
|
- DBG_TESTSOLARMUTEX();
|
||||||
|
- if (!svdata->mnFontUpdatesLockCount)
|
||||||
|
- ImplUpdateFontDataForAllFrames(&OutputDevice::ImplRefreshFontData, bNewFontLists);
|
||||||
|
- else
|
||||||
|
- {
|
||||||
|
- svdata->mbFontUpdatesPending = true;
|
||||||
|
- if (bNewFontLists)
|
||||||
|
- svdata->mbFontUpdatesNewLists = true;
|
||||||
|
- }
|
||||||
|
+ ImplUpdateFontDataForAllFrames( &OutputDevice::ImplRefreshFontData, bNewFontLists );
|
||||||
|
}
|
||||||
|
|
||||||
|
void OutputDevice::ImplUpdateAllFontData(bool bNewFontLists)
|
||||||
|
@@ -614,27 +605,6 @@ void OutputDevice::ImplUpdateFontDataForAllFrames( const FontUpdateHandler_t pHd
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-void OutputDevice::LockFontUpdates(bool bLock)
|
||||||
|
-{
|
||||||
|
- auto svdata = ImplGetSVData();
|
||||||
|
- DBG_TESTSOLARMUTEX();
|
||||||
|
- if (bLock)
|
||||||
|
- {
|
||||||
|
- ++svdata->mnFontUpdatesLockCount;
|
||||||
|
- }
|
||||||
|
- else if (svdata->mnFontUpdatesLockCount > 0)
|
||||||
|
- {
|
||||||
|
- --svdata->mnFontUpdatesLockCount;
|
||||||
|
- if (!svdata->mnFontUpdatesLockCount && svdata->mbFontUpdatesPending)
|
||||||
|
- {
|
||||||
|
- ImplRefreshAllFontData(svdata->mbFontUpdatesNewLists);
|
||||||
|
-
|
||||||
|
- svdata->mbFontUpdatesPending = false;
|
||||||
|
- svdata->mbFontUpdatesNewLists = false;
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
void OutputDevice::BeginFontSubstitution()
|
||||||
|
{
|
||||||
|
ImplSVData* pSVData = ImplGetSVData();
|
||||||
|
--
|
||||||
|
2.26.2
|
||||||
|
|
@ -1,39 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,32 +0,0 @@
|
|||||||
From 57b58d4fb85579a9aacbd6b2d7e389cce46f5fbc Mon Sep 17 00:00:00 2001
|
|
||||||
From: Stephan Bergmann <sbergman@redhat.com>
|
|
||||||
Date: Mon, 9 May 2022 16:17:15 +0200
|
|
||||||
Subject: [PATCH] URE Library_boostrap should not depend on Library_comphelper
|
|
||||||
|
|
||||||
...and apparently doesn't need to, even though that dependency got added with
|
|
||||||
6ffdc88e79904882e319bdd0b901e7491abae0b3 "Simplify Sequence iterations in
|
|
||||||
shell..svgio"
|
|
||||||
|
|
||||||
Change-Id: I7cb67dc48d11e426d5d5f7912eca13e25a32dbc5
|
|
||||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134079
|
|
||||||
Tested-by: Jenkins
|
|
||||||
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
||||||
---
|
|
||||||
stoc/Library_bootstrap.mk | 1 -
|
|
||||||
1 file changed, 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/stoc/Library_bootstrap.mk b/stoc/Library_bootstrap.mk
|
|
||||||
index ca1f49618bb8..62e2360581db 100644
|
|
||||||
--- a/stoc/Library_bootstrap.mk
|
|
||||||
+++ b/stoc/Library_bootstrap.mk
|
|
||||||
@@ -26,7 +26,6 @@ $(eval $(call gb_Library_use_internal_bootstrap_api,bootstrap,\
|
|
||||||
))
|
|
||||||
|
|
||||||
$(eval $(call gb_Library_use_libraries,bootstrap,\
|
|
||||||
- comphelper \
|
|
||||||
cppu \
|
|
||||||
cppuhelper \
|
|
||||||
reg \
|
|
||||||
--
|
|
||||||
2.40.1
|
|
||||||
|
|
@ -1,143 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
259
SOURCES/0001-backports-to-ease-CVE-backporting.patch
Normal file
259
SOURCES/0001-backports-to-ease-CVE-backporting.patch
Normal file
@ -0,0 +1,259 @@
|
|||||||
|
From c2cf13da3bbf756ef3f78251c40d45fc23c27f36 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
|
||||||
|
Date: Wed, 29 Apr 2020 07:42:24 +0200
|
||||||
|
Subject: [PATCH 1/6] backports to ease CVE backporting
|
||||||
|
|
||||||
|
Remove unnecessary if block
|
||||||
|
|
||||||
|
And format code inside
|
||||||
|
|
||||||
|
Change-Id: Ied0d98935134bf6f7bc8c929645ad5faac9affa3
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93116
|
||||||
|
Tested-by: Jenkins
|
||||||
|
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
|
||||||
|
(cherry picked from commit cf36fe5eb41910c26d58fb25e54ccf2e0ee01365)
|
||||||
|
|
||||||
|
space out the namespace constant values
|
||||||
|
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88938
|
||||||
|
(cherry picked from commit 5352d45dd4a04f8f02cf7f6ad4169126d3b3586a)
|
||||||
|
|
||||||
|
Change-Id: I30f54bfc1389e91b18e4fee8b83e1b297419899b
|
||||||
|
---
|
||||||
|
include/xmloff/xmlnmspe.hxx | 16 +--
|
||||||
|
.../component/documentdigitalsignatures.cxx | 130 +++++++++---------
|
||||||
|
.../source/helper/xmlsignaturehelper.cxx | 1 +
|
||||||
|
3 files changed, 75 insertions(+), 72 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/include/xmloff/xmlnmspe.hxx b/include/xmloff/xmlnmspe.hxx
|
||||||
|
index a00628b6b999..b079053c38d3 100644
|
||||||
|
--- a/include/xmloff/xmlnmspe.hxx
|
||||||
|
+++ b/include/xmloff/xmlnmspe.hxx
|
||||||
|
@@ -69,7 +69,7 @@ XML_NAMESPACE( XML_NAMESPACE_VERSIONS_LIST, 37U )
|
||||||
|
|
||||||
|
// namespaces for odf extended formats
|
||||||
|
|
||||||
|
-#define XML_NAMESPACE_EXT_BASE 38U
|
||||||
|
+#define XML_NAMESPACE_EXT_BASE 50U
|
||||||
|
#define XML_NAMESPACE_EXT( prefix, index ) \
|
||||||
|
const sal_uInt16 prefix = (XML_NAMESPACE_EXT_BASE+index);
|
||||||
|
|
||||||
|
@@ -82,7 +82,7 @@ XML_NAMESPACE_EXT( XML_NAMESPACE_LO_EXT, 5U )
|
||||||
|
|
||||||
|
// namespaces for OOo formats
|
||||||
|
|
||||||
|
-#define XML_NAMESPACE_OOO_BASE 44U
|
||||||
|
+#define XML_NAMESPACE_OOO_BASE 60U
|
||||||
|
#define XML_NAMESPACE_OOO( prefix, index ) \
|
||||||
|
const sal_uInt16 prefix = (XML_NAMESPACE_OOO_BASE+index);
|
||||||
|
|
||||||
|
@@ -100,7 +100,7 @@ XML_NAMESPACE_OOO( XML_NAMESPACE_CONFIG_OOO, 10U )
|
||||||
|
XML_NAMESPACE_OOO( XML_NAMESPACE_FORM_OOO, 11U )
|
||||||
|
XML_NAMESPACE_OOO( XML_NAMESPACE_SCRIPT_OOO, 12U )
|
||||||
|
|
||||||
|
-#define XML_NAMESPACE_COMPAT_BASE 57U
|
||||||
|
+#define XML_NAMESPACE_COMPAT_BASE 80U
|
||||||
|
#define XML_NAMESPACE_COMPAT( prefix, index ) \
|
||||||
|
const sal_uInt16 prefix = (XML_NAMESPACE_COMPAT_BASE+index);
|
||||||
|
|
||||||
|
@@ -108,14 +108,14 @@ XML_NAMESPACE_COMPAT( XML_NAMESPACE_SVG_COMPAT, 0U )
|
||||||
|
XML_NAMESPACE_COMPAT( XML_NAMESPACE_FO_COMPAT, 1U )
|
||||||
|
XML_NAMESPACE_COMPAT( XML_NAMESPACE_SMIL_COMPAT, 2U )
|
||||||
|
|
||||||
|
-#define XML_NAMESPACE_OASIS_BASE 60U
|
||||||
|
+#define XML_NAMESPACE_OASIS_BASE 90U
|
||||||
|
#define XML_NAMESPACE_OASIS( prefix, index ) \
|
||||||
|
const sal_uInt16 prefix = (XML_NAMESPACE_OASIS_BASE+index);
|
||||||
|
|
||||||
|
XML_NAMESPACE_OASIS( XML_NAMESPACE_DB_OASIS, 0U )
|
||||||
|
XML_NAMESPACE_OASIS( XML_NAMESPACE_REPORT_OASIS, 1U )
|
||||||
|
|
||||||
|
-#define XML_OLD_NAMESPACE_BASE 62U
|
||||||
|
+#define XML_OLD_NAMESPACE_BASE 100U
|
||||||
|
#define XML_OLD_NAMESPACE( prefix, index ) \
|
||||||
|
const sal_uInt16 prefix = (XML_OLD_NAMESPACE_BASE+index);
|
||||||
|
|
||||||
|
@@ -134,9 +134,9 @@ XML_OLD_NAMESPACE( XML_OLD_NAMESPACE_CHART, 10U )
|
||||||
|
XML_OLD_NAMESPACE( XML_OLD_NAMESPACE_SMIL, 11U )
|
||||||
|
|
||||||
|
// experimental namespaces
|
||||||
|
-XML_NAMESPACE( XML_NAMESPACE_FIELD, 100U )
|
||||||
|
-XML_NAMESPACE( XML_NAMESPACE_CSS3TEXT, 103U ) // CSS Text Level 3
|
||||||
|
-XML_NAMESPACE( XML_NAMESPACE_FORMX, 101U ) // form interop extensions
|
||||||
|
+XML_NAMESPACE( XML_NAMESPACE_FIELD, 120U )
|
||||||
|
+XML_NAMESPACE( XML_NAMESPACE_CSS3TEXT, 123U ) // CSS Text Level 3
|
||||||
|
+XML_NAMESPACE( XML_NAMESPACE_FORMX, 121U ) // form interop extensions
|
||||||
|
|
||||||
|
|
||||||
|
#endif // INCLUDED_XMLOFF_XMLNMSPE_HXX
|
||||||
|
diff --git a/xmlsecurity/source/component/documentdigitalsignatures.cxx b/xmlsecurity/source/component/documentdigitalsignatures.cxx
|
||||||
|
index dcfaad0af773..52cb938a8e0a 100644
|
||||||
|
--- a/xmlsecurity/source/component/documentdigitalsignatures.cxx
|
||||||
|
+++ b/xmlsecurity/source/component/documentdigitalsignatures.cxx
|
||||||
|
@@ -500,85 +500,87 @@ DocumentDigitalSignatures::ImplVerifySignatures(
|
||||||
|
Sequence< css::security::DocumentSignatureInformation > aInfos(nInfos);
|
||||||
|
css::security::DocumentSignatureInformation* arInfos = aInfos.getArray();
|
||||||
|
|
||||||
|
- if ( nInfos )
|
||||||
|
+ for (int n = 0; n < nInfos; ++n)
|
||||||
|
{
|
||||||
|
- for( int n = 0; n < nInfos; ++n )
|
||||||
|
- {
|
||||||
|
- DocumentSignatureAlgorithm mode = DocumentSignatureHelper::getDocumentAlgorithm(
|
||||||
|
- m_sODFVersion, aSignInfos[n]);
|
||||||
|
- const std::vector< OUString > aElementsToBeVerified =
|
||||||
|
- DocumentSignatureHelper::CreateElementList(
|
||||||
|
- rxStorage, eMode, mode);
|
||||||
|
+ DocumentSignatureAlgorithm mode
|
||||||
|
+ = DocumentSignatureHelper::getDocumentAlgorithm(m_sODFVersion, aSignInfos[n]);
|
||||||
|
+ const std::vector<OUString> aElementsToBeVerified
|
||||||
|
+ = DocumentSignatureHelper::CreateElementList(rxStorage, eMode, mode);
|
||||||
|
|
||||||
|
- const SignatureInformation& rInfo = aSignInfos[n];
|
||||||
|
- css::security::DocumentSignatureInformation& rSigInfo = arInfos[n];
|
||||||
|
+ const SignatureInformation& rInfo = aSignInfos[n];
|
||||||
|
+ css::security::DocumentSignatureInformation& rSigInfo = arInfos[n];
|
||||||
|
|
||||||
|
- if (rInfo.ouGpgCertificate.isEmpty()) // X.509
|
||||||
|
+ if (rInfo.ouGpgCertificate.isEmpty()) // X.509
|
||||||
|
+ {
|
||||||
|
+ if (!rInfo.ouX509Certificate.isEmpty())
|
||||||
|
+ rSigInfo.Signer = xSecEnv->createCertificateFromAscii(rInfo.ouX509Certificate);
|
||||||
|
+ if (!rSigInfo.Signer.is())
|
||||||
|
+ rSigInfo.Signer = xSecEnv->getCertificate(
|
||||||
|
+ rInfo.ouX509IssuerName,
|
||||||
|
+ xmlsecurity::numericStringToBigInteger(rInfo.ouX509SerialNumber));
|
||||||
|
+
|
||||||
|
+ // On Windows checking the certificate path is buggy. It does name matching (issuer, subject name)
|
||||||
|
+ // to find the parent certificate. It does not take into account that there can be several certificates
|
||||||
|
+ // with the same subject name.
|
||||||
|
+ try
|
||||||
|
{
|
||||||
|
- if (!rInfo.ouX509Certificate.isEmpty())
|
||||||
|
- rSigInfo.Signer = xSecEnv->createCertificateFromAscii( rInfo.ouX509Certificate ) ;
|
||||||
|
- if (!rSigInfo.Signer.is())
|
||||||
|
- rSigInfo.Signer = xSecEnv->getCertificate( rInfo.ouX509IssuerName,
|
||||||
|
- xmlsecurity::numericStringToBigInteger( rInfo.ouX509SerialNumber ) );
|
||||||
|
-
|
||||||
|
- // On Windows checking the certificate path is buggy. It does name matching (issuer, subject name)
|
||||||
|
- // to find the parent certificate. It does not take into account that there can be several certificates
|
||||||
|
- // with the same subject name.
|
||||||
|
-
|
||||||
|
- try {
|
||||||
|
- rSigInfo.CertificateStatus = xSecEnv->verifyCertificate(rSigInfo.Signer,
|
||||||
|
- Sequence<Reference<css::security::XCertificate> >());
|
||||||
|
- } catch (SecurityException& ) {
|
||||||
|
- OSL_FAIL("Verification of certificate failed");
|
||||||
|
- rSigInfo.CertificateStatus = css::security::CertificateValidity::INVALID;
|
||||||
|
- }
|
||||||
|
+ rSigInfo.CertificateStatus = xSecEnv->verifyCertificate(
|
||||||
|
+ rSigInfo.Signer, Sequence<Reference<css::security::XCertificate>>());
|
||||||
|
}
|
||||||
|
- else if (xGpgSecEnv.is()) // GPG
|
||||||
|
+ catch (SecurityException&)
|
||||||
|
{
|
||||||
|
- // TODO not ideal to retrieve cert by keyID, might
|
||||||
|
- // collide, or PGPKeyID format might change - can't we
|
||||||
|
- // keep the xCert itself in rInfo?
|
||||||
|
- rSigInfo.Signer = xGpgSecEnv->getCertificate( rInfo.ouGpgKeyID, xmlsecurity::numericStringToBigInteger("") );
|
||||||
|
- rSigInfo.CertificateStatus = xGpgSecEnv->verifyCertificate(rSigInfo.Signer,
|
||||||
|
- Sequence<Reference<css::security::XCertificate> >());
|
||||||
|
+ OSL_FAIL("Verification of certificate failed");
|
||||||
|
+ rSigInfo.CertificateStatus = css::security::CertificateValidity::INVALID;
|
||||||
|
}
|
||||||
|
+ }
|
||||||
|
+ else if (xGpgSecEnv.is()) // GPG
|
||||||
|
+ {
|
||||||
|
+ // TODO not ideal to retrieve cert by keyID, might
|
||||||
|
+ // collide, or PGPKeyID format might change - can't we
|
||||||
|
+ // keep the xCert itself in rInfo?
|
||||||
|
+ rSigInfo.Signer = xGpgSecEnv->getCertificate(
|
||||||
|
+ rInfo.ouGpgKeyID, xmlsecurity::numericStringToBigInteger(""));
|
||||||
|
+ rSigInfo.CertificateStatus = xGpgSecEnv->verifyCertificate(
|
||||||
|
+ rSigInfo.Signer, Sequence<Reference<css::security::XCertificate>>());
|
||||||
|
+ }
|
||||||
|
|
||||||
|
- // Time support again (#i38744#)
|
||||||
|
- Date aDate( rInfo.stDateTime.Day, rInfo.stDateTime.Month, rInfo.stDateTime.Year );
|
||||||
|
- tools::Time aTime( rInfo.stDateTime.Hours, rInfo.stDateTime.Minutes,
|
||||||
|
- rInfo.stDateTime.Seconds, rInfo.stDateTime.NanoSeconds );
|
||||||
|
- rSigInfo.SignatureDate = aDate.GetDate();
|
||||||
|
- rSigInfo.SignatureTime = aTime.GetTime() / tools::Time::nanoPerCenti;
|
||||||
|
+ // Time support again (#i38744#)
|
||||||
|
+ Date aDate(rInfo.stDateTime.Day, rInfo.stDateTime.Month, rInfo.stDateTime.Year);
|
||||||
|
+ tools::Time aTime(rInfo.stDateTime.Hours, rInfo.stDateTime.Minutes,
|
||||||
|
+ rInfo.stDateTime.Seconds, rInfo.stDateTime.NanoSeconds);
|
||||||
|
+ rSigInfo.SignatureDate = aDate.GetDate();
|
||||||
|
+ rSigInfo.SignatureTime = aTime.GetTime() / tools::Time::nanoPerCenti;
|
||||||
|
|
||||||
|
- rSigInfo.SignatureIsValid = ( rInfo.nStatus == css::xml::crypto::SecurityOperationStatus_OPERATION_SUCCEEDED );
|
||||||
|
+ rSigInfo.SignatureIsValid
|
||||||
|
+ = (rInfo.nStatus == css::xml::crypto::SecurityOperationStatus_OPERATION_SUCCEEDED);
|
||||||
|
|
||||||
|
- // Signature line info (ID + Images)
|
||||||
|
- if (!rInfo.ouSignatureLineId.isEmpty())
|
||||||
|
- rSigInfo.SignatureLineId = rInfo.ouSignatureLineId;
|
||||||
|
+ // Signature line info (ID + Images)
|
||||||
|
+ if (!rInfo.ouSignatureLineId.isEmpty())
|
||||||
|
+ rSigInfo.SignatureLineId = rInfo.ouSignatureLineId;
|
||||||
|
|
||||||
|
- if (rInfo.aValidSignatureImage.is())
|
||||||
|
- rSigInfo.ValidSignatureLineImage = rInfo.aValidSignatureImage;
|
||||||
|
+ if (rInfo.aValidSignatureImage.is())
|
||||||
|
+ rSigInfo.ValidSignatureLineImage = rInfo.aValidSignatureImage;
|
||||||
|
|
||||||
|
- if (rInfo.aInvalidSignatureImage.is())
|
||||||
|
- rSigInfo.InvalidSignatureLineImage = rInfo.aInvalidSignatureImage;
|
||||||
|
-
|
||||||
|
- // OOXML intentionally doesn't sign metadata.
|
||||||
|
- if ( rSigInfo.SignatureIsValid && aStreamHelper.nStorageFormat != embed::StorageFormats::OFOPXML)
|
||||||
|
- {
|
||||||
|
- rSigInfo.SignatureIsValid =
|
||||||
|
- DocumentSignatureHelper::checkIfAllFilesAreSigned(
|
||||||
|
- aElementsToBeVerified, rInfo, mode);
|
||||||
|
- }
|
||||||
|
- if (eMode == DocumentSignatureMode::Content)
|
||||||
|
- {
|
||||||
|
- if (aStreamHelper.nStorageFormat == embed::StorageFormats::OFOPXML)
|
||||||
|
- rSigInfo.PartialDocumentSignature = true;
|
||||||
|
- else
|
||||||
|
- rSigInfo.PartialDocumentSignature = !DocumentSignatureHelper::isOOo3_2_Signature(aSignInfos[n]);
|
||||||
|
- }
|
||||||
|
+ if (rInfo.aInvalidSignatureImage.is())
|
||||||
|
+ rSigInfo.InvalidSignatureLineImage = rInfo.aInvalidSignatureImage;
|
||||||
|
|
||||||
|
+ // OOXML intentionally doesn't sign metadata.
|
||||||
|
+ if (rSigInfo.SignatureIsValid
|
||||||
|
+ && aStreamHelper.nStorageFormat != embed::StorageFormats::OFOPXML)
|
||||||
|
+ {
|
||||||
|
+ rSigInfo.SignatureIsValid = DocumentSignatureHelper::checkIfAllFilesAreSigned(
|
||||||
|
+ aElementsToBeVerified, rInfo, mode);
|
||||||
|
+ }
|
||||||
|
+ if (eMode == DocumentSignatureMode::Content)
|
||||||
|
+ {
|
||||||
|
+ if (aStreamHelper.nStorageFormat == embed::StorageFormats::OFOPXML)
|
||||||
|
+ rSigInfo.PartialDocumentSignature = true;
|
||||||
|
+ else
|
||||||
|
+ rSigInfo.PartialDocumentSignature
|
||||||
|
+ = !DocumentSignatureHelper::isOOo3_2_Signature(aSignInfos[n]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+
|
||||||
|
return aInfos;
|
||||||
|
|
||||||
|
}
|
||||||
|
diff --git a/xmlsecurity/source/helper/xmlsignaturehelper.cxx b/xmlsecurity/source/helper/xmlsignaturehelper.cxx
|
||||||
|
index 6ec834053a17..22c056e70da1 100644
|
||||||
|
--- a/xmlsecurity/source/helper/xmlsignaturehelper.cxx
|
||||||
|
+++ b/xmlsecurity/source/helper/xmlsignaturehelper.cxx
|
||||||
|
@@ -402,6 +402,7 @@ bool XMLSignatureHelper::ReadAndVerifySignatureStorageStream(const css::uno::Ref
|
||||||
|
catch(const uno::Exception&)
|
||||||
|
{
|
||||||
|
DBG_UNHANDLED_EXCEPTION("xmlsecurity.helper");
|
||||||
|
+ mbError = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
mpXSecController->releaseSignatureReader();
|
||||||
|
--
|
||||||
|
2.32.0
|
||||||
|
|
@ -1,24 +1,23 @@
|
|||||||
From 4cac125f90e0a3d6828d879cb06f3a4bac14321b Mon Sep 17 00:00:00 2001
|
From 702a1ad668167a7a8efdd694c820b710a765bb53 Mon Sep 17 00:00:00 2001
|
||||||
From: David Tardon <dtardon@redhat.com>
|
From: David Tardon <dtardon@redhat.com>
|
||||||
Date: Thu, 21 Aug 2014 16:10:51 +0200
|
Date: Thu, 21 Aug 2014 16:10:51 +0200
|
||||||
Subject: [PATCH] disable libe-book support
|
Subject: [PATCH] disable libe-book support
|
||||||
|
|
||||||
Change-Id: Ie915a9bd2acf7f3aeb8b0933252da33c17043bc4
|
Change-Id: Ie915a9bd2acf7f3aeb8b0933252da33c17043bc4
|
||||||
---
|
---
|
||||||
configure.ac | 3 ---
|
|
||||||
external/Module_external.mk | 1 -
|
external/Module_external.mk | 1 -
|
||||||
filter/Configuration_filter.mk | 8 --------
|
filter/Configuration_filter.mk | 8 --------
|
||||||
writerperfect/Library_wpftwriter.mk | 2 --
|
writerperfect/Library_wpftwriter.mk | 2 --
|
||||||
writerperfect/qa/unit/WpftFilterFixture.hxx | 4 ----
|
writerperfect/qa/unit/WpftFilterFixture.hxx | 4 ----
|
||||||
writerperfect/qa/unit/WpftWriterFilterTest.cxx | 5 -----
|
writerperfect/qa/unit/WpftWriterFilterTest.cxx | 5 -----
|
||||||
writerperfect/source/writer/wpftwriter.component | 5 -----
|
writerperfect/source/writer/wpftwriter.component | 5 -----
|
||||||
7 files changed, 28 deletions(-)
|
6 files changed, 25 deletions(-)
|
||||||
|
|
||||||
diff --git a/configure.ac b/configure.ac
|
diff --git a/configure.ac b/configure.ac
|
||||||
index fe425319b8f8..4b8f6a95472c 100644
|
index ac8dbc5..bb08d21 100644
|
||||||
--- a/configure.ac
|
--- a/configure.ac
|
||||||
+++ b/configure.ac
|
+++ b/configure.ac
|
||||||
@@ -8566,9 +8566,6 @@ libo_PKG_VERSION([ETONYEK], [libetonyek-0.1], [0.1.8])
|
@@ -7696,9 +7696,6 @@ libo_PKG_VERSION([ETONYEK], [libetonyek-0.1], [0.1.5])
|
||||||
|
|
||||||
libo_CHECK_SYSTEM_MODULE([libfreehand],[FREEHAND],[libfreehand-0.1])
|
libo_CHECK_SYSTEM_MODULE([libfreehand],[FREEHAND],[libfreehand-0.1])
|
||||||
|
|
||||||
@ -29,22 +28,22 @@ index fe425319b8f8..4b8f6a95472c 100644
|
|||||||
|
|
||||||
libo_CHECK_SYSTEM_MODULE([libpagemaker],[PAGEMAKER],[libpagemaker-0.0])
|
libo_CHECK_SYSTEM_MODULE([libpagemaker],[PAGEMAKER],[libpagemaker-0.0])
|
||||||
diff --git a/external/Module_external.mk b/external/Module_external.mk
|
diff --git a/external/Module_external.mk b/external/Module_external.mk
|
||||||
index 41e018d2ef3f..1b7627a1b3e2 100644
|
index baf7215..397ad68 100644
|
||||||
--- a/external/Module_external.mk
|
--- a/external/Module_external.mk
|
||||||
+++ b/external/Module_external.mk
|
+++ b/external/Module_external.mk
|
||||||
@@ -33,7 +33,6 @@ $(eval $(call gb_Module_add_moduledirs,external,\
|
@@ -31,7 +31,6 @@ $(eval $(call gb_Module_add_moduledirs,external,\
|
||||||
|
$(call gb_Helper_optional,CPPUNIT,cppunit) \
|
||||||
$(call gb_Helper_optional,CT2N,ct2n) \
|
$(call gb_Helper_optional,CT2N,ct2n) \
|
||||||
$(call gb_Helper_optional,CURL,curl) \
|
$(call gb_Helper_optional,CURL,curl) \
|
||||||
dtoa \
|
|
||||||
- $(call gb_Helper_optional,EBOOK,libebook) \
|
- $(call gb_Helper_optional,EBOOK,libebook) \
|
||||||
$(call gb_Helper_optional,EPM,epm) \
|
$(call gb_Helper_optional,EPM,epm) \
|
||||||
$(call gb_Helper_optional,EPOXY,epoxy) \
|
$(call gb_Helper_optional,EPOXY,epoxy) \
|
||||||
$(call gb_Helper_optional,EPUBGEN,libepubgen) \
|
$(call gb_Helper_optional,EPUBGEN,libepubgen) \
|
||||||
diff --git a/filter/Configuration_filter.mk b/filter/Configuration_filter.mk
|
diff --git a/filter/Configuration_filter.mk b/filter/Configuration_filter.mk
|
||||||
index e71ffacf8f25..74d2ef05c4aa 100644
|
index 9702332..d250173 100644
|
||||||
--- a/filter/Configuration_filter.mk
|
--- a/filter/Configuration_filter.mk
|
||||||
+++ b/filter/Configuration_filter.mk
|
+++ b/filter/Configuration_filter.mk
|
||||||
@@ -358,10 +358,6 @@ $(eval $(call filter_Configuration_add_types,fcfg_langpack,fcfg_writer_types.xcu
|
@@ -346,10 +346,6 @@ $(eval $(call filter_Configuration_add_types,fcfg_langpack,fcfg_writer_types.xcu
|
||||||
writer_OOXML \
|
writer_OOXML \
|
||||||
writer_OOXML_Template \
|
writer_OOXML_Template \
|
||||||
writer_layout_dump_xml \
|
writer_layout_dump_xml \
|
||||||
@ -55,7 +54,7 @@ index e71ffacf8f25..74d2ef05c4aa 100644
|
|||||||
writer_ApplePages \
|
writer_ApplePages \
|
||||||
MWAW_Text_Document \
|
MWAW_Text_Document \
|
||||||
Palm_Text_Document \
|
Palm_Text_Document \
|
||||||
@@ -406,10 +402,6 @@ $(eval $(call filter_Configuration_add_filters,fcfg_langpack,fcfg_writer_filters
|
@@ -394,10 +390,6 @@ $(eval $(call filter_Configuration_add_filters,fcfg_langpack,fcfg_writer_filters
|
||||||
OOXML_Text \
|
OOXML_Text \
|
||||||
OOXML_Text_Template \
|
OOXML_Text_Template \
|
||||||
writer_layout_dump \
|
writer_layout_dump \
|
||||||
@ -67,7 +66,7 @@ index e71ffacf8f25..74d2ef05c4aa 100644
|
|||||||
MWAW_Text_Document \
|
MWAW_Text_Document \
|
||||||
Palm_Text_Document \
|
Palm_Text_Document \
|
||||||
diff --git a/writerperfect/Library_wpftwriter.mk b/writerperfect/Library_wpftwriter.mk
|
diff --git a/writerperfect/Library_wpftwriter.mk b/writerperfect/Library_wpftwriter.mk
|
||||||
index 8993cca31490..b6e11f356d97 100644
|
index 8993cca..b6e11f3 100644
|
||||||
--- a/writerperfect/Library_wpftwriter.mk
|
--- a/writerperfect/Library_wpftwriter.mk
|
||||||
+++ b/writerperfect/Library_wpftwriter.mk
|
+++ b/writerperfect/Library_wpftwriter.mk
|
||||||
@@ -53,7 +53,6 @@ $(eval $(call gb_Library_use_libraries,wpftwriter,\
|
@@ -53,7 +53,6 @@ $(eval $(call gb_Library_use_libraries,wpftwriter,\
|
||||||
@ -87,7 +86,7 @@ index 8993cca31490..b6e11f356d97 100644
|
|||||||
writerperfect/source/writer/EPUBExportFilter \
|
writerperfect/source/writer/EPUBExportFilter \
|
||||||
writerperfect/source/writer/EPUBExportUIComponent \
|
writerperfect/source/writer/EPUBExportUIComponent \
|
||||||
diff --git a/writerperfect/qa/unit/WpftFilterFixture.hxx b/writerperfect/qa/unit/WpftFilterFixture.hxx
|
diff --git a/writerperfect/qa/unit/WpftFilterFixture.hxx b/writerperfect/qa/unit/WpftFilterFixture.hxx
|
||||||
index f32478165617..f42edb0d7f55 100644
|
index f324781..f42edb0 100644
|
||||||
--- a/writerperfect/qa/unit/WpftFilterFixture.hxx
|
--- a/writerperfect/qa/unit/WpftFilterFixture.hxx
|
||||||
+++ b/writerperfect/qa/unit/WpftFilterFixture.hxx
|
+++ b/writerperfect/qa/unit/WpftFilterFixture.hxx
|
||||||
@@ -26,10 +26,6 @@
|
@@ -26,10 +26,6 @@
|
||||||
@ -102,7 +101,7 @@ index f32478165617..f42edb0d7f55 100644
|
|||||||
REQUIRE_VERSION(ETONYEK_VERSION_MAJOR, ETONYEK_VERSION_MINOR, ETONYEK_VERSION_MICRO, major, \
|
REQUIRE_VERSION(ETONYEK_VERSION_MAJOR, ETONYEK_VERSION_MINOR, ETONYEK_VERSION_MICRO, major, \
|
||||||
minor, micro)
|
minor, micro)
|
||||||
diff --git a/writerperfect/qa/unit/WpftWriterFilterTest.cxx b/writerperfect/qa/unit/WpftWriterFilterTest.cxx
|
diff --git a/writerperfect/qa/unit/WpftWriterFilterTest.cxx b/writerperfect/qa/unit/WpftWriterFilterTest.cxx
|
||||||
index 8bc4c7cadbb3..eca43caf8d8c 100644
|
index 8bc4c7c..eca43ca 100644
|
||||||
--- a/writerperfect/qa/unit/WpftWriterFilterTest.cxx
|
--- a/writerperfect/qa/unit/WpftWriterFilterTest.cxx
|
||||||
+++ b/writerperfect/qa/unit/WpftWriterFilterTest.cxx
|
+++ b/writerperfect/qa/unit/WpftWriterFilterTest.cxx
|
||||||
@@ -30,9 +30,6 @@ WpftWriterFilterTest::WpftWriterFilterTest()
|
@@ -30,9 +30,6 @@ WpftWriterFilterTest::WpftWriterFilterTest()
|
||||||
@ -125,7 +124,7 @@ index 8bc4c7cadbb3..eca43caf8d8c 100644
|
|||||||
"/writerperfect/qa/unit/data/writer/libwps/", aWpsOptional);
|
"/writerperfect/qa/unit/data/writer/libwps/", aWpsOptional);
|
||||||
doTest("com.sun.star.comp.Writer.MWAWImportFilter",
|
doTest("com.sun.star.comp.Writer.MWAWImportFilter",
|
||||||
diff --git a/writerperfect/source/writer/wpftwriter.component b/writerperfect/source/writer/wpftwriter.component
|
diff --git a/writerperfect/source/writer/wpftwriter.component b/writerperfect/source/writer/wpftwriter.component
|
||||||
index 8ab436634052..2720023baedf 100644
|
index 8ab4366..2720023 100644
|
||||||
--- a/writerperfect/source/writer/wpftwriter.component
|
--- a/writerperfect/source/writer/wpftwriter.component
|
||||||
+++ b/writerperfect/source/writer/wpftwriter.component
|
+++ b/writerperfect/source/writer/wpftwriter.component
|
||||||
@@ -38,11 +38,6 @@
|
@@ -38,11 +38,6 @@
|
||||||
@ -141,5 +140,5 @@ index 8ab436634052..2720023baedf 100644
|
|||||||
constructor="org_libreoffice_comp_Writer_PagesImportFilter_get_implementation">
|
constructor="org_libreoffice_comp_Writer_PagesImportFilter_get_implementation">
|
||||||
<service name="com.sun.star.document.ExtendedTypeDetection"/>
|
<service name="com.sun.star.document.ExtendedTypeDetection"/>
|
||||||
--
|
--
|
||||||
2.25.1
|
2.26.2
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
From 78111bfd799914b4a39a9f3022f5028234c609bf Mon Sep 17 00:00:00 2001
|
From ff68c22161071ce89851c6d81e80ba51b67e8e0c Mon Sep 17 00:00:00 2001
|
||||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||||
Date: Mon, 13 Feb 2023 13:56:10 +0000
|
Date: Mon, 13 Feb 2023 13:56:10 +0000
|
||||||
Subject: [PATCH] disable script dump
|
Subject: [PATCH] disable script dump
|
||||||
@ -9,10 +9,10 @@ Tested-by: Jenkins
|
|||||||
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
||||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147051
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147051
|
||||||
Tested-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
Tested-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
||||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147256
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147255
|
||||||
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
|
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
|
||||||
Reviewed-by: Andras Timar <andras.timar@collabora.com>
|
Reviewed-by: Andras Timar <andras.timar@collabora.com>
|
||||||
(cherry picked from commit c948c8d3bb1433cde46319f3bb81693912371aea)
|
(cherry picked from commit ae3a7dcbb60bb73700737b9ca8940ce3103648d9)
|
||||||
---
|
---
|
||||||
.../source/drivers/hsqldb/HDriver.cxx | 31 +++++++++++++++++++
|
.../source/drivers/hsqldb/HDriver.cxx | 31 +++++++++++++++++++
|
||||||
external/hsqldb/UnpackedTarball_hsqldb.mk | 1 +
|
external/hsqldb/UnpackedTarball_hsqldb.mk | 1 +
|
||||||
@ -21,10 +21,10 @@ Reviewed-by: Andras Timar <andras.timar@collabora.com>
|
|||||||
create mode 100644 external/hsqldb/patches/disable-dump-script.patch
|
create mode 100644 external/hsqldb/patches/disable-dump-script.patch
|
||||||
|
|
||||||
diff --git a/connectivity/source/drivers/hsqldb/HDriver.cxx b/connectivity/source/drivers/hsqldb/HDriver.cxx
|
diff --git a/connectivity/source/drivers/hsqldb/HDriver.cxx b/connectivity/source/drivers/hsqldb/HDriver.cxx
|
||||||
index 6ff0f539407b..eee39911a255 100644
|
index de76ecbba29de..95c610843efab 100644
|
||||||
--- a/connectivity/source/drivers/hsqldb/HDriver.cxx
|
--- a/connectivity/source/drivers/hsqldb/HDriver.cxx
|
||||||
+++ b/connectivity/source/drivers/hsqldb/HDriver.cxx
|
+++ b/connectivity/source/drivers/hsqldb/HDriver.cxx
|
||||||
@@ -290,6 +290,37 @@ namespace connectivity
|
@@ -300,6 +300,37 @@ namespace connectivity
|
||||||
} // if ( xStream.is() )
|
} // if ( xStream.is() )
|
||||||
::comphelper::disposeComponent(xStream);
|
::comphelper::disposeComponent(xStream);
|
||||||
}
|
}
|
||||||
@ -63,7 +63,7 @@ index 6ff0f539407b..eee39911a255 100644
|
|||||||
catch(Exception&)
|
catch(Exception&)
|
||||||
{
|
{
|
||||||
diff --git a/external/hsqldb/UnpackedTarball_hsqldb.mk b/external/hsqldb/UnpackedTarball_hsqldb.mk
|
diff --git a/external/hsqldb/UnpackedTarball_hsqldb.mk b/external/hsqldb/UnpackedTarball_hsqldb.mk
|
||||||
index cbba770f19a0..ed262cccf4ca 100644
|
index cbba770f19a07..ed262cccf4caa 100644
|
||||||
--- a/external/hsqldb/UnpackedTarball_hsqldb.mk
|
--- a/external/hsqldb/UnpackedTarball_hsqldb.mk
|
||||||
+++ b/external/hsqldb/UnpackedTarball_hsqldb.mk
|
+++ b/external/hsqldb/UnpackedTarball_hsqldb.mk
|
||||||
@@ -29,6 +29,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,hsqldb,\
|
@@ -29,6 +29,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,hsqldb,\
|
||||||
@ -76,7 +76,7 @@ index cbba770f19a0..ed262cccf4ca 100644
|
|||||||
# vim: set noet sw=4 ts=4:
|
# vim: set noet sw=4 ts=4:
|
||||||
diff --git a/external/hsqldb/patches/disable-dump-script.patch b/external/hsqldb/patches/disable-dump-script.patch
|
diff --git a/external/hsqldb/patches/disable-dump-script.patch b/external/hsqldb/patches/disable-dump-script.patch
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 000000000000..401dd38abc9a
|
index 0000000000000..401dd38abc9a2
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/external/hsqldb/patches/disable-dump-script.patch
|
+++ b/external/hsqldb/patches/disable-dump-script.patch
|
||||||
@@ -0,0 +1,14 @@
|
@@ -0,0 +1,14 @@
|
||||||
|
@ -1,45 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
From a6f2cba43d79347b6975b3b8069b423c94a7dba6 Mon Sep 17 00:00:00 2001
|
From a0e6d2abeed9d64fe7862a7664ba80a6178bf3f2 Mon Sep 17 00:00:00 2001
|
||||||
From: David Tardon <dtardon@redhat.com>
|
From: David Tardon <dtardon@redhat.com>
|
||||||
Date: Tue, 8 Nov 2016 11:50:06 +0100
|
Date: Tue, 8 Nov 2016 11:50:06 +0100
|
||||||
Subject: [PATCH] don't suppress crashes
|
Subject: [PATCH] don't suppress crashes
|
||||||
@ -11,25 +11,25 @@ Change-Id: I3854e619356049b144b08575879d289a3c12e4c9
|
|||||||
1 file changed, 1 insertion(+), 3 deletions(-)
|
1 file changed, 1 insertion(+), 3 deletions(-)
|
||||||
|
|
||||||
diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx
|
diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx
|
||||||
index c54aea9dd4f7..a613fe12cef2 100644
|
index 53365f4..3a3bac8 100644
|
||||||
--- a/desktop/source/app/app.cxx
|
--- a/desktop/source/app/app.cxx
|
||||||
+++ b/desktop/source/app/app.cxx
|
+++ b/desktop/source/app/app.cxx
|
||||||
@@ -1147,14 +1147,12 @@ void Desktop::Exception(ExceptionCategory nCategory)
|
@@ -1312,14 +1312,12 @@ void Desktop::Exception(ExceptionCategory nCategory)
|
||||||
if( bRestart )
|
if( bRestart )
|
||||||
{
|
{
|
||||||
RequestHandler::Disable();
|
RequestHandler::Disable();
|
||||||
- if( pSignalHandler )
|
- if( pSignalHandler )
|
||||||
- osl_removeSignalHandler( pSignalHandler );
|
- osl_removeSignalHandler( pSignalHandler );
|
||||||
|
|
||||||
restartOnMac(false);
|
restartOnMac(false);
|
||||||
if ( m_rSplashScreen.is() )
|
if ( m_rSplashScreen.is() )
|
||||||
m_rSplashScreen->reset();
|
m_rSplashScreen->reset();
|
||||||
|
|
||||||
- _exit( EXITHELPER_CRASH_WITH_RESTART );
|
- _exit( EXITHELPER_CRASH_WITH_RESTART );
|
||||||
+ return;
|
+ return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
--
|
--
|
||||||
2.29.2
|
2.9.3
|
||||||
|
|
||||||
|
@ -0,0 +1,64 @@
|
|||||||
|
From 13aba101eadfe4f67a930ac7231d26ece658bbec Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||||
|
Date: Mon, 28 Sep 2020 14:55:47 +0100
|
||||||
|
Subject: [PATCH] export HYPERLINK target in html clipboard export
|
||||||
|
|
||||||
|
Change-Id: Ia77e4bd8a5b54636d0e9e561360128202a81420b
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103557
|
||||||
|
Tested-by: Jenkins
|
||||||
|
Reviewed-by: Eike Rathke <erack@redhat.com>
|
||||||
|
---
|
||||||
|
sc/source/filter/html/htmlexp.cxx | 23 +++++++++++++++++++++++
|
||||||
|
1 file changed, 23 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/sc/source/filter/html/htmlexp.cxx b/sc/source/filter/html/htmlexp.cxx
|
||||||
|
index 6122c9b6c45c..13792201c8b0 100644
|
||||||
|
--- a/sc/source/filter/html/htmlexp.cxx
|
||||||
|
+++ b/sc/source/filter/html/htmlexp.cxx
|
||||||
|
@@ -37,6 +37,7 @@
|
||||||
|
#include <sfx2/docfile.hxx>
|
||||||
|
#include <sfx2/frmhtmlw.hxx>
|
||||||
|
#include <sfx2/objsh.hxx>
|
||||||
|
+#include <svl/stritem.hxx>
|
||||||
|
#include <svl/urihelper.hxx>
|
||||||
|
#include <svtools/htmlkywd.hxx>
|
||||||
|
#include <svtools/htmlout.hxx>
|
||||||
|
@@ -1127,6 +1128,26 @@ void ScHTMLExport::WriteCell( sc::ColumnBlockPosition& rBlockPos, SCCOL nCol, SC
|
||||||
|
TAG_ON(aStr.makeStringAndClear().getStr());
|
||||||
|
}
|
||||||
|
|
||||||
|
+ OUString aURL;
|
||||||
|
+ bool bWriteHyperLink(false);
|
||||||
|
+ if (aCell.meType == CELLTYPE_FORMULA)
|
||||||
|
+ {
|
||||||
|
+ ScFormulaCell* pFCell = aCell.mpFormula;
|
||||||
|
+ if (pFCell->IsHyperLinkCell())
|
||||||
|
+ {
|
||||||
|
+ OUString aCellText;
|
||||||
|
+ pFCell->GetURLResult(aURL, aCellText);
|
||||||
|
+ bWriteHyperLink = true;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (bWriteHyperLink)
|
||||||
|
+ {
|
||||||
|
+ OString aURLStr = HTMLOutFuncs::ConvertStringToHTML(aURL, eDestEnc, &aNonConvertibleChars);
|
||||||
|
+ OString aStr = OOO_STRING_SVTOOLS_HTML_anchor " " OOO_STRING_SVTOOLS_HTML_O_href "=\"" + aURLStr + "\"";
|
||||||
|
+ TAG_ON(aStr.getStr());
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
OUString aStrOut;
|
||||||
|
bool bFieldText = false;
|
||||||
|
|
||||||
|
@@ -1174,6 +1195,8 @@ void ScHTMLExport::WriteCell( sc::ColumnBlockPosition& rBlockPos, SCCOL nCol, SC
|
||||||
|
if ( pGraphEntry )
|
||||||
|
WriteGraphEntry( pGraphEntry );
|
||||||
|
|
||||||
|
+ if (bWriteHyperLink) { TAG_OFF(OOO_STRING_SVTOOLS_HTML_anchor); }
|
||||||
|
+
|
||||||
|
if ( bSetFont ) TAG_OFF( OOO_STRING_SVTOOLS_HTML_font );
|
||||||
|
if ( bCrossedOut ) TAG_OFF( OOO_STRING_SVTOOLS_HTML_strikethrough );
|
||||||
|
if ( bUnderline ) TAG_OFF( OOO_STRING_SVTOOLS_HTML_underline );
|
||||||
|
--
|
||||||
|
2.26.2
|
||||||
|
|
@ -1,40 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,19 +1,19 @@
|
|||||||
From 2f11e4247b6332b06a5b23c33207fa10767244a6 Mon Sep 17 00:00:00 2001
|
From ddf72365b7e7c67b2580e328e55de6eb988b8787 Mon Sep 17 00:00:00 2001
|
||||||
From: Thierry Vignaud <thierry.vignaud@gmail.com>
|
From: Thierry Vignaud <thierry.vignaud@gmail.com>
|
||||||
Date: Thu, 30 Jan 2020 11:19:20 +0000
|
Date: Thu, 30 Jan 2020 11:19:20 +0000
|
||||||
Subject: [PATCH] fix detecting qrcodegen
|
Subject: [PATCH] fix detecting qrcodegen
|
||||||
|
|
||||||
Change-Id: Ib945b57420083489273cefc5655eb50932b5a3f8
|
Change-Id: Ib945b57420083489273cefc5655eb50932b5a3f8
|
||||||
---
|
---
|
||||||
configure.ac | 2 +-
|
configure.ac | 2 +-
|
||||||
cui/source/dialogs/QrCodeGenDialog.cxx | 2 +-
|
cui/source/dialogs/QrCodeGenDialog.cxx | 2 +-
|
||||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/configure.ac b/configure.ac
|
diff --git a/configure.ac b/configure.ac
|
||||||
index 5a14369..ebd1b55 100644
|
index 388bee3..c061349 100644
|
||||||
--- a/configure.ac
|
--- a/configure.ac
|
||||||
+++ b/configure.ac
|
+++ b/configure.ac
|
||||||
@@ -10250,7 +10250,7 @@ else
|
@@ -10092,7 +10092,7 @@ else
|
||||||
AC_MSG_RESULT([external])
|
AC_MSG_RESULT([external])
|
||||||
SYSTEM_QRCODEGEN=TRUE
|
SYSTEM_QRCODEGEN=TRUE
|
||||||
AC_LANG_PUSH([C++])
|
AC_LANG_PUSH([C++])
|
||||||
@ -23,10 +23,10 @@ index 5a14369..ebd1b55 100644
|
|||||||
AC_CHECK_LIB([qrcodegencpp], [main], [:],
|
AC_CHECK_LIB([qrcodegencpp], [main], [:],
|
||||||
[ AC_MSG_ERROR(qrcodegen C++ library not found.) ], [])
|
[ AC_MSG_ERROR(qrcodegen C++ library not found.) ], [])
|
||||||
diff --git a/cui/source/dialogs/QrCodeGenDialog.cxx b/cui/source/dialogs/QrCodeGenDialog.cxx
|
diff --git a/cui/source/dialogs/QrCodeGenDialog.cxx b/cui/source/dialogs/QrCodeGenDialog.cxx
|
||||||
index 7f3f6a8..b79a356 100644
|
index 6277e76..f8dd327 100644
|
||||||
--- a/cui/source/dialogs/QrCodeGenDialog.cxx
|
--- a/cui/source/dialogs/QrCodeGenDialog.cxx
|
||||||
+++ b/cui/source/dialogs/QrCodeGenDialog.cxx
|
+++ b/cui/source/dialogs/QrCodeGenDialog.cxx
|
||||||
@@ -19,7 +19,7 @@
|
@@ -20,7 +20,7 @@
|
||||||
|
|
||||||
#if ENABLE_QRCODEGEN
|
#if ENABLE_QRCODEGEN
|
||||||
#if defined(SYSTEM_QRCODEGEN)
|
#if defined(SYSTEM_QRCODEGEN)
|
||||||
|
@ -1,118 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,111 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,39 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
1922
SOURCES/0001-munge-cmis-headers-to-remove-exception-specs.patch
Normal file
1922
SOURCES/0001-munge-cmis-headers-to-remove-exception-specs.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,26 @@
|
|||||||
|
From 06b19641b0eac7b7992fae861eb4807397c9aee4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||||
|
Date: Wed, 28 Oct 2020 10:03:23 +0000
|
||||||
|
Subject: [PATCH] replace 'Palatino Linotype' with 'Liberation Serif'
|
||||||
|
|
||||||
|
for consistent font replacement
|
||||||
|
|
||||||
|
Change-Id: I3c124c0adcab8ac2dd7f989c2fa5c97182e32b64
|
||||||
|
---
|
||||||
|
sw/qa/extras/layout/data/forcepoint75-1.rtf | Bin 88740 -> 88738 bytes
|
||||||
|
1 file changed, 0 insertions(+), 0 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/sw/qa/extras/layout/data/forcepoint75-1.rtf b/sw/qa/extras/layout/data/forcepoint75-1.rtf
|
||||||
|
index 01a52963757d8568e5ae8b80b7767c924c37a407..263a585c57e162caf1c9f9dd3aee4f3d8aa3edd2 100644
|
||||||
|
GIT binary patch
|
||||||
|
delta 85
|
||||||
|
zcmZ3om37fp)(y#wVm_HksYQt;nfZAN!Kp==Y1XyXF=>XA=QD{5pi50&#At*e*!+}n
|
||||||
|
M`%^~7{Sk~@09cV9Z2$lO
|
||||||
|
|
||||||
|
delta 104
|
||||||
|
zcmZ3qm37Hh)(y#w_5q1Gi6xnN`3gQjqNK7Q)w;GiCe1J=ttdY?F)t>$Al)D)Ejc5x
|
||||||
|
ds5rI6KmkMb<OPgIf*7LBj~KT<Vr1MO0RTX3C};ox
|
||||||
|
|
||||||
|
--
|
||||||
|
2.26.2
|
||||||
|
|
110
SOURCES/0001-replace-boost-bimap-in-sdext-pdfimport.patch
Normal file
110
SOURCES/0001-replace-boost-bimap-in-sdext-pdfimport.patch
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
From 193b49763a03d63ba79db50c1fa0563ec0d6b0c3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||||
|
Date: Wed, 29 Jan 2020 12:44:52 +0000
|
||||||
|
Subject: [PATCH] replace boost::bimap in sdext pdfimport
|
||||||
|
|
||||||
|
Change-Id: Ie324a0b81931bbd427483878a87beeca455ada18
|
||||||
|
---
|
||||||
|
sdext/source/pdfimport/inc/pdfiprocessor.hxx | 12 ++++-------
|
||||||
|
sdext/source/pdfimport/tree/pdfiprocessor.cxx | 21 +++++++++++--------
|
||||||
|
2 files changed, 16 insertions(+), 17 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/sdext/source/pdfimport/inc/pdfiprocessor.hxx b/sdext/source/pdfimport/inc/pdfiprocessor.hxx
|
||||||
|
index 89f9d601b7b0..9e08d6a6a765 100644
|
||||||
|
--- a/sdext/source/pdfimport/inc/pdfiprocessor.hxx
|
||||||
|
+++ b/sdext/source/pdfimport/inc/pdfiprocessor.hxx
|
||||||
|
@@ -37,9 +37,6 @@
|
||||||
|
#include "treevisitorfactory.hxx"
|
||||||
|
#include "genericelements.hxx"
|
||||||
|
|
||||||
|
-#include <boost/bimap/bimap.hpp>
|
||||||
|
-#include <boost/bimap/unordered_set_of.hpp>
|
||||||
|
-
|
||||||
|
namespace pdfi
|
||||||
|
{
|
||||||
|
|
||||||
|
@@ -160,10 +157,8 @@ namespace pdfi
|
||||||
|
typedef std::unordered_map<sal_Int32,FontAttributes> IdToFontMap;
|
||||||
|
typedef std::unordered_map<FontAttributes,sal_Int32,FontAttrHash> FontToIdMap;
|
||||||
|
|
||||||
|
- typedef boost::bimaps::bimap<
|
||||||
|
- boost::bimaps::unordered_set_of<GraphicsContext, GraphicsContextHash>,
|
||||||
|
- boost::bimaps::unordered_set_of<sal_Int32>
|
||||||
|
- > GCToIdBiMap;
|
||||||
|
+ typedef std::unordered_map<sal_Int32,GraphicsContext> IdToGCMap;
|
||||||
|
+ typedef std::unordered_map<GraphicsContext, sal_Int32, GraphicsContextHash> GCToIdMap;
|
||||||
|
|
||||||
|
typedef std::vector<GraphicsContext> GraphicsContextStack;
|
||||||
|
|
||||||
|
@@ -178,7 +173,8 @@ namespace pdfi
|
||||||
|
|
||||||
|
GraphicsContextStack m_aGCStack;
|
||||||
|
sal_Int32 m_nNextGCId;
|
||||||
|
- GCToIdBiMap m_aGCToId;
|
||||||
|
+ IdToGCMap m_aIdToGC;
|
||||||
|
+ GCToIdMap m_aGCToId;
|
||||||
|
|
||||||
|
ImageContainer m_aImages;
|
||||||
|
|
||||||
|
diff --git a/sdext/source/pdfimport/tree/pdfiprocessor.cxx b/sdext/source/pdfimport/tree/pdfiprocessor.cxx
|
||||||
|
index c6baa7fee8b2..ed2eaf6510b9 100644
|
||||||
|
--- a/sdext/source/pdfimport/tree/pdfiprocessor.cxx
|
||||||
|
+++ b/sdext/source/pdfimport/tree/pdfiprocessor.cxx
|
||||||
|
@@ -54,6 +54,7 @@ namespace pdfi
|
||||||
|
m_aFontToId(),
|
||||||
|
m_aGCStack(),
|
||||||
|
m_nNextGCId( 1 ),
|
||||||
|
+ m_aIdToGC(),
|
||||||
|
m_aGCToId(),
|
||||||
|
m_aImages(),
|
||||||
|
m_nPages(0),
|
||||||
|
@@ -65,12 +66,13 @@ namespace pdfi
|
||||||
|
aDefFont.isBold = false;
|
||||||
|
aDefFont.isItalic = false;
|
||||||
|
aDefFont.size = 10*PDFI_OUTDEV_RESOLUTION/72;
|
||||||
|
- m_aIdToFont[ 0 ] = aDefFont;
|
||||||
|
- m_aFontToId[ aDefFont ] = 0;
|
||||||
|
+ m_aIdToFont.insert({0, aDefFont});
|
||||||
|
+ m_aFontToId.insert({aDefFont, 0});
|
||||||
|
|
||||||
|
GraphicsContext aDefGC;
|
||||||
|
m_aGCStack.push_back( aDefGC );
|
||||||
|
- m_aGCToId.insert(GCToIdBiMap::relation(aDefGC, 0));
|
||||||
|
+ m_aGCToId.insert({aDefGC, 0});
|
||||||
|
+ m_aIdToGC.insert({0, aDefGC});
|
||||||
|
}
|
||||||
|
|
||||||
|
void PDFIProcessor::setPageNum( sal_Int32 nPages )
|
||||||
|
@@ -468,12 +470,13 @@ const FontAttributes& PDFIProcessor::getFont( sal_Int32 nFontId ) const
|
||||||
|
sal_Int32 PDFIProcessor::getGCId( const GraphicsContext& rGC )
|
||||||
|
{
|
||||||
|
sal_Int32 nGCId = 0;
|
||||||
|
- auto it = m_aGCToId.left.find( rGC );
|
||||||
|
- if( it != m_aGCToId.left.end() )
|
||||||
|
+ auto it = m_aGCToId.find( rGC );
|
||||||
|
+ if( it != m_aGCToId.end() )
|
||||||
|
nGCId = it->second;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
- m_aGCToId.insert(GCToIdBiMap::relation(rGC, m_nNextGCId));
|
||||||
|
+ m_aGCToId.insert({rGC, m_nNextGCId});
|
||||||
|
+ m_aIdToGC.insert({m_nNextGCId, rGC});
|
||||||
|
nGCId = m_nNextGCId;
|
||||||
|
m_nNextGCId++;
|
||||||
|
}
|
||||||
|
@@ -483,9 +486,9 @@ sal_Int32 PDFIProcessor::getGCId( const GraphicsContext& rGC )
|
||||||
|
|
||||||
|
const GraphicsContext& PDFIProcessor::getGraphicsContext( sal_Int32 nGCId ) const
|
||||||
|
{
|
||||||
|
- auto it = m_aGCToId.right.find( nGCId );
|
||||||
|
- if( it == m_aGCToId.right.end() )
|
||||||
|
- it = m_aGCToId.right.find( 0 );
|
||||||
|
+ auto it = m_aIdToGC.find( nGCId );
|
||||||
|
+ if( it == m_aIdToGC.end() )
|
||||||
|
+ it = m_aIdToGC.find( 0 );
|
||||||
|
return it->second;
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.24.1
|
||||||
|
|
7987
SOURCES/0001-rhbz-1870501-crash-on-reexport-of-odg.patch
Normal file
7987
SOURCES/0001-rhbz-1870501-crash-on-reexport-of-odg.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,82 @@
|
|||||||
|
From 8bfdd84ffcffe19aa6c495a0772e1a5fcb9a5124 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||||
|
Date: Fri, 25 Sep 2020 11:22:03 +0100
|
||||||
|
Subject: [PATCH] rhbz#1882616 move cursor one step at a time in the desired
|
||||||
|
direction
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
until we get to the target position. The break iterator operates in graphemes
|
||||||
|
so we can't just move Left/Right the amount of utf-16 we want to move.
|
||||||
|
|
||||||
|
Change-Id: I25d4e9285deae374f85dcaadbf4601bc213a89de
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103380
|
||||||
|
Tested-by: Jenkins
|
||||||
|
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
||||||
|
(cherry picked from commit bf858622e543163a23db766912ea6b121f447e6d)
|
||||||
|
---
|
||||||
|
sw/source/core/edit/editsh.cxx | 40 +++++++++++++++++++++++++++++-----
|
||||||
|
1 file changed, 35 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/sw/source/core/edit/editsh.cxx b/sw/source/core/edit/editsh.cxx
|
||||||
|
index 8f84ce42ed75..872d92d7afcc 100644
|
||||||
|
--- a/sw/source/core/edit/editsh.cxx
|
||||||
|
+++ b/sw/source/core/edit/editsh.cxx
|
||||||
|
@@ -988,7 +988,8 @@ OUString SwEditShell::DeleteExtTextInput( bool bInsText )
|
||||||
|
|
||||||
|
void SwEditShell::SetExtTextInputData( const CommandExtTextInputData& rData )
|
||||||
|
{
|
||||||
|
- const SwPosition& rPos = *GetCursor()->GetPoint();
|
||||||
|
+ SwPaM* pCurrentCursor = GetCursor();
|
||||||
|
+ const SwPosition& rPos = *pCurrentCursor->GetPoint();
|
||||||
|
SwExtTextInput* pInput = GetDoc()->GetExtTextInput( rPos.nNode.GetNode() );
|
||||||
|
if( !pInput )
|
||||||
|
return;
|
||||||
|
@@ -1005,10 +1006,39 @@ void SwEditShell::SetExtTextInputData( const CommandExtTextInputData& rData )
|
||||||
|
// ugly but works
|
||||||
|
ShowCursor();
|
||||||
|
const sal_Int32 nDiff = nNewCursorPos - rPos.nContent.GetIndex();
|
||||||
|
- if( 0 > nDiff )
|
||||||
|
- Left( -nDiff, CRSR_SKIP_CHARS );
|
||||||
|
- else if( 0 < nDiff )
|
||||||
|
- Right( nDiff, CRSR_SKIP_CHARS );
|
||||||
|
+ if( nDiff != 0)
|
||||||
|
+ {
|
||||||
|
+ bool bLeft = nDiff < 0;
|
||||||
|
+ sal_Int32 nMaxGuard = std::abs(nDiff);
|
||||||
|
+ while (true)
|
||||||
|
+ {
|
||||||
|
+ auto nOldPos = pCurrentCursor->GetPoint()->nContent.GetIndex();
|
||||||
|
+ if (bLeft)
|
||||||
|
+ Left(1, CRSR_SKIP_CHARS);
|
||||||
|
+ else
|
||||||
|
+ Right(1, CRSR_SKIP_CHARS);
|
||||||
|
+ auto nNewPos = pCurrentCursor->GetPoint()->nContent.GetIndex();
|
||||||
|
+
|
||||||
|
+ // expected success
|
||||||
|
+ if (nNewPos == nNewCursorPos)
|
||||||
|
+ break;
|
||||||
|
+
|
||||||
|
+ if (nNewPos == nOldPos)
|
||||||
|
+ {
|
||||||
|
+ // if there was no movement, we have failed for some reason
|
||||||
|
+ SAL_WARN("sw.core", "IM cursor move failed");
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (--nMaxGuard == 0)
|
||||||
|
+ {
|
||||||
|
+ // if it takes more cursor moves than there are utf-16 chars to move past
|
||||||
|
+ // something has probably gone wrong
|
||||||
|
+ SAL_WARN("sw.core", "IM abandoning cursor positioning");
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
|
||||||
|
SetOverwriteCursor( rData.IsCursorOverwrite() );
|
||||||
|
|
||||||
|
--
|
||||||
|
2.29.2
|
||||||
|
|
@ -0,0 +1,27 @@
|
|||||||
|
From 3f4885f3012132e915031461036a76e693489652 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||||
|
Date: Sun, 25 Oct 2020 20:39:50 +0000
|
||||||
|
Subject: [PATCH] rhbz#1891326 suggest package install of the most appropiate
|
||||||
|
pt langpack
|
||||||
|
|
||||||
|
Change-Id: I87ff1a941a3a5dc0c321440a9c286ae73c9d0384
|
||||||
|
---
|
||||||
|
svtools/source/misc/langhelp.cxx | 2 ++
|
||||||
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/svtools/source/misc/langhelp.cxx b/svtools/source/misc/langhelp.cxx
|
||||||
|
index e64a3b869076..acaf2c6e24f3 100644
|
||||||
|
--- a/svtools/source/misc/langhelp.cxx
|
||||||
|
+++ b/svtools/source/misc/langhelp.cxx
|
||||||
|
@@ -139,6 +139,8 @@ OUString getInstalledLocaleForSystemUILanguage(const css::uno::Sequence<OUString
|
||||||
|
aPackages.emplace_back("libreoffice-langpack-zh-Hans");
|
||||||
|
else if (MsLangId::isTraditionalChinese(eType))
|
||||||
|
aPackages.emplace_back("libreoffice-langpack-zh-Hant");
|
||||||
|
+ else if (install == "pt")
|
||||||
|
+ aPackages.emplace_back("libreoffice-langpack-pt-PT");
|
||||||
|
else
|
||||||
|
aPackages.emplace_back("libreoffice-langpack-" + install);
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.26.2
|
||||||
|
|
@ -1,26 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
From aec3e189e6e9aa1eb2fe91cbb1c46f308b074cd5 Mon Sep 17 00:00:00 2001
|
From b49380bd288e642352cb7ddc1c050e2fb34b5b43 Mon Sep 17 00:00:00 2001
|
||||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||||
Date: Tue, 13 Jul 2021 12:38:07 +0100
|
Date: Tue, 13 Jul 2021 12:38:07 +0100
|
||||||
Subject: [PATCH] rhbz#1980800 allow --convert-to csv to write each sheet to a
|
Subject: [PATCH] rhbz#1980800 allow --convert-to csv to write each sheet to a
|
||||||
@ -17,7 +17,6 @@ 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
|
token could be expanded in the future to select specific sheets to
|
||||||
export.
|
export.
|
||||||
|
|
||||||
Change-Id: Ib99a120f1a2c8d1008a7a3c59a6b39f572fb346e
|
|
||||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118850
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118850
|
||||||
Tested-by: Jenkins
|
Tested-by: Jenkins
|
||||||
Reviewed-by: Eike Rathke <erack@redhat.com>
|
Reviewed-by: Eike Rathke <erack@redhat.com>
|
||||||
@ -31,7 +30,6 @@ soffice --convert-to csv:"Text - txt - csv (StarCalc)":44,34,UTF8,1,,0,false,tru
|
|||||||
|
|
||||||
writes a file sample-Sheet2.csv
|
writes a file sample-Sheet2.csv
|
||||||
|
|
||||||
Change-Id: Ib9248c9561e4e340c88458ac5dfd159e443a4cfd
|
|
||||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118971
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118971
|
||||||
Reviewed-by: Eike Rathke <erack@redhat.com>
|
Reviewed-by: Eike Rathke <erack@redhat.com>
|
||||||
Tested-by: Jenkins
|
Tested-by: Jenkins
|
||||||
@ -39,32 +37,46 @@ Tested-by: Jenkins
|
|||||||
|
|
||||||
Related: tdf#135762 Suppress cout if not command line
|
Related: tdf#135762 Suppress cout if not command line
|
||||||
|
|
||||||
Change-Id: I9431221aadf97739bb197871f25fa151ef4c391c
|
|
||||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119294
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119294
|
||||||
Reviewed-by: Eike Rathke <erack@redhat.com>
|
Reviewed-by: Eike Rathke <erack@redhat.com>
|
||||||
Tested-by: Jenkins
|
Tested-by: Jenkins
|
||||||
(cherry picked from commit 0cda081c9aa3b3dcb363f97bac60c845ce9a13e0)
|
(cherry picked from commit 0cda081c9aa3b3dcb363f97bac60c845ce9a13e0)
|
||||||
|
|
||||||
|
Change-Id: Ib99a120f1a2c8d1008a7a3c59a6b39f572fb346e
|
||||||
|
b9248c9561e4e340c88458ac5dfd159e443a4cfd
|
||||||
|
9431221aadf97739bb197871f25fa151ef4c391c
|
||||||
|
|
||||||
|
Plus follow-up fix
|
||||||
|
<https://git.libreoffice.org/core/+/d768757872ad25219fa291acd623ab98924acaaa%5E%21>
|
||||||
|
"tdf#129829 sfx2: fix handling of password to open vs modify" (which happens to
|
||||||
|
also fix saving to smb shares, in addition to the Windows-specific issue it was
|
||||||
|
originally meant to fix), plus the relevant parts of its preceding
|
||||||
|
<https://git.libreoffice.org/core/+/037cd13af81f8a1169d01e95036ed942f261f9a6%5E%21>
|
||||||
|
"sw reqif-xhtml export: add a new RTFOLEMimeType parameter" introducing
|
||||||
|
SfxMedium::SetArgs.
|
||||||
---
|
---
|
||||||
desktop/source/app/dispatchwatcher.cxx | 50 +++++++--
|
desktop/source/app/dispatchwatcher.cxx | 50 +++++++--
|
||||||
|
include/sfx2/docfile.hxx | 2 +
|
||||||
sc/source/ui/dbgui/imoptdlg.cxx | 16 ++-
|
sc/source/ui/dbgui/imoptdlg.cxx | 16 ++-
|
||||||
sc/source/ui/docshell/docsh.cxx | 141 +++++++++++++++++++++----
|
sc/source/ui/docshell/docsh.cxx | 141 +++++++++++++++++++++----
|
||||||
sc/source/ui/inc/docsh.hxx | 2 +-
|
sc/source/ui/inc/docsh.hxx | 2 +-
|
||||||
sc/source/ui/inc/imoptdlg.hxx | 6 +-
|
sc/source/ui/inc/imoptdlg.hxx | 6 +-
|
||||||
5 files changed, 179 insertions(+), 36 deletions(-)
|
sfx2/source/doc/docfile.cxx | 13 +++
|
||||||
|
7 files changed, 194 insertions(+), 36 deletions(-)
|
||||||
|
|
||||||
diff --git a/desktop/source/app/dispatchwatcher.cxx b/desktop/source/app/dispatchwatcher.cxx
|
diff --git a/desktop/source/app/dispatchwatcher.cxx b/desktop/source/app/dispatchwatcher.cxx
|
||||||
index 50b92ecb7834..3df4f34ccf83 100644
|
index 04140173c6d1..a5365da618e8 100644
|
||||||
--- a/desktop/source/app/dispatchwatcher.cxx
|
--- a/desktop/source/app/dispatchwatcher.cxx
|
||||||
+++ b/desktop/source/app/dispatchwatcher.cxx
|
+++ b/desktop/source/app/dispatchwatcher.cxx
|
||||||
@@ -30,6 +30,7 @@
|
@@ -30,6 +30,7 @@
|
||||||
#include "officeipcthread.hxx"
|
#include "dispatchwatcher.hxx"
|
||||||
#include <rtl/ustring.hxx>
|
#include <rtl/ustring.hxx>
|
||||||
#include <comphelper/processfactory.hxx>
|
#include <comphelper/processfactory.hxx>
|
||||||
+#include <comphelper/string.hxx>
|
+#include <comphelper/string.hxx>
|
||||||
#include <comphelper/synchronousdispatch.hxx>
|
#include <comphelper/synchronousdispatch.hxx>
|
||||||
#include <com/sun/star/io/IOException.hpp>
|
#include <com/sun/star/io/IOException.hpp>
|
||||||
#include <com/sun/star/util/XCloseable.hpp>
|
#include <com/sun/star/util/XCloseable.hpp>
|
||||||
@@ -598,6 +599,8 @@ bool DispatchWatcher::executeDispatchRequests( const std::vector<DispatchRequest
|
@@ -604,6 +605,8 @@ bool DispatchWatcher::executeDispatchRequests( const std::vector<DispatchRequest
|
||||||
aFilter = impl_GuessFilter( aOutFile, aDocService );
|
aFilter = impl_GuessFilter( aOutFile, aDocService );
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -73,7 +85,7 @@ index 50b92ecb7834..3df4f34ccf83 100644
|
|||||||
if (aFilter.isEmpty())
|
if (aFilter.isEmpty())
|
||||||
{
|
{
|
||||||
std::cerr << "Error: no export filter" << std::endl;
|
std::cerr << "Error: no export filter" << std::endl;
|
||||||
@@ -605,29 +608,54 @@ bool DispatchWatcher::executeDispatchRequests( const std::vector<DispatchRequest
|
@@ -611,29 +614,54 @@ bool DispatchWatcher::executeDispatchRequests( const std::vector<DispatchRequest
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sal_Int32 nFilterOptionsIndex = aFilter.indexOf(':');
|
sal_Int32 nFilterOptionsIndex = aFilter.indexOf(':');
|
||||||
@ -136,7 +148,7 @@ index 50b92ecb7834..3df4f34ccf83 100644
|
|||||||
conversionProperties[nProps-1].Name = "ImageFilter";
|
conversionProperties[nProps-1].Name = "ImageFilter";
|
||||||
conversionProperties[nProps-1].Value <<= aImgOut;
|
conversionProperties[nProps-1].Value <<= aImgOut;
|
||||||
}
|
}
|
||||||
@@ -639,9 +667,11 @@ bool DispatchWatcher::executeDispatchRequests( const std::vector<DispatchRequest
|
@@ -645,9 +673,11 @@ bool DispatchWatcher::executeDispatchRequests( const std::vector<DispatchRequest
|
||||||
OString aTargetURL8 = OUStringToOString(aTempName, osl_getThreadTextEncoding());
|
OString aTargetURL8 = OUStringToOString(aTempName, osl_getThreadTextEncoding());
|
||||||
if (aDispatchRequest.aRequestType != REQUEST_CAT)
|
if (aDispatchRequest.aRequestType != REQUEST_CAT)
|
||||||
{
|
{
|
||||||
@ -150,8 +162,21 @@ index 50b92ecb7834..3df4f34ccf83 100644
|
|||||||
std::cout << "Overwriting: " << OUStringToOString(aTempName, osl_getThreadTextEncoding()) << std::endl ;
|
std::cout << "Overwriting: " << OUStringToOString(aTempName, osl_getThreadTextEncoding()) << std::endl ;
|
||||||
}
|
}
|
||||||
try
|
try
|
||||||
|
diff --git a/include/sfx2/docfile.hxx b/include/sfx2/docfile.hxx
|
||||||
|
index 2019b5738c01..2886348 100644
|
||||||
|
--- a/include/sfx2/docfile.hxx
|
||||||
|
+++ b/include/sfx2/docfile.hxx
|
||||||
|
@@ -108,6 +108,8 @@ public:
|
||||||
|
const OUString& GetOrigURL() const;
|
||||||
|
|
||||||
|
SfxItemSet * GetItemSet() const;
|
||||||
|
+ void SetArgs(const css::uno::Sequence<css::beans::PropertyValue>& rArgs);
|
||||||
|
+ css::uno::Sequence<css::beans::PropertyValue> GetArgs() const;
|
||||||
|
void Close(bool bInDestruction = false);
|
||||||
|
void CloseAndRelease();
|
||||||
|
void ReOpen();
|
||||||
diff --git a/sc/source/ui/dbgui/imoptdlg.cxx b/sc/source/ui/dbgui/imoptdlg.cxx
|
diff --git a/sc/source/ui/dbgui/imoptdlg.cxx b/sc/source/ui/dbgui/imoptdlg.cxx
|
||||||
index 071f1b0257bc..a362e4df0ee7 100644
|
index 26781924baac..7aa8c8acb061 100644
|
||||||
--- a/sc/source/ui/dbgui/imoptdlg.cxx
|
--- a/sc/source/ui/dbgui/imoptdlg.cxx
|
||||||
+++ b/sc/source/ui/dbgui/imoptdlg.cxx
|
+++ b/sc/source/ui/dbgui/imoptdlg.cxx
|
||||||
@@ -20,6 +20,7 @@
|
@@ -20,6 +20,7 @@
|
||||||
@ -168,25 +193,25 @@ index 071f1b0257bc..a362e4df0ee7 100644
|
|||||||
bRemoveSpace = false;
|
bRemoveSpace = false;
|
||||||
+ nSheetToExport = 0;
|
+ nSheetToExport = 0;
|
||||||
sal_Int32 nTokenCount = comphelper::string::getTokenCount(rStr, ',');
|
sal_Int32 nTokenCount = comphelper::string::getTokenCount(rStr, ',');
|
||||||
if ( nTokenCount < 3 )
|
if ( nTokenCount >= 3 )
|
||||||
return;
|
{
|
||||||
@@ -77,6 +79,16 @@ ScImportOptions::ScImportOptions( const OUString& rStr )
|
@@ -76,6 +78,16 @@ ScImportOptions::ScImportOptions( const OUString& rStr )
|
||||||
bSaveFormulas = rStr.getToken(0, ',', nIdx) == "true";
|
bSaveFormulas = rStr.getToken(0, ',', nIdx) == "true";
|
||||||
if ( nTokenCount >= 11 )
|
if ( nTokenCount >= 11 )
|
||||||
bRemoveSpace = rStr.getToken(0, ',', nIdx) == "true";
|
bRemoveSpace = rStr.getToken(0, ',', nIdx) == "true";
|
||||||
+ if ( nTokenCount >= 12 )
|
+ if ( nTokenCount >= 12 )
|
||||||
+ {
|
+ {
|
||||||
+ const OUString aTok(rStr.getToken(0, ',', nIdx));
|
+ const OUString aTok(rStr.getToken(0, ',', nIdx));
|
||||||
+ if (aTok == "-1")
|
+ if (aTok == "-1")
|
||||||
+ nSheetToExport = -1; // all
|
+ nSheetToExport = -1; // all
|
||||||
+ else if (aTok.isEmpty() || CharClass::isAsciiNumeric(aTok))
|
+ else if (aTok.isEmpty() || CharClass::isAsciiNumeric(aTok))
|
||||||
+ nSheetToExport = aTok.toInt32();
|
+ nSheetToExport = aTok.toInt32();
|
||||||
+ else
|
+ else
|
||||||
+ nSheetToExport = -23; // invalid, force error
|
+ nSheetToExport = -23; // invalid, force error
|
||||||
+ }
|
+ }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -99,7 +111,9 @@ OUString ScImportOptions::BuildString() const
|
@@ -99,7 +111,9 @@ OUString ScImportOptions::BuildString() const
|
||||||
"," +
|
"," +
|
||||||
OUString::boolean( bSaveFormulas ) + // "save formulas": not in ScAsciiOptions
|
OUString::boolean( bSaveFormulas ) + // "save formulas": not in ScAsciiOptions
|
||||||
@ -199,10 +224,10 @@ index 071f1b0257bc..a362e4df0ee7 100644
|
|||||||
return aResult;
|
return aResult;
|
||||||
}
|
}
|
||||||
diff --git a/sc/source/ui/docshell/docsh.cxx b/sc/source/ui/docshell/docsh.cxx
|
diff --git a/sc/source/ui/docshell/docsh.cxx b/sc/source/ui/docshell/docsh.cxx
|
||||||
index 91020db0b2e0..5fdfddd0c89b 100644
|
index bd7402231333..1c544fb6fa1a 100644
|
||||||
--- a/sc/source/ui/docshell/docsh.cxx
|
--- a/sc/source/ui/docshell/docsh.cxx
|
||||||
+++ b/sc/source/ui/docshell/docsh.cxx
|
+++ b/sc/source/ui/docshell/docsh.cxx
|
||||||
@@ -44,6 +44,7 @@
|
@@ -45,6 +45,7 @@
|
||||||
#include <sfx2/objface.hxx>
|
#include <sfx2/objface.hxx>
|
||||||
#include <sfx2/viewfrm.hxx>
|
#include <sfx2/viewfrm.hxx>
|
||||||
#include <svl/documentlockfile.hxx>
|
#include <svl/documentlockfile.hxx>
|
||||||
@ -210,7 +235,7 @@ index 91020db0b2e0..5fdfddd0c89b 100644
|
|||||||
#include <svl/sharecontrolfile.hxx>
|
#include <svl/sharecontrolfile.hxx>
|
||||||
#include <svl/urihelper.hxx>
|
#include <svl/urihelper.hxx>
|
||||||
#include <osl/file.hxx>
|
#include <osl/file.hxx>
|
||||||
@@ -119,6 +120,7 @@
|
@@ -120,6 +121,7 @@
|
||||||
#include <comphelper/processfactory.hxx>
|
#include <comphelper/processfactory.hxx>
|
||||||
#include <comphelper/string.hxx>
|
#include <comphelper/string.hxx>
|
||||||
#include <unotools/configmgr.hxx>
|
#include <unotools/configmgr.hxx>
|
||||||
@ -218,7 +243,7 @@ index 91020db0b2e0..5fdfddd0c89b 100644
|
|||||||
#include <uiitems.hxx>
|
#include <uiitems.hxx>
|
||||||
#include <dpobject.hxx>
|
#include <dpobject.hxx>
|
||||||
#include <markdata.hxx>
|
#include <markdata.hxx>
|
||||||
@@ -1925,7 +1927,7 @@ void escapeTextSep(sal_Int32 nPos, const StrT& rStrDelim, StrT& rStr)
|
@@ -1920,7 +1922,7 @@ void escapeTextSep(sal_Int32 nPos, const StrT& rStrDelim, StrT& rStr)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -227,7 +252,7 @@ index 91020db0b2e0..5fdfddd0c89b 100644
|
|||||||
{
|
{
|
||||||
sal_Unicode cDelim = rAsciiOpt.nFieldSepCode;
|
sal_Unicode cDelim = rAsciiOpt.nFieldSepCode;
|
||||||
sal_Unicode cStrDelim = rAsciiOpt.nTextSepCode;
|
sal_Unicode cStrDelim = rAsciiOpt.nTextSepCode;
|
||||||
@@ -1971,7 +1973,6 @@ void ScDocShell::AsciiSave( SvStream& rStream, const ScImportOptions& rAsciiOpt
|
@@ -1966,7 +1968,6 @@ void ScDocShell::AsciiSave( SvStream& rStream, const ScImportOptions& rAsciiOpt
|
||||||
|
|
||||||
SCCOL nStartCol = 0;
|
SCCOL nStartCol = 0;
|
||||||
SCROW nStartRow = 0;
|
SCROW nStartRow = 0;
|
||||||
@ -235,7 +260,7 @@ index 91020db0b2e0..5fdfddd0c89b 100644
|
|||||||
SCCOL nEndCol;
|
SCCOL nEndCol;
|
||||||
SCROW nEndRow;
|
SCROW nEndRow;
|
||||||
m_aDocument.GetCellArea( nTab, nEndCol, nEndRow );
|
m_aDocument.GetCellArea( nTab, nEndCol, nEndRow );
|
||||||
@@ -2389,35 +2390,129 @@ bool ScDocShell::ConvertTo( SfxMedium &rMed )
|
@@ -2384,35 +2385,129 @@ bool ScDocShell::ConvertTo( SfxMedium &rMed )
|
||||||
}
|
}
|
||||||
else if (aFltName == pFilterAscii)
|
else if (aFltName == pFilterAscii)
|
||||||
{
|
{
|
||||||
@ -387,10 +412,10 @@ index 91020db0b2e0..5fdfddd0c89b 100644
|
|||||||
}
|
}
|
||||||
else if (aFltName == pFilterDBase)
|
else if (aFltName == pFilterDBase)
|
||||||
diff --git a/sc/source/ui/inc/docsh.hxx b/sc/source/ui/inc/docsh.hxx
|
diff --git a/sc/source/ui/inc/docsh.hxx b/sc/source/ui/inc/docsh.hxx
|
||||||
index 41c0b30a42a8..3aa5f6caf311 100644
|
index a519f4c87d04..6a075ff6dade 100644
|
||||||
--- a/sc/source/ui/inc/docsh.hxx
|
--- a/sc/source/ui/inc/docsh.hxx
|
||||||
+++ b/sc/source/ui/inc/docsh.hxx
|
+++ b/sc/source/ui/inc/docsh.hxx
|
||||||
@@ -227,7 +227,7 @@ public:
|
@@ -230,7 +230,7 @@ public:
|
||||||
|
|
||||||
ScDrawLayer* MakeDrawLayer();
|
ScDrawLayer* MakeDrawLayer();
|
||||||
|
|
||||||
@ -423,6 +448,44 @@ index bac941c2a377..382067d67813 100644
|
|||||||
};
|
};
|
||||||
|
|
||||||
#endif // INCLUDED_SC_SOURCE_UI_INC_IMOPTDLG_HXX
|
#endif // INCLUDED_SC_SOURCE_UI_INC_IMOPTDLG_HXX
|
||||||
|
diff --git a/sfx2/source/doc/docfile.cxx b/sfx2/source/doc/docfile.cxx
|
||||||
|
index 5d00d39bd837..4e4e74a 100644
|
||||||
|
--- a/sfx2/source/doc/docfile.cxx
|
||||||
|
+++ b/sfx2/source/doc/docfile.cxx
|
||||||
|
@@ -328,6 +328,8 @@ public:
|
||||||
|
|
||||||
|
util::DateTime m_aDateTime;
|
||||||
|
|
||||||
|
+ uno::Sequence<beans::PropertyValue> m_aArgs;
|
||||||
|
+
|
||||||
|
explicit SfxMedium_Impl();
|
||||||
|
~SfxMedium_Impl();
|
||||||
|
SfxMedium_Impl(const SfxMedium_Impl&) = delete;
|
||||||
|
@@ -3240,6 +3242,7 @@ SfxMedium::SfxMedium( const uno::Sequence<beans::PropertyValue>& aArgs ) :
|
||||||
|
SfxAllItemSet *pParams = new SfxAllItemSet( SfxGetpApp()->GetPool() );
|
||||||
|
pImpl->m_pSet.reset( pParams );
|
||||||
|
TransformParameters( SID_OPENDOC, aArgs, *pParams );
|
||||||
|
+ SetArgs(aArgs);
|
||||||
|
|
||||||
|
OUString aFilterProvider, aFilterName;
|
||||||
|
{
|
||||||
|
@@ -3301,6 +3304,16 @@ SfxMedium::SfxMedium( const uno::Sequence<beans::PropertyValue>& aArgs ) :
|
||||||
|
Init_Impl();
|
||||||
|
}
|
||||||
|
|
||||||
|
+void SfxMedium::SetArgs(const uno::Sequence<beans::PropertyValue>& rArgs)
|
||||||
|
+{
|
||||||
|
+ pImpl->m_aArgs = rArgs;
|
||||||
|
+ comphelper::SequenceAsHashMap aArgsMap(rArgs);
|
||||||
|
+ aArgsMap.erase("Stream");
|
||||||
|
+ aArgsMap.erase("InputStream");
|
||||||
|
+ pImpl->m_aArgs = aArgsMap.getAsConstPropertyValueList();
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+uno::Sequence<beans::PropertyValue> SfxMedium::GetArgs() const { return pImpl->m_aArgs; }
|
||||||
|
|
||||||
|
SfxMedium::SfxMedium( const uno::Reference < embed::XStorage >& rStor, const OUString& rBaseURL, const std::shared_ptr<SfxItemSet>& p ) :
|
||||||
|
pImpl(new SfxMedium_Impl)
|
||||||
--
|
--
|
||||||
2.31.1
|
2.31.1
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
From afc69ae524da5f8fad53d30e5c9ebaa458679732 Mon Sep 17 00:00:00 2001
|
From a7bc0ab5215734cb2bd4162cb5cdcc69fef23ef4 Mon Sep 17 00:00:00 2001
|
||||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||||
Date: Tue, 11 Apr 2023 10:13:37 +0100
|
Date: Tue, 11 Apr 2023 10:13:37 +0100
|
||||||
Subject: [PATCH 1/3] set Referer on loading IFrames
|
Subject: [PATCH 1/3] set Referer on loading IFrames
|
||||||
@ -18,11 +18,11 @@ Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150751
|
|||||||
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
||||||
(cherry picked from commit acff9ca0579333b45d10ae5f8cd48172f563dddd)
|
(cherry picked from commit acff9ca0579333b45d10ae5f8cd48172f563dddd)
|
||||||
(cherry picked from commit 04c8176fb40d2eb983aa0bd0a6ce65804d3f6ecd)
|
(cherry picked from commit 04c8176fb40d2eb983aa0bd0a6ce65804d3f6ecd)
|
||||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152112
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152094
|
||||||
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
||||||
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
||||||
|
|
||||||
(cherry picked from commit 4e2a04f66eabd2132f9c801c060828adcd20ca1a)
|
(cherry picked from commit 789155b523b384df020d86228ac200a63a68b154)
|
||||||
Conflicts:
|
Conflicts:
|
||||||
sfx2/source/doc/iframe.cxx
|
sfx2/source/doc/iframe.cxx
|
||||||
---
|
---
|
||||||
@ -30,23 +30,25 @@ Conflicts:
|
|||||||
1 file changed, 14 insertions(+), 8 deletions(-)
|
1 file changed, 14 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
diff --git a/sfx2/source/doc/iframe.cxx b/sfx2/source/doc/iframe.cxx
|
diff --git a/sfx2/source/doc/iframe.cxx b/sfx2/source/doc/iframe.cxx
|
||||||
index 3f9036a79b04..b9495b8fd311 100644
|
index b5291b239164b..5a0ea96a234da 100644
|
||||||
--- a/sfx2/source/doc/iframe.cxx
|
--- a/sfx2/source/doc/iframe.cxx
|
||||||
+++ b/sfx2/source/doc/iframe.cxx
|
+++ b/sfx2/source/doc/iframe.cxx
|
||||||
@@ -33,10 +33,12 @@
|
@@ -32,12 +32,14 @@
|
||||||
#include <com/sun/star/ui/dialogs/XExecutableDialog.hpp>
|
#include <com/sun/star/ui/dialogs/XExecutableDialog.hpp>
|
||||||
#include <com/sun/star/embed/XEmbeddedObject.hpp>
|
#include <com/sun/star/embed/XEmbeddedObject.hpp>
|
||||||
|
|
||||||
+#include <comphelper/propertyvalue.hxx>
|
+#include <comphelper/propertyvalue.hxx>
|
||||||
#include <cppuhelper/implbase.hxx>
|
#include <cppuhelper/implbase.hxx>
|
||||||
#include <cppuhelper/supportsservice.hxx>
|
#include <cppuhelper/supportsservice.hxx>
|
||||||
#include <officecfg/Office/Common.hxx>
|
#include <rtl/ref.hxx>
|
||||||
|
#include <svtools/miscopt.hxx>
|
||||||
|
#include <svl/ownlist.hxx>
|
||||||
#include <svl/itemprop.hxx>
|
#include <svl/itemprop.hxx>
|
||||||
+#include <sfx2/docfile.hxx>
|
+#include <sfx2/docfile.hxx>
|
||||||
#include <sfx2/frmdescr.hxx>
|
#include <sfx2/frmdescr.hxx>
|
||||||
#include <sfx2/objsh.hxx>
|
#include <sfx2/objsh.hxx>
|
||||||
#include <sfx2/sfxdlg.hxx>
|
#include <sfx2/sfxdlg.hxx>
|
||||||
@@ -164,14 +166,19 @@ sal_Bool SAL_CALL IFrameObject::load(
|
@@ -166,14 +168,19 @@ sal_Bool SAL_CALL IFrameObject::load(
|
||||||
uno::Reference < util::XURLTransformer > xTrans( util::URLTransformer::create( mxContext ) );
|
uno::Reference < util::XURLTransformer > xTrans( util::URLTransformer::create( mxContext ) );
|
||||||
xTrans->parseStrict( aTargetURL );
|
xTrans->parseStrict( aTargetURL );
|
||||||
|
|
||||||
@ -68,7 +70,7 @@ index 3f9036a79b04..b9495b8fd311 100644
|
|||||||
DBG_ASSERT( !mxFrame.is(), "Frame already existing!" );
|
DBG_ASSERT( !mxFrame.is(), "Frame already existing!" );
|
||||||
VclPtr<vcl::Window> pParent = VCLUnoHelper::GetWindow( xFrame->getContainerWindow() );
|
VclPtr<vcl::Window> pParent = VCLUnoHelper::GetWindow( xFrame->getContainerWindow() );
|
||||||
VclPtr<IFrameWindow_Impl> pWin = VclPtr<IFrameWindow_Impl>::Create( pParent, maFrmDescr.IsFrameBorderOn() );
|
VclPtr<IFrameWindow_Impl> pWin = VclPtr<IFrameWindow_Impl>::Create( pParent, maFrmDescr.IsFrameBorderOn() );
|
||||||
@@ -194,12 +201,11 @@ sal_Bool SAL_CALL IFrameObject::load(
|
@@ -196,12 +203,11 @@ sal_Bool SAL_CALL IFrameObject::load(
|
||||||
if ( xFramesSupplier.is() )
|
if ( xFramesSupplier.is() )
|
||||||
mxFrame->setCreator( xFramesSupplier );
|
mxFrame->setCreator( xFramesSupplier );
|
||||||
|
|
||||||
|
@ -1,72 +0,0 @@
|
|||||||
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,44 @@
|
|||||||
|
From 96fc7531331f45a314416000150b1141e5686f38 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||||
|
Date: Fri, 2 Oct 2020 16:21:02 +0100
|
||||||
|
Subject: [PATCH] tdf#137209 unparent widgets in fragment dtor
|
||||||
|
|
||||||
|
Change-Id: I819514fd2b97e2cc8daad71a7f3b0b27afe6136d
|
||||||
|
---
|
||||||
|
sw/source/ui/dbui/createaddresslistdialog.cxx | 8 ++++++++
|
||||||
|
1 file changed, 8 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/sw/source/ui/dbui/createaddresslistdialog.cxx b/sw/source/ui/dbui/createaddresslistdialog.cxx
|
||||||
|
index ae4d354ea29d..994a6045cea5 100644
|
||||||
|
--- a/sw/source/ui/dbui/createaddresslistdialog.cxx
|
||||||
|
+++ b/sw/source/ui/dbui/createaddresslistdialog.cxx
|
||||||
|
@@ -53,11 +53,13 @@ struct SwAddressFragment
|
||||||
|
std::unique_ptr<weld::Builder> m_xBuilder;
|
||||||
|
std::unique_ptr<weld::Label> m_xLabel;
|
||||||
|
std::unique_ptr<weld::Entry> m_xEntry;
|
||||||
|
+ weld::Container* m_pGrid;
|
||||||
|
|
||||||
|
SwAddressFragment(weld::Container* pGrid, int nLine)
|
||||||
|
: m_xBuilder(Application::CreateBuilder(pGrid, "modules/swriter/ui/addressfragment.ui"))
|
||||||
|
, m_xLabel(m_xBuilder->weld_label("label"))
|
||||||
|
, m_xEntry(m_xBuilder->weld_entry("entry"))
|
||||||
|
+ , m_pGrid(pGrid)
|
||||||
|
{
|
||||||
|
m_xLabel->set_grid_left_attach(0);
|
||||||
|
m_xLabel->set_grid_top_attach(nLine);
|
||||||
|
@@ -65,6 +67,12 @@ struct SwAddressFragment
|
||||||
|
m_xEntry->set_grid_left_attach(1);
|
||||||
|
m_xEntry->set_grid_top_attach(nLine);
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+ virtual ~SwAddressFragment()
|
||||||
|
+ {
|
||||||
|
+ m_pGrid->move(m_xEntry.get(), nullptr);
|
||||||
|
+ m_pGrid->move(m_xLabel.get(), nullptr);
|
||||||
|
+ }
|
||||||
|
};
|
||||||
|
|
||||||
|
class SwAddressControl_Impl
|
||||||
|
--
|
||||||
|
2.26.2
|
||||||
|
|
@ -0,0 +1,144 @@
|
|||||||
|
From f1cace2cd06b20fc1431f15892a4293fa3601b39 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||||
|
Date: Wed, 8 Jul 2020 10:13:26 +0100
|
||||||
|
Subject: [PATCH] use gdk_wayland_window_set_application_id when it becomes
|
||||||
|
available
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Change-Id: I60775dcbfbc396f195a71f219668944d0bfecf31
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98325
|
||||||
|
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
||||||
|
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
||||||
|
(cherry picked from commit 2d8e2813ddc87f7ce03b97e4d603df11613461f0)
|
||||||
|
|
||||||
|
gdk_wayland_window_set_application_id doesn't work when called early
|
||||||
|
|
||||||
|
after mapped it definitely works
|
||||||
|
|
||||||
|
Change-Id: Ide0fa636ee26acea0d938aef08532b9396fe901a
|
||||||
|
---
|
||||||
|
vcl/inc/unx/gtk/gtkframe.hxx | 3 +++
|
||||||
|
vcl/unx/gtk3/gtk3gtkframe.cxx | 49 +++++++++++++++++++++++++++++------
|
||||||
|
2 files changed, 44 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/vcl/inc/unx/gtk/gtkframe.hxx b/vcl/inc/unx/gtk/gtkframe.hxx
|
||||||
|
index ccf9064..49b6937 100644
|
||||||
|
--- a/vcl/inc/unx/gtk/gtkframe.hxx
|
||||||
|
+++ b/vcl/inc/unx/gtk/gtkframe.hxx
|
||||||
|
@@ -206,6 +206,7 @@ class GtkSalFrame : public SalFrame
|
||||||
|
GtkDropTarget* m_pDropTarget;
|
||||||
|
GtkDragSource* m_pDragSource;
|
||||||
|
bool m_bGeometryIsProvisional;
|
||||||
|
+ bool m_bIconSetWhileUnmapped;
|
||||||
|
|
||||||
|
GtkSalMenu* m_pSalMenu;
|
||||||
|
|
||||||
|
@@ -315,6 +316,8 @@ class GtkSalFrame : public SalFrame
|
||||||
|
|
||||||
|
void SetScreen( unsigned int nNewScreen, SetType eType, tools::Rectangle const *pSize = nullptr );
|
||||||
|
|
||||||
|
+ void SetIcon(const char* pIcon);
|
||||||
|
+
|
||||||
|
public:
|
||||||
|
cairo_surface_t* m_pSurface;
|
||||||
|
basegfx::B2IVector m_aFrameSize;
|
||||||
|
diff --git a/vcl/unx/gtk3/gtk3gtkframe.cxx b/vcl/unx/gtk3/gtk3gtkframe.cxx
|
||||||
|
index 786aa40..624c75a 100644
|
||||||
|
--- a/vcl/unx/gtk3/gtk3gtkframe.cxx
|
||||||
|
+++ b/vcl/unx/gtk3/gtk3gtkframe.cxx
|
||||||
|
@@ -55,6 +55,7 @@
|
||||||
|
|
||||||
|
#include <cstdlib>
|
||||||
|
#include <cmath>
|
||||||
|
+#include <dlfcn.h>
|
||||||
|
|
||||||
|
#include <com/sun/star/accessibility/XAccessibleEditableText.hpp>
|
||||||
|
#include <com/sun/star/awt/MouseButton.hpp>
|
||||||
|
@@ -922,6 +923,7 @@ void GtkSalFrame::InitCommon()
|
||||||
|
m_pDropTarget = nullptr;
|
||||||
|
m_pDragSource = nullptr;
|
||||||
|
m_bGeometryIsProvisional = false;
|
||||||
|
+ m_bIconSetWhileUnmapped = false;
|
||||||
|
m_ePointerStyle = static_cast<PointerStyle>(0xffff);
|
||||||
|
m_pSalMenu = nullptr;
|
||||||
|
m_nWatcherId = 0;
|
||||||
|
@@ -1217,6 +1219,28 @@ void GtkSalFrame::SetTitle( const OUString& rTitle )
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+void GtkSalFrame::SetIcon(const char* appicon)
|
||||||
|
+{
|
||||||
|
+ gtk_window_set_icon_name(GTK_WINDOW(m_pWindow), appicon);
|
||||||
|
+
|
||||||
|
+#if defined(GDK_WINDOWING_WAYLAND)
|
||||||
|
+ if (DLSYM_GDK_IS_WAYLAND_DISPLAY(getGdkDisplay()))
|
||||||
|
+ {
|
||||||
|
+ static auto set_application_id = reinterpret_cast<void (*) (GdkWindow*, const char*)>(
|
||||||
|
+ dlsym(nullptr, "gdk_wayland_window_set_application_id"));
|
||||||
|
+ if (set_application_id)
|
||||||
|
+ {
|
||||||
|
+ GdkWindow* gdkWindow = gtk_widget_get_window(m_pWindow);
|
||||||
|
+ set_application_id(gdkWindow, appicon);
|
||||||
|
+
|
||||||
|
+ // gdk_wayland_window_set_application_id doesn't seem to work before
|
||||||
|
+ // the window is mapped, so set this for real when/if we are mapped
|
||||||
|
+ m_bIconSetWhileUnmapped = !gtk_widget_get_mapped(m_pWindow);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+#endif
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
void GtkSalFrame::SetIcon( sal_uInt16 nIcon )
|
||||||
|
{
|
||||||
|
if( (m_nStyle & (SalFrameStyleFlags::PLUG|SalFrameStyleFlags::SYSTEMCHILD|SalFrameStyleFlags::FLOAT|SalFrameStyleFlags::INTRO|SalFrameStyleFlags::OWNERDRAWDECORATION))
|
||||||
|
@@ -1240,7 +1264,8 @@ void GtkSalFrame::SetIcon( sal_uInt16 nIcon )
|
||||||
|
else
|
||||||
|
appicon = g_strdup ("libreoffice-startcenter");
|
||||||
|
|
||||||
|
- gtk_window_set_icon_name (GTK_WINDOW (m_pWindow), appicon);
|
||||||
|
+ SetIcon(appicon);
|
||||||
|
+
|
||||||
|
g_free (appicon);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -1309,13 +1334,18 @@ void GtkSalFrame::Show( bool bVisible, bool /*bNoActivate*/ )
|
||||||
|
}
|
||||||
|
|
||||||
|
#if defined(GDK_WINDOWING_WAYLAND)
|
||||||
|
- //rhbz#1334915, gnome#779143, tdf#100158
|
||||||
|
- //gtk under wayland lacks a way to change the app_id
|
||||||
|
- //of a window, so brute force everything as a
|
||||||
|
- //startcenter when initially shown to at least get
|
||||||
|
- //the default LibreOffice icon and not the broken
|
||||||
|
- //app icon
|
||||||
|
- if (DLSYM_GDK_IS_WAYLAND_DISPLAY(getGdkDisplay()))
|
||||||
|
+ /*
|
||||||
|
+ rhbz#1334915, gnome#779143, tdf#100158
|
||||||
|
+ https://gitlab.gnome.org/GNOME/gtk/-/issues/767
|
||||||
|
+
|
||||||
|
+ before gdk_wayland_window_set_application_id was available gtk
|
||||||
|
+ under wayland lacked a way to change the app_id of a window, so
|
||||||
|
+ brute force everything as a startcenter when initially shown to at
|
||||||
|
+ least get the default LibreOffice icon and not the broken app icon
|
||||||
|
+ */
|
||||||
|
+ static bool bAppIdImmutable = DLSYM_GDK_IS_WAYLAND_DISPLAY(getGdkDisplay()) &&
|
||||||
|
+ !dlsym(nullptr, "gdk_wayland_window_set_application_id");
|
||||||
|
+ if (bAppIdImmutable)
|
||||||
|
{
|
||||||
|
OString sOrigName(g_get_prgname());
|
||||||
|
g_set_prgname("libreoffice-startcenter");
|
||||||
|
@@ -3039,6 +3069,9 @@ gboolean GtkSalFrame::signalMap(GtkWidget *, GdkEvent*, gpointer frame)
|
||||||
|
{
|
||||||
|
GtkSalFrame* pThis = static_cast<GtkSalFrame*>(frame);
|
||||||
|
|
||||||
|
+ if (pThis->m_bIconSetWhileUnmapped)
|
||||||
|
+ pThis->SetIcon(gtk_window_get_icon_name(GTK_WINDOW(pThis->m_pWindow)));
|
||||||
|
+
|
||||||
|
pThis->CallCallbackExc( SalEvent::Resize, nullptr );
|
||||||
|
pThis->TriggerPaintEvent();
|
||||||
|
|
||||||
|
--
|
||||||
|
2.26.2
|
||||||
|
|
56
SOURCES/0002-CVE-2021-25635.patch
Normal file
56
SOURCES/0002-CVE-2021-25635.patch
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
From a9102a384893fd084011e8451867071452031ece Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||||
|
Date: Mon, 8 Feb 2021 17:05:28 +0000
|
||||||
|
Subject: [PATCH 2/6] CVE-2021-25635
|
||||||
|
|
||||||
|
default to CertificateValidity::INVALID
|
||||||
|
|
||||||
|
so if CertGetCertificateChain fails we don't want validity to be
|
||||||
|
css::security::CertificateValidity::VALID which is what the old default
|
||||||
|
of 0 equates to
|
||||||
|
|
||||||
|
notably
|
||||||
|
|
||||||
|
commit 1e0bc66d16aee28ce8bd9582ea32178c63841902
|
||||||
|
Date: Thu Nov 5 16:55:26 2009 +0100
|
||||||
|
|
||||||
|
jl137: #103420# better logging
|
||||||
|
|
||||||
|
turned the nss equivalent of SecurityEnvironment_NssImpl::verifyCertificate
|
||||||
|
from 0 to CertificateValidity::INVALID like this change does
|
||||||
|
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110561
|
||||||
|
Tested-by: Jenkins
|
||||||
|
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
||||||
|
(cherry picked from commit edeb164c1d8ab64116afee4e2140403a362a1358)
|
||||||
|
|
||||||
|
Change-Id: I5350dbc22d1b9b378da2976d3b0abd728f1f4c27
|
||||||
|
---
|
||||||
|
.../source/xmlsec/mscrypt/securityenvironment_mscryptimpl.cxx | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/xmlsecurity/source/xmlsec/mscrypt/securityenvironment_mscryptimpl.cxx b/xmlsecurity/source/xmlsec/mscrypt/securityenvironment_mscryptimpl.cxx
|
||||||
|
index d9b657891b96..4031df289f44 100644
|
||||||
|
--- a/xmlsecurity/source/xmlsec/mscrypt/securityenvironment_mscryptimpl.cxx
|
||||||
|
+++ b/xmlsecurity/source/xmlsec/mscrypt/securityenvironment_mscryptimpl.cxx
|
||||||
|
@@ -755,7 +755,7 @@ sal_Int32 SecurityEnvironment_MSCryptImpl::verifyCertificate(
|
||||||
|
const uno::Reference< css::security::XCertificate >& aCert,
|
||||||
|
const uno::Sequence< uno::Reference< css::security::XCertificate > >& seqCerts)
|
||||||
|
{
|
||||||
|
- sal_Int32 validity = 0;
|
||||||
|
+ sal_Int32 validity = css::security::CertificateValidity::INVALID;
|
||||||
|
PCCERT_CHAIN_CONTEXT pChainContext = nullptr;
|
||||||
|
PCCERT_CONTEXT pCertContext = nullptr;
|
||||||
|
|
||||||
|
@@ -899,7 +899,7 @@ sal_Int32 SecurityEnvironment_MSCryptImpl::verifyCertificate(
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
- SAL_INFO("xmlsecurity.xmlsec", "CertGetCertificateChaine failed.");
|
||||||
|
+ SAL_INFO("xmlsecurity.xmlsec", "CertGetCertificateChain failed.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.32.0
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
From 780c42cdd8006dc60e281be2fe6566f101e909bc Mon Sep 17 00:00:00 2001
|
From 61f8673fb44150bd629d88f6626aff8d5b026449 Mon Sep 17 00:00:00 2001
|
||||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||||
Date: Mon, 21 Mar 2022 20:58:34 +0000
|
Date: Mon, 21 Mar 2022 20:58:34 +0000
|
||||||
Subject: [PATCH 2/5] CVE-2022-26307 make hash encoding match decoding
|
Subject: [PATCH] make hash encoding match decoding
|
||||||
|
|
||||||
Seeing as old versions of the hash may be in the users config, add a
|
Seeing as old versions of the hash may be in the users config, add a
|
||||||
StorageVersion field to the office config Passwords section which
|
StorageVersion field to the office config Passwords section which
|
||||||
@ -11,23 +11,36 @@ Try the old varient when StorageVersion is 0. When a new encoded master
|
|||||||
password it set write StorageVersion of 1 to indicate a new hash is in
|
password it set write StorageVersion of 1 to indicate a new hash is in
|
||||||
use and use the new style when StorageVersion is 1.
|
use and use the new style when StorageVersion is 1.
|
||||||
|
|
||||||
Change-Id: I3174c37a5891bfc849984e0ec5c2c392b9c6e7b1
|
|
||||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132080
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132080
|
||||||
Tested-by: Jenkins
|
Tested-by: Jenkins
|
||||||
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
||||||
(cherry picked from commit e890f54dbac57f3ab5acf4fbd31222095d3e8ab6)
|
(cherry picked from commit e890f54dbac57f3ab5acf4fbd31222095d3e8ab6)
|
||||||
|
|
||||||
|
svl: fix crash if user cancels/closes master password dialog
|
||||||
|
|
||||||
|
(regression from d7ba5614d90381d68f880ca7e7c5ef8bbb1b1c43)
|
||||||
|
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133932
|
||||||
|
Tested-by: Jenkins
|
||||||
|
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
||||||
|
(cherry picked from commit bbb8617ece6d946957c2eb96287081029bce530f)
|
||||||
|
|
||||||
|
Change-Id: I3174c37a5891bfc849984e0ec5c2c392b9c6e7b1
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133905
|
||||||
|
Tested-by: Michael Stahl <michael.stahl@allotropia.de>
|
||||||
|
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
||||||
---
|
---
|
||||||
.../schema/org/openoffice/Office/Common.xcs | 6 +++
|
.../schema/org/openoffice/Office/Common.xcs | 6 +++
|
||||||
.../passwordcontainer/passwordcontainer.cxx | 45 +++++++++++++++++--
|
.../passwordcontainer/passwordcontainer.cxx | 47 ++++++++++++++++++-
|
||||||
.../passwordcontainer/passwordcontainer.hxx | 6 +++
|
.../passwordcontainer/passwordcontainer.hxx | 6 +++
|
||||||
uui/source/iahndl-authentication.cxx | 5 ++-
|
uui/source/iahndl-authentication.cxx | 5 +-
|
||||||
4 files changed, 57 insertions(+), 5 deletions(-)
|
4 files changed, 60 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
|
diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
|
||||||
index 9097c23c3c6a..922efc33cca7 100644
|
index b317f616deeb..b033b29b60d7 100644
|
||||||
--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs
|
--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs
|
||||||
+++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
|
+++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
|
||||||
@@ -942,6 +942,12 @@
|
@@ -911,6 +911,12 @@
|
||||||
</info>
|
</info>
|
||||||
<value>false</value>
|
<value>false</value>
|
||||||
</prop>
|
</prop>
|
||||||
@ -41,18 +54,19 @@ index 9097c23c3c6a..922efc33cca7 100644
|
|||||||
<info>
|
<info>
|
||||||
<desc>Specifies if there is a valid master password.</desc>
|
<desc>Specifies if there is a valid master password.</desc>
|
||||||
diff --git a/svl/source/passwordcontainer/passwordcontainer.cxx b/svl/source/passwordcontainer/passwordcontainer.cxx
|
diff --git a/svl/source/passwordcontainer/passwordcontainer.cxx b/svl/source/passwordcontainer/passwordcontainer.cxx
|
||||||
index 51fb129cddb1..b674844f91d3 100644
|
index 02947cd3892c..ff0b40df4016 100644
|
||||||
--- a/svl/source/passwordcontainer/passwordcontainer.cxx
|
--- a/svl/source/passwordcontainer/passwordcontainer.cxx
|
||||||
+++ b/svl/source/passwordcontainer/passwordcontainer.cxx
|
+++ b/svl/source/passwordcontainer/passwordcontainer.cxx
|
||||||
@@ -17,7 +17,6 @@
|
@@ -17,6 +17,8 @@
|
||||||
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
||||||
*/
|
*/
|
||||||
|
|
||||||
-
|
+#include <sal/config.h>
|
||||||
|
+#include <sal/log.hxx>
|
||||||
|
|
||||||
#include "passwordcontainer.hxx"
|
#include "passwordcontainer.hxx"
|
||||||
|
|
||||||
#include <cppuhelper/factory.hxx>
|
@@ -259,6 +261,23 @@ bool StorageItem::useStorage()
|
||||||
@@ -259,6 +258,23 @@ bool StorageItem::useStorage()
|
|
||||||
return aResult;
|
return aResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -76,7 +90,7 @@ index 51fb129cddb1..b674844f91d3 100644
|
|||||||
|
|
||||||
bool StorageItem::getEncodedMP( OUString& aResult )
|
bool StorageItem::getEncodedMP( OUString& aResult )
|
||||||
{
|
{
|
||||||
@@ -291,15 +307,17 @@ bool StorageItem::getEncodedMP( OUString& aResult )
|
@@ -291,15 +310,17 @@ bool StorageItem::getEncodedMP( OUString& aResult )
|
||||||
|
|
||||||
void StorageItem::setEncodedMP( const OUString& aEncoded, bool bAcceptEmpty )
|
void StorageItem::setEncodedMP( const OUString& aEncoded, bool bAcceptEmpty )
|
||||||
{
|
{
|
||||||
@ -96,7 +110,7 @@ index 51fb129cddb1..b674844f91d3 100644
|
|||||||
|
|
||||||
ConfigItem::SetModified();
|
ConfigItem::SetModified();
|
||||||
ConfigItem::PutProperties( sendNames, sendVals );
|
ConfigItem::PutProperties( sendNames, sendVals );
|
||||||
@@ -800,6 +818,18 @@ OUString PasswordContainer::RequestPasswordFromUser( PasswordRequestMode aRMode,
|
@@ -800,6 +821,18 @@ OUString PasswordContainer::RequestPasswordFromUser( PasswordRequestMode aRMode,
|
||||||
return aResult;
|
return aResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -115,7 +129,7 @@ index 51fb129cddb1..b674844f91d3 100644
|
|||||||
|
|
||||||
OUString const & PasswordContainer::GetMasterPassword( const Reference< XInteractionHandler >& aHandler )
|
OUString const & PasswordContainer::GetMasterPassword( const Reference< XInteractionHandler >& aHandler )
|
||||||
{
|
{
|
||||||
@@ -838,6 +868,9 @@ OUString const & PasswordContainer::GetMasterPassword( const Reference< XInterac
|
@@ -838,6 +871,9 @@ OUString const & PasswordContainer::GetMasterPassword( const Reference< XInterac
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -125,11 +139,12 @@ index 51fb129cddb1..b674844f91d3 100644
|
|||||||
std::vector< OUString > aRM( DecodePasswords( aEncodedMP, aPass, aRMode ) );
|
std::vector< OUString > aRM( DecodePasswords( aEncodedMP, aPass, aRMode ) );
|
||||||
if( aRM.empty() || aPass != aRM[0] )
|
if( aRM.empty() || aPass != aRM[0] )
|
||||||
{
|
{
|
||||||
@@ -1042,6 +1075,12 @@ sal_Bool SAL_CALL PasswordContainer::authorizateWithMasterPassword( const uno::R
|
@@ -1042,6 +1078,13 @@ sal_Bool SAL_CALL PasswordContainer::authorizateWithMasterPassword( const uno::R
|
||||||
|
|
||||||
do {
|
do {
|
||||||
aPass = RequestPasswordFromUser( aRMode, xTmpHandler );
|
aPass = RequestPasswordFromUser( aRMode, xTmpHandler );
|
||||||
+
|
+
|
||||||
|
+
|
||||||
+ if (!aPass.isEmpty() && m_pStorageFile->getStorageVersion() == 0)
|
+ if (!aPass.isEmpty() && m_pStorageFile->getStorageVersion() == 0)
|
||||||
+ {
|
+ {
|
||||||
+ aPass = ReencodeAsOldHash(aPass);
|
+ aPass = ReencodeAsOldHash(aPass);
|
||||||
@ -139,10 +154,10 @@ index 51fb129cddb1..b674844f91d3 100644
|
|||||||
aRMode = PasswordRequestMode_PASSWORD_REENTER; // further questions with error notification
|
aRMode = PasswordRequestMode_PASSWORD_REENTER; // further questions with error notification
|
||||||
} while( !bResult && !aPass.isEmpty() );
|
} while( !bResult && !aPass.isEmpty() );
|
||||||
diff --git a/svl/source/passwordcontainer/passwordcontainer.hxx b/svl/source/passwordcontainer/passwordcontainer.hxx
|
diff --git a/svl/source/passwordcontainer/passwordcontainer.hxx b/svl/source/passwordcontainer/passwordcontainer.hxx
|
||||||
index 46ffec888602..bf43b5903602 100644
|
index 09fb7e03629d..cf5c717d0c9e 100644
|
||||||
--- a/svl/source/passwordcontainer/passwordcontainer.hxx
|
--- a/svl/source/passwordcontainer/passwordcontainer.hxx
|
||||||
+++ b/svl/source/passwordcontainer/passwordcontainer.hxx
|
+++ b/svl/source/passwordcontainer/passwordcontainer.hxx
|
||||||
@@ -168,6 +168,10 @@ public:
|
@@ -167,6 +167,10 @@ public:
|
||||||
typedef ::std::pair< const OUString, ::std::vector< NamePassRecord > > PairUrlRecord;
|
typedef ::std::pair< const OUString, ::std::vector< NamePassRecord > > PairUrlRecord;
|
||||||
typedef ::std::map< OUString, ::std::vector< NamePassRecord > > PassMap;
|
typedef ::std::map< OUString, ::std::vector< NamePassRecord > > PassMap;
|
||||||
|
|
||||||
@ -153,17 +168,17 @@ index 46ffec888602..bf43b5903602 100644
|
|||||||
|
|
||||||
class PasswordContainer;
|
class PasswordContainer;
|
||||||
|
|
||||||
@@ -196,6 +200,8 @@ public:
|
@@ -195,6 +199,8 @@ public:
|
||||||
void remove( const OUString& url, const OUString& rec );
|
void remove( const OUString& url, const OUString& rec );
|
||||||
void clear();
|
void clear();
|
||||||
|
|
||||||
+ sal_Int32 getStorageVersion();
|
+ sal_Int32 getStorageVersion();
|
||||||
+
|
+
|
||||||
bool getEncodedMP( OUString& aResult );
|
bool getEncodedMP( OUString& aResult );
|
||||||
void setEncodedMP( const OUString& aResult, bool bAcceptEmpty = false );
|
void setEncodedMP( const OUString& aResult, bool bAcceptEnmpty = false );
|
||||||
void setUseStorage( bool bUse );
|
void setUseStorage( bool bUse );
|
||||||
diff --git a/uui/source/iahndl-authentication.cxx b/uui/source/iahndl-authentication.cxx
|
diff --git a/uui/source/iahndl-authentication.cxx b/uui/source/iahndl-authentication.cxx
|
||||||
index ad975d3f9ae7..951f0b8a1c6b 100644
|
index 4835a485dd2a..5764e62cb1c6 100644
|
||||||
--- a/uui/source/iahndl-authentication.cxx
|
--- a/uui/source/iahndl-authentication.cxx
|
||||||
+++ b/uui/source/iahndl-authentication.cxx
|
+++ b/uui/source/iahndl-authentication.cxx
|
||||||
@@ -436,8 +436,9 @@ executeMasterPasswordDialog(
|
@@ -436,8 +436,9 @@ executeMasterPasswordDialog(
|
||||||
@ -179,5 +194,5 @@ index ad975d3f9ae7..951f0b8a1c6b 100644
|
|||||||
rInfo.SetPassword(aBuffer.makeStringAndClear());
|
rInfo.SetPassword(aBuffer.makeStringAndClear());
|
||||||
}
|
}
|
||||||
--
|
--
|
||||||
2.37.3
|
2.37.1
|
||||||
|
|
||||||
|
@ -1,17 +1,11 @@
|
|||||||
From 82752ccba78ecdbf94908377ec022f68ba7d9d59 Mon Sep 17 00:00:00 2001
|
From 99b453dfac5ed44a02c6e1a51b871ee50709a405 Mon Sep 17 00:00:00 2001
|
||||||
Message-ID: <82752ccba78ecdbf94908377ec022f68ba7d9d59.1703086328.git.erack@redhat.com>
|
|
||||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolan.mcnamara@collabora.com>
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolan.mcnamara@collabora.com>
|
||||||
Date: Sat, 4 Nov 2023 19:57:51 +0000
|
Date: Sat, 4 Nov 2023 19:57:51 +0000
|
||||||
Subject: [PATCH 1/4] warn about exotic protocols as well
|
Subject: [PATCH] warn about exotic protocols as well
|
||||||
MIME-Version: 1.0
|
MIME-Version: 1.0
|
||||||
Content-Type: multipart/mixed; boundary="------------erAck-patch-parts"
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
|
||||||
This is a multi-part message in MIME format.
|
|
||||||
--------------erAck-patch-parts
|
|
||||||
Content-Type: text/plain; charset=UTF-8; format=fixed
|
|
||||||
Content-Transfer-Encoding: 8bit
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
|
||||||
Change-Id: I50dcf4f36cd20d75f5ad3876353143268740a50f
|
Change-Id: I50dcf4f36cd20d75f5ad3876353143268740a50f
|
||||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151834
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151834
|
||||||
Tested-by: Jenkins
|
Tested-by: Jenkins
|
||||||
@ -26,7 +20,7 @@ Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|||||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159911
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159911
|
||||||
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
||||||
|
|
||||||
erAck: backported to 7.1.8.1
|
erAck: backported to 6.4.7.2
|
||||||
|
|
||||||
---
|
---
|
||||||
sw/source/filter/html/htmlplug.cxx | 2 +-
|
sw/source/filter/html/htmlplug.cxx | 2 +-
|
||||||
@ -35,17 +29,11 @@ erAck: backported to 7.1.8.1
|
|||||||
xmloff/source/draw/ximpshap.cxx | 2 +-
|
xmloff/source/draw/ximpshap.cxx | 2 +-
|
||||||
4 files changed, 5 insertions(+), 4 deletions(-)
|
4 files changed, 5 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
|
||||||
--------------erAck-patch-parts
|
|
||||||
Content-Type: text/x-patch; name="0001-warn-about-exotic-protocols-as-well.patch"
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
Content-Disposition: attachment; filename="0001-warn-about-exotic-protocols-as-well.patch"
|
|
||||||
|
|
||||||
diff --git a/sw/source/filter/html/htmlplug.cxx b/sw/source/filter/html/htmlplug.cxx
|
diff --git a/sw/source/filter/html/htmlplug.cxx b/sw/source/filter/html/htmlplug.cxx
|
||||||
index 1aec184d8a6c..1c1f5f49f13e 100644
|
index eb70704..112975f 100644
|
||||||
--- a/sw/source/filter/html/htmlplug.cxx
|
--- a/sw/source/filter/html/htmlplug.cxx
|
||||||
+++ b/sw/source/filter/html/htmlplug.cxx
|
+++ b/sw/source/filter/html/htmlplug.cxx
|
||||||
@@ -1092,7 +1092,7 @@ void SwHTMLParser::InsertFloatingFrame()
|
@@ -1089,7 +1089,7 @@ void SwHTMLParser::InsertFloatingFrame()
|
||||||
|
|
||||||
OUString sHRef = aFrameDesc.GetURL().GetMainURL( INetURLObject::DecodeMechanism::NONE );
|
OUString sHRef = aFrameDesc.GetURL().GetMainURL( INetURLObject::DecodeMechanism::NONE );
|
||||||
|
|
||||||
@ -55,10 +43,10 @@ index 1aec184d8a6c..1c1f5f49f13e 100644
|
|||||||
|
|
||||||
xSet->setPropertyValue("FrameURL", uno::makeAny( sHRef ) );
|
xSet->setPropertyValue("FrameURL", uno::makeAny( sHRef ) );
|
||||||
diff --git a/sw/source/filter/xml/xmltexti.cxx b/sw/source/filter/xml/xmltexti.cxx
|
diff --git a/sw/source/filter/xml/xmltexti.cxx b/sw/source/filter/xml/xmltexti.cxx
|
||||||
index 7ec4616f76dd..4bbed6bb8ff8 100644
|
index 72a14b9..e015575 100644
|
||||||
--- a/sw/source/filter/xml/xmltexti.cxx
|
--- a/sw/source/filter/xml/xmltexti.cxx
|
||||||
+++ b/sw/source/filter/xml/xmltexti.cxx
|
+++ b/sw/source/filter/xml/xmltexti.cxx
|
||||||
@@ -860,7 +860,7 @@ uno::Reference< XPropertySet > SwXMLTextImportHelper::createAndInsertFloatingFra
|
@@ -856,7 +856,7 @@ uno::Reference< XPropertySet > SwXMLTextImportHelper::createAndInsertFloatingFra
|
||||||
OUString sHRef = URIHelper::SmartRel2Abs(
|
OUString sHRef = URIHelper::SmartRel2Abs(
|
||||||
INetURLObject( GetXMLImport().GetBaseURL() ), rHRef );
|
INetURLObject( GetXMLImport().GetBaseURL() ), rHRef );
|
||||||
|
|
||||||
@ -68,10 +56,10 @@ index 7ec4616f76dd..4bbed6bb8ff8 100644
|
|||||||
|
|
||||||
xSet->setPropertyValue("FrameURL",
|
xSet->setPropertyValue("FrameURL",
|
||||||
diff --git a/tools/source/fsys/urlobj.cxx b/tools/source/fsys/urlobj.cxx
|
diff --git a/tools/source/fsys/urlobj.cxx b/tools/source/fsys/urlobj.cxx
|
||||||
index 2a9f7bc3d7dc..36a8af31a0fb 100644
|
index ab6e885..1ef2b7e 100644
|
||||||
--- a/tools/source/fsys/urlobj.cxx
|
--- a/tools/source/fsys/urlobj.cxx
|
||||||
+++ b/tools/source/fsys/urlobj.cxx
|
+++ b/tools/source/fsys/urlobj.cxx
|
||||||
@@ -4767,7 +4767,8 @@ bool INetURLObject::IsExoticProtocol() const
|
@@ -4776,7 +4776,8 @@ bool INetURLObject::IsExoticProtocol() const
|
||||||
return m_eScheme == INetProtocol::Slot ||
|
return m_eScheme == INetProtocol::Slot ||
|
||||||
m_eScheme == INetProtocol::Macro ||
|
m_eScheme == INetProtocol::Macro ||
|
||||||
m_eScheme == INetProtocol::Uno ||
|
m_eScheme == INetProtocol::Uno ||
|
||||||
@ -82,19 +70,18 @@ index 2a9f7bc3d7dc..36a8af31a0fb 100644
|
|||||||
|
|
||||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||||
diff --git a/xmloff/source/draw/ximpshap.cxx b/xmloff/source/draw/ximpshap.cxx
|
diff --git a/xmloff/source/draw/ximpshap.cxx b/xmloff/source/draw/ximpshap.cxx
|
||||||
index 113f3a3ffc2a..263b4b937608 100644
|
index bd5f30a..b58da79 100644
|
||||||
--- a/xmloff/source/draw/ximpshap.cxx
|
--- a/xmloff/source/draw/ximpshap.cxx
|
||||||
+++ b/xmloff/source/draw/ximpshap.cxx
|
+++ b/xmloff/source/draw/ximpshap.cxx
|
||||||
@@ -3257,7 +3257,7 @@ void SdXMLFloatingFrameShapeContext::StartElement( const css::uno::Reference< cs
|
@@ -3269,7 +3269,7 @@ void SdXMLFloatingFrameShapeContext::StartElement( const css::uno::Reference< cs
|
||||||
|
|
||||||
if( !maHref.isEmpty() )
|
if( !maHref.isEmpty() )
|
||||||
{
|
{
|
||||||
- if (INetURLObject(maHref).GetProtocol() == INetProtocol::Macro)
|
- if (INetURLObject(maHref).GetProtocol() == INetProtocol::Macro)
|
||||||
+ if (INetURLObject(maHref).IsExoticProtocol())
|
+ if (INetURLObject(maHref).IsExoticProtocol())
|
||||||
GetImport().NotifyMacroEventRead();
|
GetImport().NotifyMacroEventRead();
|
||||||
|
|
||||||
xProps->setPropertyValue("FrameURL", Any(maHref) );
|
|
||||||
|
|
||||||
--------------erAck-patch-parts--
|
|
||||||
|
|
||||||
|
xProps->setPropertyValue("FrameURL", Any(maHref) );
|
||||||
|
--
|
||||||
|
2.43.0
|
||||||
|
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
From 94b5b99c96ad80e659ffa8dbe8045b65ab4cc791 Mon Sep 17 00:00:00 2001
|
From c0e926365dc7651dcb5eee48f50e6990523662ad Mon Sep 17 00:00:00 2001
|
||||||
From: Eike Rathke <erack@redhat.com>
|
From: Eike Rathke <erack@redhat.com>
|
||||||
Date: Fri, 17 Feb 2023 12:03:54 +0100
|
Date: Fri, 17 Feb 2023 12:03:54 +0100
|
||||||
Subject: [PATCH 2/3] Stack check safety belt before fishing in muddy waters
|
Subject: [PATCH 2/3] Stack check safety belt before fishing in muddy waters
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
Have it hit hard in debug builds.
|
Have it hit hard in debug builds.
|
||||||
|
|
||||||
@ -10,13 +13,20 @@ Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147205
|
|||||||
Reviewed-by: Eike Rathke <erack@redhat.com>
|
Reviewed-by: Eike Rathke <erack@redhat.com>
|
||||||
Tested-by: Jenkins
|
Tested-by: Jenkins
|
||||||
(cherry picked from commit 9d91fbba6f374fa1c10b38eae003da89bd4e6d4b)
|
(cherry picked from commit 9d91fbba6f374fa1c10b38eae003da89bd4e6d4b)
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147245
|
||||||
|
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
||||||
|
(cherry picked from commit 166a07062dd4ffedca6106f439a6fcddaeee5eb5)
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147391
|
||||||
|
Tested-by: Michael Stahl <michael.stahl@allotropia.de>
|
||||||
|
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
||||||
|
(cherry picked from commit f8efb098f2abbf054a15dcf7daaaacfa575685ae)
|
||||||
---
|
---
|
||||||
sc/source/core/inc/interpre.hxx | 12 ++++++++++++
|
sc/source/core/inc/interpre.hxx | 12 ++++++++++++
|
||||||
sc/source/core/tool/interpr1.cxx | 4 ++--
|
sc/source/core/tool/interpr1.cxx | 4 ++--
|
||||||
2 files changed, 14 insertions(+), 2 deletions(-)
|
2 files changed, 14 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/sc/source/core/inc/interpre.hxx b/sc/source/core/inc/interpre.hxx
|
diff --git a/sc/source/core/inc/interpre.hxx b/sc/source/core/inc/interpre.hxx
|
||||||
index 4e986daf8453..3bcc9ef19fc2 100644
|
index 3b902524d901..c7d4527dbf57 100644
|
||||||
--- a/sc/source/core/inc/interpre.hxx
|
--- a/sc/source/core/inc/interpre.hxx
|
||||||
+++ b/sc/source/core/inc/interpre.hxx
|
+++ b/sc/source/core/inc/interpre.hxx
|
||||||
@@ -235,6 +235,7 @@ private:
|
@@ -235,6 +235,7 @@ private:
|
||||||
@ -27,7 +37,7 @@ index 4e986daf8453..3bcc9ef19fc2 100644
|
|||||||
void PushParameterExpected();
|
void PushParameterExpected();
|
||||||
void PushIllegalParameter();
|
void PushIllegalParameter();
|
||||||
void PushIllegalArgument();
|
void PushIllegalArgument();
|
||||||
@@ -1089,6 +1090,17 @@ inline bool ScInterpreter::MustHaveParamCountMin( short nAct, short nMin )
|
@@ -1086,6 +1087,17 @@ inline bool ScInterpreter::MustHaveParamCountMin( short nAct, short nMin )
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -44,29 +54,29 @@ index 4e986daf8453..3bcc9ef19fc2 100644
|
|||||||
+
|
+
|
||||||
inline bool ScInterpreter::CheckStringPositionArgument( double & fVal )
|
inline bool ScInterpreter::CheckStringPositionArgument( double & fVal )
|
||||||
{
|
{
|
||||||
if (!std::isfinite( fVal))
|
if (!rtl::math::isFinite( fVal))
|
||||||
diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx
|
diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx
|
||||||
index 4f2789160a1c..5e2f36685024 100644
|
index e375f1626ec5..4b093cb62d4f 100644
|
||||||
--- a/sc/source/core/tool/interpr1.cxx
|
--- a/sc/source/core/tool/interpr1.cxx
|
||||||
+++ b/sc/source/core/tool/interpr1.cxx
|
+++ b/sc/source/core/tool/interpr1.cxx
|
||||||
@@ -7547,7 +7547,7 @@ void ScInterpreter::ScVLookup()
|
@@ -7524,7 +7524,7 @@ void ScInterpreter::ScVLookup()
|
||||||
void ScInterpreter::ScSubTotal()
|
void ScInterpreter::ScSubTotal()
|
||||||
{
|
{
|
||||||
sal_uInt8 nParamCount = GetByte();
|
sal_uInt8 nParamCount = GetByte();
|
||||||
- if ( !MustHaveParamCountMin( nParamCount, 2 ) )
|
- if ( MustHaveParamCountMin( nParamCount, 2 ) )
|
||||||
+ if ( !MustHaveParamCountMinWithStackCheck( nParamCount, 2 ) )
|
+ if ( MustHaveParamCountMinWithStackCheck( nParamCount, 2 ) )
|
||||||
return;
|
{
|
||||||
|
// We must fish the 1st parameter deep from the stack! And push it on top.
|
||||||
// We must fish the 1st parameter deep from the stack! And push it on top.
|
const FormulaToken* p = pStack[ sp - nParamCount ];
|
||||||
@@ -7594,7 +7594,7 @@ void ScInterpreter::ScSubTotal()
|
@@ -7571,7 +7571,7 @@ void ScInterpreter::ScSubTotal()
|
||||||
void ScInterpreter::ScAggregate()
|
void ScInterpreter::ScAggregate()
|
||||||
{
|
{
|
||||||
sal_uInt8 nParamCount = GetByte();
|
sal_uInt8 nParamCount = GetByte();
|
||||||
- if ( !MustHaveParamCountMin( nParamCount, 3 ) )
|
- if ( MustHaveParamCountMin( nParamCount, 3 ) )
|
||||||
+ if ( !MustHaveParamCountMinWithStackCheck( nParamCount, 3 ) )
|
+ if ( MustHaveParamCountMinWithStackCheck( nParamCount, 3 ) )
|
||||||
return;
|
{
|
||||||
|
// fish the 1st parameter from the stack and push it on top.
|
||||||
const FormulaError nErr = nGlobalError;
|
const FormulaToken* p = pStack[ sp - nParamCount ];
|
||||||
--
|
--
|
||||||
2.41.0
|
2.41.0
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
From ed22ee21fdeaef43d82c4a18c5274e42fe85bd35 Mon Sep 17 00:00:00 2001
|
From 0ea515e760325b3d9f33824e917d0d549f4509e4 Mon Sep 17 00:00:00 2001
|
||||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||||
Date: Thu, 13 Apr 2023 11:31:17 +0100
|
Date: Thu, 13 Apr 2023 11:31:17 +0100
|
||||||
Subject: [PATCH 2/3] put floating frames under managed links control
|
Subject: [PATCH 2/3] put floating frames under managed links control
|
||||||
@ -100,10 +100,21 @@ Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|||||||
(cherry picked from commit 07179a5a5bd00f34acfa8a3f260dd834ae003c63)
|
(cherry picked from commit 07179a5a5bd00f34acfa8a3f260dd834ae003c63)
|
||||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150755
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150755
|
||||||
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
||||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152144
|
(cherry picked from commit b91ea614c0b753ab3d378acd0e2db8262e9dbd72)
|
||||||
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151107
|
||||||
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
||||||
(cherry picked from commit e3d1c8f1ad871d664886319a47bee161e673de6c)
|
Tested-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
|
||||||
|
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
|
||||||
|
|
||||||
|
(cherry picked from commit 8b35b17ffaab23d72ddec2d9f41be0e30fcaa6c4)
|
||||||
|
Conflicts:
|
||||||
|
embeddedobj/source/commonembedding/specialobject.cxx
|
||||||
|
embeddedobj/source/inc/specialobject.hxx
|
||||||
|
include/svx/svdoole2.hxx
|
||||||
|
sfx2/source/doc/iframe.cxx
|
||||||
|
svx/source/svdraw/svdoole2.cxx
|
||||||
|
sw/source/core/ole/ndole.cxx
|
||||||
|
xmloff/source/draw/ximpshap.cxx
|
||||||
---
|
---
|
||||||
.../source/commonembedding/embedobj.cxx | 60 +++++-----
|
.../source/commonembedding/embedobj.cxx | 60 +++++-----
|
||||||
.../source/commonembedding/specialobject.cxx | 9 ++
|
.../source/commonembedding/specialobject.cxx | 9 ++
|
||||||
@ -113,21 +124,21 @@ Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|||||||
include/svx/unoshape.hxx | 2 +
|
include/svx/unoshape.hxx | 2 +
|
||||||
sc/source/ui/docshell/documentlinkmgr.cxx | 9 +-
|
sc/source/ui/docshell/documentlinkmgr.cxx | 9 +-
|
||||||
sfx2/source/doc/iframe.cxx | 55 +++++----
|
sfx2/source/doc/iframe.cxx | 55 +++++----
|
||||||
svx/source/svdraw/svdoole2.cxx | 104 +++++++++++++++---
|
svx/source/svdraw/svdoole2.cxx | 104 ++++++++++++++----
|
||||||
svx/source/unodraw/shapeimpl.hxx | 5 +
|
svx/source/unodraw/shapeimpl.hxx | 5 +
|
||||||
svx/source/unodraw/unoshap4.cxx | 23 +++-
|
svx/source/unodraw/unoshap4.cxx | 23 +++-
|
||||||
sw/inc/ndole.hxx | 4 +-
|
sw/inc/ndole.hxx | 4 +-
|
||||||
sw/source/core/ole/ndole.cxx | 89 +++++++++++++--
|
sw/source/core/ole/ndole.cxx | 89 ++++++++++++--
|
||||||
xmloff/source/draw/ximpshap.cxx | 29 ++++-
|
xmloff/source/draw/ximpshap.cxx | 29 ++++-
|
||||||
xmloff/source/draw/ximpshap.hxx | 2 +
|
xmloff/source/draw/ximpshap.hxx | 2 +
|
||||||
15 files changed, 331 insertions(+), 86 deletions(-)
|
15 files changed, 335 insertions(+), 90 deletions(-)
|
||||||
|
|
||||||
diff --git a/embeddedobj/source/commonembedding/embedobj.cxx b/embeddedobj/source/commonembedding/embedobj.cxx
|
diff --git a/embeddedobj/source/commonembedding/embedobj.cxx b/embeddedobj/source/commonembedding/embedobj.cxx
|
||||||
index ffa2a0789be0..3bd8d84d09e2 100644
|
index e6e5bec2a3160..b402dff22042a 100644
|
||||||
--- a/embeddedobj/source/commonembedding/embedobj.cxx
|
--- a/embeddedobj/source/commonembedding/embedobj.cxx
|
||||||
+++ b/embeddedobj/source/commonembedding/embedobj.cxx
|
+++ b/embeddedobj/source/commonembedding/embedobj.cxx
|
||||||
@@ -161,6 +161,37 @@ void OCommonEmbeddedObject::StateChangeNotification_Impl( bool bBeforeChange, sa
|
@@ -155,6 +155,37 @@ void OCommonEmbeddedObject::StateChangeNotification_Impl( bool bBeforeChange, sa
|
||||||
rGuard.reset();
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
+void OCommonEmbeddedObject::SetInplaceActiveState()
|
+void OCommonEmbeddedObject::SetInplaceActiveState()
|
||||||
@ -164,7 +175,7 @@ index ffa2a0789be0..3bd8d84d09e2 100644
|
|||||||
|
|
||||||
void OCommonEmbeddedObject::SwitchStateTo_Impl( sal_Int32 nNextState )
|
void OCommonEmbeddedObject::SwitchStateTo_Impl( sal_Int32 nNextState )
|
||||||
{
|
{
|
||||||
@@ -234,34 +265,7 @@ void OCommonEmbeddedObject::SwitchStateTo_Impl( sal_Int32 nNextState )
|
@@ -228,34 +259,7 @@ void OCommonEmbeddedObject::SwitchStateTo_Impl( sal_Int32 nNextState )
|
||||||
{
|
{
|
||||||
if ( nNextState == embed::EmbedStates::INPLACE_ACTIVE )
|
if ( nNextState == embed::EmbedStates::INPLACE_ACTIVE )
|
||||||
{
|
{
|
||||||
@ -201,7 +212,7 @@ index ffa2a0789be0..3bd8d84d09e2 100644
|
|||||||
else if ( nNextState == embed::EmbedStates::ACTIVE )
|
else if ( nNextState == embed::EmbedStates::ACTIVE )
|
||||||
{
|
{
|
||||||
diff --git a/embeddedobj/source/commonembedding/specialobject.cxx b/embeddedobj/source/commonembedding/specialobject.cxx
|
diff --git a/embeddedobj/source/commonembedding/specialobject.cxx b/embeddedobj/source/commonembedding/specialobject.cxx
|
||||||
index 683fe0aab3f2..c17a39accf2c 100644
|
index 683fe0aab3f25..c17a39accf2c7 100644
|
||||||
--- a/embeddedobj/source/commonembedding/specialobject.cxx
|
--- a/embeddedobj/source/commonembedding/specialobject.cxx
|
||||||
+++ b/embeddedobj/source/commonembedding/specialobject.cxx
|
+++ b/embeddedobj/source/commonembedding/specialobject.cxx
|
||||||
@@ -47,6 +47,7 @@ uno::Any SAL_CALL OSpecialEmbeddedObject::queryInterface( const uno::Type& rType
|
@@ -47,6 +47,7 @@ uno::Any SAL_CALL OSpecialEmbeddedObject::queryInterface( const uno::Type& rType
|
||||||
@ -226,10 +237,10 @@ index 683fe0aab3f2..c17a39accf2c 100644
|
|||||||
+
|
+
|
||||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||||
diff --git a/embeddedobj/source/inc/commonembobj.hxx b/embeddedobj/source/inc/commonembobj.hxx
|
diff --git a/embeddedobj/source/inc/commonembobj.hxx b/embeddedobj/source/inc/commonembobj.hxx
|
||||||
index 1b020f430855..dbed7c26f28c 100644
|
index b2c9acd9ec1e7..73282a00deac4 100644
|
||||||
--- a/embeddedobj/source/inc/commonembobj.hxx
|
--- a/embeddedobj/source/inc/commonembobj.hxx
|
||||||
+++ b/embeddedobj/source/inc/commonembobj.hxx
|
+++ b/embeddedobj/source/inc/commonembobj.hxx
|
||||||
@@ -231,6 +231,9 @@ private:
|
@@ -226,6 +226,9 @@ private:
|
||||||
const css::uno::Sequence< css::beans::PropertyValue >& lArguments,
|
const css::uno::Sequence< css::beans::PropertyValue >& lArguments,
|
||||||
const css::uno::Sequence< css::beans::PropertyValue >& lObjArgs );
|
const css::uno::Sequence< css::beans::PropertyValue >& lObjArgs );
|
||||||
|
|
||||||
@ -240,10 +251,10 @@ index 1b020f430855..dbed7c26f28c 100644
|
|||||||
OCommonEmbeddedObject(
|
OCommonEmbeddedObject(
|
||||||
const css::uno::Reference< css::uno::XComponentContext >& rxContext,
|
const css::uno::Reference< css::uno::XComponentContext >& rxContext,
|
||||||
diff --git a/embeddedobj/source/inc/specialobject.hxx b/embeddedobj/source/inc/specialobject.hxx
|
diff --git a/embeddedobj/source/inc/specialobject.hxx b/embeddedobj/source/inc/specialobject.hxx
|
||||||
index 5c467b97a379..0b5e3ca23e9f 100644
|
index 32ad61a7a5828..ce5c01b35ae7f 100644
|
||||||
--- a/embeddedobj/source/inc/specialobject.hxx
|
--- a/embeddedobj/source/inc/specialobject.hxx
|
||||||
+++ b/embeddedobj/source/inc/specialobject.hxx
|
+++ b/embeddedobj/source/inc/specialobject.hxx
|
||||||
@@ -47,6 +47,12 @@ public:
|
@@ -48,6 +48,12 @@ public:
|
||||||
virtual void SAL_CALL changeState( sal_Int32 nNewState ) override;
|
virtual void SAL_CALL changeState( sal_Int32 nNewState ) override;
|
||||||
|
|
||||||
virtual void SAL_CALL doVerb( sal_Int32 nVerbID ) override;
|
virtual void SAL_CALL doVerb( sal_Int32 nVerbID ) override;
|
||||||
@ -255,9 +266,9 @@ index 5c467b97a379..0b5e3ca23e9f 100644
|
|||||||
+ const css::uno::Sequence< css::beans::PropertyValue >& lObjArgs ) override;
|
+ const css::uno::Sequence< css::beans::PropertyValue >& lObjArgs ) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
#endif
|
||||||
diff --git a/include/svx/svdoole2.hxx b/include/svx/svdoole2.hxx
|
diff --git a/include/svx/svdoole2.hxx b/include/svx/svdoole2.hxx
|
||||||
index 8c209ce7f281..342b5370c239 100644
|
index b192a438bc190..da5f094ab1553 100644
|
||||||
--- a/include/svx/svdoole2.hxx
|
--- a/include/svx/svdoole2.hxx
|
||||||
+++ b/include/svx/svdoole2.hxx
|
+++ b/include/svx/svdoole2.hxx
|
||||||
@@ -42,6 +42,7 @@ namespace frame { class XModel; }
|
@@ -42,6 +42,7 @@ namespace frame { class XModel; }
|
||||||
@ -266,7 +277,7 @@ index 8c209ce7f281..342b5370c239 100644
|
|||||||
class SdrOle2ObjImpl;
|
class SdrOle2ObjImpl;
|
||||||
+class SvxOle2Shape;
|
+class SvxOle2Shape;
|
||||||
|
|
||||||
class SVXCORE_DLLPUBLIC SdrOle2Obj : public SdrRectObj
|
class SVX_DLLPUBLIC SdrOle2Obj : public SdrRectObj
|
||||||
{
|
{
|
||||||
@@ -49,7 +50,7 @@ private:
|
@@ -49,7 +50,7 @@ private:
|
||||||
std::unique_ptr<SdrOle2ObjImpl> mpImpl;
|
std::unique_ptr<SdrOle2ObjImpl> mpImpl;
|
||||||
@ -299,7 +310,7 @@ index 8c209ce7f281..342b5370c239 100644
|
|||||||
void Connect() { GetRealObject(); }
|
void Connect() { GetRealObject(); }
|
||||||
};
|
};
|
||||||
|
|
||||||
+class SVXCORE_DLLPUBLIC SdrIFrameLink final : public sfx2::SvBaseLink
|
+class SVX_DLLPUBLIC SdrIFrameLink final : public sfx2::SvBaseLink
|
||||||
+{
|
+{
|
||||||
+ SdrOle2Obj* m_pObject;
|
+ SdrOle2Obj* m_pObject;
|
||||||
+
|
+
|
||||||
@ -313,10 +324,10 @@ index 8c209ce7f281..342b5370c239 100644
|
|||||||
|
|
||||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||||
diff --git a/include/svx/unoshape.hxx b/include/svx/unoshape.hxx
|
diff --git a/include/svx/unoshape.hxx b/include/svx/unoshape.hxx
|
||||||
index 1f948f50574b..5fe64331842c 100644
|
index 0b48d1e433d6e..712552a55281a 100644
|
||||||
--- a/include/svx/unoshape.hxx
|
--- a/include/svx/unoshape.hxx
|
||||||
+++ b/include/svx/unoshape.hxx
|
+++ b/include/svx/unoshape.hxx
|
||||||
@@ -607,6 +607,8 @@ public:
|
@@ -597,6 +597,8 @@ public:
|
||||||
bool createObject( const SvGlobalName &aClassName );
|
bool createObject( const SvGlobalName &aClassName );
|
||||||
|
|
||||||
void createLink( const OUString& aLinkURL );
|
void createLink( const OUString& aLinkURL );
|
||||||
@ -326,7 +337,7 @@ index 1f948f50574b..5fe64331842c 100644
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/sc/source/ui/docshell/documentlinkmgr.cxx b/sc/source/ui/docshell/documentlinkmgr.cxx
|
diff --git a/sc/source/ui/docshell/documentlinkmgr.cxx b/sc/source/ui/docshell/documentlinkmgr.cxx
|
||||||
index 1796b02b5434..fce782935949 100644
|
index cb3467c8bb691..8ea3c2cce5fb4 100644
|
||||||
--- a/sc/source/ui/docshell/documentlinkmgr.cxx
|
--- a/sc/source/ui/docshell/documentlinkmgr.cxx
|
||||||
+++ b/sc/source/ui/docshell/documentlinkmgr.cxx
|
+++ b/sc/source/ui/docshell/documentlinkmgr.cxx
|
||||||
@@ -142,7 +142,7 @@ bool DocumentLinkManager::hasDdeOrOleOrWebServiceLinks(bool bDde, bool bOle, boo
|
@@ -142,7 +142,7 @@ bool DocumentLinkManager::hasDdeOrOleOrWebServiceLinks(bool bDde, bool bOle, boo
|
||||||
@ -353,10 +364,10 @@ index 1796b02b5434..fce782935949 100644
|
|||||||
if (pWebserviceLink)
|
if (pWebserviceLink)
|
||||||
{
|
{
|
||||||
diff --git a/sfx2/source/doc/iframe.cxx b/sfx2/source/doc/iframe.cxx
|
diff --git a/sfx2/source/doc/iframe.cxx b/sfx2/source/doc/iframe.cxx
|
||||||
index b9495b8fd311..73030f151359 100644
|
index 5a0ea96a234da..fce6cb48ea08f 100644
|
||||||
--- a/sfx2/source/doc/iframe.cxx
|
--- a/sfx2/source/doc/iframe.cxx
|
||||||
+++ b/sfx2/source/doc/iframe.cxx
|
+++ b/sfx2/source/doc/iframe.cxx
|
||||||
@@ -175,31 +175,46 @@ sal_Bool SAL_CALL IFrameObject::load(
|
@@ -177,31 +177,46 @@ sal_Bool SAL_CALL IFrameObject::load(
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -424,10 +435,10 @@ index b9495b8fd311..73030f151359 100644
|
|||||||
uno::Sequence < beans::PropertyValue > aProps{
|
uno::Sequence < beans::PropertyValue > aProps{
|
||||||
comphelper::makePropertyValue("PluginMode", sal_Int16(2)),
|
comphelper::makePropertyValue("PluginMode", sal_Int16(2)),
|
||||||
diff --git a/svx/source/svdraw/svdoole2.cxx b/svx/source/svdraw/svdoole2.cxx
|
diff --git a/svx/source/svdraw/svdoole2.cxx b/svx/source/svdraw/svdoole2.cxx
|
||||||
index 23eb06465e87..de1ac41beb13 100644
|
index 16617ecaf94fe..dc5f74811723d 100644
|
||||||
--- a/svx/source/svdraw/svdoole2.cxx
|
--- a/svx/source/svdraw/svdoole2.cxx
|
||||||
+++ b/svx/source/svdraw/svdoole2.cxx
|
+++ b/svx/source/svdraw/svdoole2.cxx
|
||||||
@@ -67,6 +67,7 @@
|
@@ -78,6 +78,7 @@
|
||||||
#include <sdr/contact/viewcontactofsdrole2obj.hxx>
|
#include <sdr/contact/viewcontactofsdrole2obj.hxx>
|
||||||
#include <svx/svdograf.hxx>
|
#include <svx/svdograf.hxx>
|
||||||
#include <sdr/properties/oleproperties.hxx>
|
#include <sdr/properties/oleproperties.hxx>
|
||||||
@ -435,7 +446,7 @@ index 23eb06465e87..de1ac41beb13 100644
|
|||||||
#include <svx/xlineit0.hxx>
|
#include <svx/xlineit0.hxx>
|
||||||
#include <svx/xlnclit.hxx>
|
#include <svx/xlnclit.hxx>
|
||||||
#include <svx/xbtmpit.hxx>
|
#include <svx/xbtmpit.hxx>
|
||||||
@@ -591,6 +592,35 @@ void SdrEmbedObjectLink::Closed()
|
@@ -598,6 +599,35 @@ void SdrEmbedObjectLink::Closed()
|
||||||
SvBaseLink::Closed();
|
SvBaseLink::Closed();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -471,7 +482,7 @@ index 23eb06465e87..de1ac41beb13 100644
|
|||||||
class SdrOle2ObjImpl
|
class SdrOle2ObjImpl
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -608,7 +638,7 @@ public:
|
@@ -615,7 +645,7 @@ public:
|
||||||
bool mbLoadingOLEObjectFailed:1; // New local var to avoid repeated loading if load of OLE2 fails
|
bool mbLoadingOLEObjectFailed:1; // New local var to avoid repeated loading if load of OLE2 fails
|
||||||
bool mbConnected:1;
|
bool mbConnected:1;
|
||||||
|
|
||||||
@ -480,7 +491,7 @@ index 23eb06465e87..de1ac41beb13 100644
|
|||||||
OUString maLinkURL;
|
OUString maLinkURL;
|
||||||
|
|
||||||
rtl::Reference<SvxUnoShapeModifyListener> mxModifyListener;
|
rtl::Reference<SvxUnoShapeModifyListener> mxModifyListener;
|
||||||
@@ -808,7 +838,7 @@ bool SdrOle2Obj::IsEmpty() const
|
@@ -815,7 +845,7 @@ bool SdrOle2Obj::IsEmpty() const
|
||||||
return !mpImpl->mxObjRef.is();
|
return !mpImpl->mxObjRef.is();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -489,7 +500,7 @@ index 23eb06465e87..de1ac41beb13 100644
|
|||||||
{
|
{
|
||||||
if( IsEmptyPresObj() )
|
if( IsEmptyPresObj() )
|
||||||
return;
|
return;
|
||||||
@@ -821,7 +851,7 @@ void SdrOle2Obj::Connect()
|
@@ -828,7 +858,7 @@ void SdrOle2Obj::Connect()
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -498,98 +509,98 @@ index 23eb06465e87..de1ac41beb13 100644
|
|||||||
AddListeners_Impl();
|
AddListeners_Impl();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -921,24 +951,51 @@ void SdrOle2Obj::CheckFileLink_Impl()
|
@@ -927,24 +957,51 @@ void SdrOle2Obj::CheckFileLink_Impl()
|
||||||
|
|
||||||
try
|
|
||||||
{
|
{
|
||||||
- uno::Reference< embed::XLinkageSupport > xLinkSupport( mpImpl->mxObjRef.GetObject(), uno::UNO_QUERY );
|
try
|
||||||
+ uno::Reference<embed::XEmbeddedObject> xObject = mpImpl->mxObjRef.GetObject();
|
{
|
||||||
+ if (!xObject)
|
- uno::Reference< embed::XLinkageSupport > xLinkSupport( mpImpl->mxObjRef.GetObject(), uno::UNO_QUERY );
|
||||||
+ return;
|
+ uno::Reference<embed::XEmbeddedObject> xObject = mpImpl->mxObjRef.GetObject();
|
||||||
|
+ if (!xObject)
|
||||||
|
+ return;
|
||||||
|
|
||||||
- if ( xLinkSupport.is() && xLinkSupport->isLink() )
|
- if ( xLinkSupport.is() && xLinkSupport->isLink() )
|
||||||
- {
|
- {
|
||||||
- OUString aLinkURL = xLinkSupport->getLinkURL();
|
- OUString aLinkURL = xLinkSupport->getLinkURL();
|
||||||
+ bool bIFrame = false;
|
+ bool bIFrame = false;
|
||||||
|
|
||||||
- if ( !aLinkURL.isEmpty() )
|
- if ( !aLinkURL.isEmpty() )
|
||||||
+ OUString aLinkURL;
|
+ OUString aLinkURL;
|
||||||
+ uno::Reference<embed::XLinkageSupport> xLinkSupport(xObject, uno::UNO_QUERY);
|
+ uno::Reference<embed::XLinkageSupport> xLinkSupport(xObject, uno::UNO_QUERY);
|
||||||
+ if (xLinkSupport)
|
+ if (xLinkSupport)
|
||||||
+ {
|
|
||||||
+ if (xLinkSupport->isLink())
|
|
||||||
+ aLinkURL = xLinkSupport->getLinkURL();
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ // get IFrame (Floating Frames) listed and updatable from the
|
|
||||||
+ // manage links dialog
|
|
||||||
+ SvGlobalName aClassId(xObject->getClassID());
|
|
||||||
+ if (aClassId == SvGlobalName(SO3_IFRAME_CLASSID))
|
|
||||||
{
|
|
||||||
- // this is a file link so the model link manager should handle it
|
|
||||||
- sfx2::LinkManager* pLinkManager(getSdrModelFromSdrObject().GetLinkManager());
|
|
||||||
+ uno::Reference<beans::XPropertySet> xSet(xObject->getComponent(), uno::UNO_QUERY);
|
|
||||||
+ if (xSet.is())
|
|
||||||
+ xSet->getPropertyValue("FrameURL") >>= aLinkURL;
|
|
||||||
+ bIFrame = true;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (!aLinkURL.isEmpty()) // this is a file link so the model link manager should handle it
|
|
||||||
+ {
|
|
||||||
+ sfx2::LinkManager* pLinkManager(getSdrModelFromSdrObject().GetLinkManager());
|
|
||||||
|
|
||||||
- if ( pLinkManager )
|
|
||||||
+ if ( pLinkManager )
|
|
||||||
+ {
|
+ {
|
||||||
+ SdrEmbedObjectLink* pEmbedObjectLink = nullptr;
|
+ if (xLinkSupport->isLink())
|
||||||
+ if (!bIFrame)
|
+ aLinkURL = xLinkSupport->getLinkURL();
|
||||||
|
+ }
|
||||||
|
+ else
|
||||||
|
+ {
|
||||||
|
+ // get IFrame (Floating Frames) listed and updatable from the
|
||||||
|
+ // manage links dialog
|
||||||
|
+ SvGlobalName aClassId(xObject->getClassID());
|
||||||
|
+ if (aClassId == SvGlobalName(SO3_IFRAME_CLASSID))
|
||||||
{
|
{
|
||||||
- mpImpl->mpObjectLink = new SdrEmbedObjectLink( this );
|
- // this is a file link so the model link manager should handle it
|
||||||
- mpImpl->maLinkURL = aLinkURL;
|
- sfx2::LinkManager* pLinkManager(getSdrModelFromSdrObject().GetLinkManager());
|
||||||
- pLinkManager->InsertFileLink( *mpImpl->mpObjectLink, sfx2::SvBaseLinkObjectType::ClientOle, aLinkURL );
|
+ uno::Reference<beans::XPropertySet> xSet(xObject->getComponent(), uno::UNO_QUERY);
|
||||||
- mpImpl->mpObjectLink->Connect();
|
+ if (xSet.is())
|
||||||
+ pEmbedObjectLink = new SdrEmbedObjectLink(this);
|
+ xSet->getPropertyValue("FrameURL") >>= aLinkURL;
|
||||||
+ mpImpl->mpObjectLink = pEmbedObjectLink;
|
+ bIFrame = true;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (!aLinkURL.isEmpty()) // this is a file link so the model link manager should handle it
|
||||||
|
+ {
|
||||||
|
+ sfx2::LinkManager* pLinkManager(getSdrModelFromSdrObject().GetLinkManager());
|
||||||
|
|
||||||
|
- if ( pLinkManager )
|
||||||
|
+ if ( pLinkManager )
|
||||||
|
+ {
|
||||||
|
+ SdrEmbedObjectLink* pEmbedObjectLink = nullptr;
|
||||||
|
+ if (!bIFrame)
|
||||||
|
{
|
||||||
|
- mpImpl->mpObjectLink = new SdrEmbedObjectLink( this );
|
||||||
|
- mpImpl->maLinkURL = aLinkURL;
|
||||||
|
- pLinkManager->InsertFileLink( *mpImpl->mpObjectLink, OBJECT_CLIENT_OLE, aLinkURL );
|
||||||
|
- mpImpl->mpObjectLink->Connect();
|
||||||
|
+ pEmbedObjectLink = new SdrEmbedObjectLink(this);
|
||||||
|
+ mpImpl->mpObjectLink = pEmbedObjectLink;
|
||||||
|
}
|
||||||
|
+ else
|
||||||
|
+ mpImpl->mpObjectLink = new SdrIFrameLink(this);
|
||||||
|
+ mpImpl->maLinkURL = aLinkURL;
|
||||||
|
+ pLinkManager->InsertFileLink( *mpImpl->mpObjectLink, OBJECT_CLIENT_OLE, aLinkURL );
|
||||||
|
+ if (pEmbedObjectLink)
|
||||||
|
+ pEmbedObjectLink->Connect();
|
||||||
}
|
}
|
||||||
+ else
|
|
||||||
+ mpImpl->mpObjectLink = new SdrIFrameLink(this);
|
|
||||||
+ mpImpl->maLinkURL = aLinkURL;
|
|
||||||
+ pLinkManager->InsertFileLink( *mpImpl->mpObjectLink, sfx2::SvBaseLinkObjectType::ClientOle, aLinkURL );
|
|
||||||
+ if (pEmbedObjectLink)
|
|
||||||
+ pEmbedObjectLink->Connect();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
@@ -955,7 +1012,7 @@ void SdrOle2Obj::CheckFileLink_Impl()
|
||||||
@@ -948,7 +1005,7 @@ void SdrOle2Obj::CheckFileLink_Impl()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
-void SdrOle2Obj::Connect_Impl()
|
-void SdrOle2Obj::Connect_Impl()
|
||||||
+void SdrOle2Obj::Connect_Impl(SvxOle2Shape* pCreator)
|
+void SdrOle2Obj::Connect_Impl(SvxOle2Shape* pCreator)
|
||||||
{
|
{
|
||||||
if(mpImpl->aPersistName.isEmpty() )
|
if(!mpImpl->aPersistName.isEmpty() )
|
||||||
return;
|
{
|
||||||
@@ -989,6 +1046,17 @@ void SdrOle2Obj::Connect_Impl()
|
@@ -995,6 +1052,17 @@ void SdrOle2Obj::Connect_Impl()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
+ if (pCreator)
|
+ if (pCreator)
|
||||||
+ {
|
|
||||||
+ OUString sFrameURL(pCreator->GetAndClearInitialFrameURL());
|
|
||||||
+ if (!sFrameURL.isEmpty() && svt::EmbeddedObjectRef::TryRunningState(mpImpl->mxObjRef.GetObject()))
|
|
||||||
+ {
|
+ {
|
||||||
+ uno::Reference<beans::XPropertySet> xSet(mpImpl->mxObjRef->getComponent(), uno::UNO_QUERY);
|
+ OUString sFrameURL(pCreator->GetAndClearInitialFrameURL());
|
||||||
+ if (xSet.is())
|
+ if (!sFrameURL.isEmpty() && svt::EmbeddedObjectRef::TryRunningState(mpImpl->mxObjRef.GetObject()))
|
||||||
+ xSet->setPropertyValue("FrameURL", uno::Any(sFrameURL));
|
+ {
|
||||||
|
+ uno::Reference<beans::XPropertySet> xSet(mpImpl->mxObjRef->getComponent(), uno::UNO_QUERY);
|
||||||
|
+ if (xSet.is())
|
||||||
|
+ xSet->setPropertyValue("FrameURL", uno::Any(sFrameURL));
|
||||||
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+ }
|
|
||||||
+
|
+
|
||||||
if ( mpImpl->mxObjRef.is() )
|
if ( mpImpl->mxObjRef.is() )
|
||||||
{
|
{
|
||||||
if ( !mpImpl->mxLightClient.is() )
|
if ( !mpImpl->mxLightClient.is() )
|
||||||
@@ -1301,14 +1369,14 @@ SdrObjectUniquePtr SdrOle2Obj::getFullDragClone() const
|
@@ -1308,14 +1376,14 @@ SdrObjectUniquePtr SdrOle2Obj::getFullDragClone() const
|
||||||
return createSdrGrafObjReplacement(false);
|
return createSdrGrafObjReplacement(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -607,7 +618,7 @@ index 23eb06465e87..de1ac41beb13 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/svx/source/unodraw/shapeimpl.hxx b/svx/source/unodraw/shapeimpl.hxx
|
diff --git a/svx/source/unodraw/shapeimpl.hxx b/svx/source/unodraw/shapeimpl.hxx
|
||||||
index a1a4e6963020..4381094d380a 100644
|
index a1a4e69630206..4381094d380a3 100644
|
||||||
--- a/svx/source/unodraw/shapeimpl.hxx
|
--- a/svx/source/unodraw/shapeimpl.hxx
|
||||||
+++ b/svx/source/unodraw/shapeimpl.hxx
|
+++ b/svx/source/unodraw/shapeimpl.hxx
|
||||||
@@ -64,8 +64,11 @@ public:
|
@@ -64,8 +64,11 @@ public:
|
||||||
@ -632,10 +643,10 @@ index a1a4e6963020..4381094d380a 100644
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/svx/source/unodraw/unoshap4.cxx b/svx/source/unodraw/unoshap4.cxx
|
diff --git a/svx/source/unodraw/unoshap4.cxx b/svx/source/unodraw/unoshap4.cxx
|
||||||
index 658cb2c8fd6c..e6bbe51ee1e0 100644
|
index f7629f3388587..6dc18d6cf9e48 100644
|
||||||
--- a/svx/source/unodraw/unoshap4.cxx
|
--- a/svx/source/unodraw/unoshap4.cxx
|
||||||
+++ b/svx/source/unodraw/unoshap4.cxx
|
+++ b/svx/source/unodraw/unoshap4.cxx
|
||||||
@@ -174,7 +174,7 @@ bool SvxOle2Shape::setPropertyValueImpl( const OUString& rName, const SfxItemPro
|
@@ -180,7 +180,7 @@ bool SvxOle2Shape::setPropertyValueImpl( const OUString& rName, const SfxItemPro
|
||||||
#else
|
#else
|
||||||
pOle = static_cast<SdrOle2Obj*>(GetSdrObject());
|
pOle = static_cast<SdrOle2Obj*>(GetSdrObject());
|
||||||
#endif
|
#endif
|
||||||
@ -644,7 +655,7 @@ index 658cb2c8fd6c..e6bbe51ee1e0 100644
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -495,10 +495,11 @@ void SvxOle2Shape::createLink( const OUString& aLinkURL )
|
@@ -501,10 +501,11 @@ void SvxOle2Shape::createLink( const OUString& aLinkURL )
|
||||||
|
|
||||||
void SvxOle2Shape::resetModifiedState()
|
void SvxOle2Shape::resetModifiedState()
|
||||||
{
|
{
|
||||||
@ -658,7 +669,7 @@ index 658cb2c8fd6c..e6bbe51ee1e0 100644
|
|||||||
if( pOle && !pOle->IsEmpty() )
|
if( pOle && !pOle->IsEmpty() )
|
||||||
{
|
{
|
||||||
uno::Reference < util::XModifiable > xMod( pOle->GetObjRef(), uno::UNO_QUERY );
|
uno::Reference < util::XModifiable > xMod( pOle->GetObjRef(), uno::UNO_QUERY );
|
||||||
@@ -548,6 +549,11 @@ SvGlobalName SvxOle2Shape::GetClassName_Impl(OUString& rHexCLSID)
|
@@ -554,6 +555,11 @@ SvGlobalName SvxOle2Shape::GetClassName_Impl(OUString& rHexCLSID)
|
||||||
return aClassName;
|
return aClassName;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -670,7 +681,7 @@ index 658cb2c8fd6c..e6bbe51ee1e0 100644
|
|||||||
SvxAppletShape::SvxAppletShape(SdrObject* pObject)
|
SvxAppletShape::SvxAppletShape(SdrObject* pObject)
|
||||||
: SvxOle2Shape( pObject, getSvxMapProvider().GetMap(SVXMAP_APPLET), getSvxMapProvider().GetPropertySet(SVXMAP_APPLET, SdrObject::GetGlobalDrawObjectItemPool()) )
|
: SvxOle2Shape( pObject, getSvxMapProvider().GetMap(SVXMAP_APPLET), getSvxMapProvider().GetPropertySet(SVXMAP_APPLET, SdrObject::GetGlobalDrawObjectItemPool()) )
|
||||||
{
|
{
|
||||||
@@ -701,8 +707,19 @@ SvxFrameShape::~SvxFrameShape() throw()
|
@@ -707,8 +713,19 @@ SvxFrameShape::~SvxFrameShape() throw()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -691,7 +702,7 @@ index 658cb2c8fd6c..e6bbe51ee1e0 100644
|
|||||||
const SvGlobalName aIFrameClassId( SO3_IFRAME_CLASSID );
|
const SvGlobalName aIFrameClassId( SO3_IFRAME_CLASSID );
|
||||||
createObject(aIFrameClassId);
|
createObject(aIFrameClassId);
|
||||||
diff --git a/sw/inc/ndole.hxx b/sw/inc/ndole.hxx
|
diff --git a/sw/inc/ndole.hxx b/sw/inc/ndole.hxx
|
||||||
index 7c07c2656b44..649b300e9be8 100644
|
index 852fffd84e3d7..a2d9749420970 100644
|
||||||
--- a/sw/inc/ndole.hxx
|
--- a/sw/inc/ndole.hxx
|
||||||
+++ b/sw/inc/ndole.hxx
|
+++ b/sw/inc/ndole.hxx
|
||||||
@@ -28,7 +28,7 @@ class SwGrfFormatColl;
|
@@ -28,7 +28,7 @@ class SwGrfFormatColl;
|
||||||
@ -713,7 +724,7 @@ index 7c07c2656b44..649b300e9be8 100644
|
|||||||
|
|
||||||
SwOLENode( const SwNodeIndex &rWhere,
|
SwOLENode( const SwNodeIndex &rWhere,
|
||||||
diff --git a/sw/source/core/ole/ndole.cxx b/sw/source/core/ole/ndole.cxx
|
diff --git a/sw/source/core/ole/ndole.cxx b/sw/source/core/ole/ndole.cxx
|
||||||
index 74ceed65d2e0..02fc31daf550 100644
|
index 9000d6ef1b9ee..7501fcdd09d7a 100644
|
||||||
--- a/sw/source/core/ole/ndole.cxx
|
--- a/sw/source/core/ole/ndole.cxx
|
||||||
+++ b/sw/source/core/ole/ndole.cxx
|
+++ b/sw/source/core/ole/ndole.cxx
|
||||||
@@ -147,6 +147,8 @@ void SAL_CALL SwOLEListener_Impl::disposing( const lang::EventObject& )
|
@@ -147,6 +147,8 @@ void SAL_CALL SwOLEListener_Impl::disposing( const lang::EventObject& )
|
||||||
@ -770,70 +781,70 @@ index 74ceed65d2e0..02fc31daf550 100644
|
|||||||
SwOLENode::SwOLENode( const SwNodeIndex &rWhere,
|
SwOLENode::SwOLENode( const SwNodeIndex &rWhere,
|
||||||
const svt::EmbeddedObjectRef& xObj,
|
const svt::EmbeddedObjectRef& xObj,
|
||||||
SwGrfFormatColl *pGrfColl,
|
SwGrfFormatColl *pGrfColl,
|
||||||
@@ -607,18 +647,49 @@ void SwOLENode::CheckFileLink_Impl()
|
@@ -606,18 +646,49 @@ void SwOLENode::CheckFileLink_Impl()
|
||||||
|
|
||||||
try
|
|
||||||
{
|
{
|
||||||
- uno::Reference< embed::XLinkageSupport > xLinkSupport( maOLEObj.m_xOLERef.GetObject(), uno::UNO_QUERY_THROW );
|
try
|
||||||
- if ( xLinkSupport->isLink() )
|
|
||||||
+ uno::Reference<embed::XEmbeddedObject> xObject = maOLEObj.m_xOLERef.GetObject();
|
|
||||||
+ if (!xObject)
|
|
||||||
+ return;
|
|
||||||
+
|
|
||||||
+ bool bIFrame = false;
|
|
||||||
+
|
|
||||||
+ OUString aLinkURL;
|
|
||||||
+ uno::Reference<embed::XLinkageSupport> xLinkSupport(xObject, uno::UNO_QUERY);
|
|
||||||
+ if (xLinkSupport)
|
|
||||||
{
|
{
|
||||||
- const OUString aLinkURL = xLinkSupport->getLinkURL();
|
- uno::Reference< embed::XLinkageSupport > xLinkSupport( maOLEObj.m_xOLERef.GetObject(), uno::UNO_QUERY_THROW );
|
||||||
- if ( !aLinkURL.isEmpty() )
|
- if ( xLinkSupport->isLink() )
|
||||||
+ if (xLinkSupport->isLink())
|
+ uno::Reference<embed::XEmbeddedObject> xObject = maOLEObj.m_xOLERef.GetObject();
|
||||||
+ aLinkURL = xLinkSupport->getLinkURL();
|
+ if (!xObject)
|
||||||
+ }
|
+ return;
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ // get IFrame (Floating Frames) listed and updatable from the
|
|
||||||
+ // manage links dialog
|
|
||||||
+ SvGlobalName aClassId(xObject->getClassID());
|
|
||||||
+ if (aClassId == SvGlobalName(SO3_IFRAME_CLASSID))
|
|
||||||
+ {
|
|
||||||
+ uno::Reference<beans::XPropertySet> xSet(xObject->getComponent(), uno::UNO_QUERY);
|
|
||||||
+ if (xSet.is())
|
|
||||||
+ xSet->getPropertyValue("FrameURL") >>= aLinkURL;
|
|
||||||
+ bIFrame = true;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
+
|
||||||
+ if (!aLinkURL.isEmpty()) // this is a file link so the model link manager should handle it
|
+ bool bIFrame = false;
|
||||||
+ {
|
+
|
||||||
+ SwEmbedObjectLink* pEmbedObjectLink = nullptr;
|
+ OUString aLinkURL;
|
||||||
+ if (!bIFrame)
|
+ uno::Reference<embed::XLinkageSupport> xLinkSupport(xObject, uno::UNO_QUERY);
|
||||||
|
+ if (xLinkSupport)
|
||||||
+ {
|
+ {
|
||||||
+ pEmbedObjectLink = new SwEmbedObjectLink(this);
|
+ if (xLinkSupport->isLink())
|
||||||
+ mpObjectLink = pEmbedObjectLink;
|
+ aLinkURL = xLinkSupport->getLinkURL();
|
||||||
+ }
|
+ }
|
||||||
+ else
|
+ else
|
||||||
{
|
{
|
||||||
- // this is a file link so the model link manager should handle it
|
- const OUString aLinkURL = xLinkSupport->getLinkURL();
|
||||||
- mpObjectLink = new SwEmbedObjectLink( this );
|
- if ( !aLinkURL.isEmpty() )
|
||||||
- maLinkURL = aLinkURL;
|
+ // get IFrame (Floating Frames) listed and updatable from the
|
||||||
- GetDoc().getIDocumentLinksAdministration().GetLinkManager().InsertFileLink( *mpObjectLink, sfx2::SvBaseLinkObjectType::ClientOle, aLinkURL );
|
+ // manage links dialog
|
||||||
- mpObjectLink->Connect();
|
+ SvGlobalName aClassId(xObject->getClassID());
|
||||||
+ mpObjectLink = new SwIFrameLink(this);
|
+ if (aClassId == SvGlobalName(SO3_IFRAME_CLASSID))
|
||||||
|
+ {
|
||||||
|
+ uno::Reference<beans::XPropertySet> xSet(xObject->getComponent(), uno::UNO_QUERY);
|
||||||
|
+ if (xSet.is())
|
||||||
|
+ xSet->getPropertyValue("FrameURL") >>= aLinkURL;
|
||||||
|
+ bIFrame = true;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (!aLinkURL.isEmpty()) // this is a file link so the model link manager should handle it
|
||||||
|
+ {
|
||||||
|
+ SwEmbedObjectLink* pEmbedObjectLink = nullptr;
|
||||||
|
+ if (!bIFrame)
|
||||||
|
+ {
|
||||||
|
+ pEmbedObjectLink = new SwEmbedObjectLink(this);
|
||||||
|
+ mpObjectLink = pEmbedObjectLink;
|
||||||
|
+ }
|
||||||
|
+ else
|
||||||
|
{
|
||||||
|
- // this is a file link so the model link manager should handle it
|
||||||
|
- mpObjectLink = new SwEmbedObjectLink( this );
|
||||||
|
- maLinkURL = aLinkURL;
|
||||||
|
- GetDoc()->getIDocumentLinksAdministration().GetLinkManager().InsertFileLink( *mpObjectLink, OBJECT_CLIENT_OLE, aLinkURL );
|
||||||
|
- mpObjectLink->Connect();
|
||||||
|
+ mpObjectLink = new SwIFrameLink(this);
|
||||||
|
}
|
||||||
|
+ maLinkURL = aLinkURL;
|
||||||
|
+ GetDoc()->getIDocumentLinksAdministration().GetLinkManager().InsertFileLink( *mpObjectLink, OBJECT_CLIENT_OLE, aLinkURL );
|
||||||
|
+ if (pEmbedObjectLink)
|
||||||
|
+ pEmbedObjectLink->Connect();
|
||||||
}
|
}
|
||||||
+ maLinkURL = aLinkURL;
|
|
||||||
+ GetDoc().getIDocumentLinksAdministration().GetLinkManager().InsertFileLink( *mpObjectLink, sfx2::SvBaseLinkObjectType::ClientOle, aLinkURL );
|
|
||||||
+ if (pEmbedObjectLink)
|
|
||||||
+ pEmbedObjectLink->Connect();
|
|
||||||
}
|
}
|
||||||
}
|
catch( uno::Exception& )
|
||||||
catch( uno::Exception& )
|
|
||||||
diff --git a/xmloff/source/draw/ximpshap.cxx b/xmloff/source/draw/ximpshap.cxx
|
diff --git a/xmloff/source/draw/ximpshap.cxx b/xmloff/source/draw/ximpshap.cxx
|
||||||
index 4afa4e039776..3885f3b9219f 100644
|
index ae35f1e21a87b..bd5f30af7d708 100644
|
||||||
--- a/xmloff/source/draw/ximpshap.cxx
|
--- a/xmloff/source/draw/ximpshap.cxx
|
||||||
+++ b/xmloff/source/draw/ximpshap.cxx
|
+++ b/xmloff/source/draw/ximpshap.cxx
|
||||||
@@ -3210,9 +3210,35 @@ SdXMLFloatingFrameShapeContext::~SdXMLFloatingFrameShapeContext()
|
@@ -3223,9 +3223,35 @@ SdXMLFloatingFrameShapeContext::~SdXMLFloatingFrameShapeContext()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -868,21 +879,21 @@ index 4afa4e039776..3885f3b9219f 100644
|
|||||||
+
|
+
|
||||||
+ AddShape(xShape);
|
+ AddShape(xShape);
|
||||||
|
|
||||||
if( !mxShape.is() )
|
if( mxShape.is() )
|
||||||
return;
|
|
||||||
@@ -3222,7 +3248,6 @@ void SdXMLFloatingFrameShapeContext::StartElement( const css::uno::Reference< cs
|
|
||||||
// set pos, size, shear and rotate
|
|
||||||
SetTransformation();
|
|
||||||
|
|
||||||
- uno::Reference< beans::XPropertySet > xProps( mxShape, uno::UNO_QUERY );
|
|
||||||
if( xProps.is() )
|
|
||||||
{
|
{
|
||||||
if( !maFrameName.isEmpty() )
|
@@ -3234,7 +3260,6 @@ void SdXMLFloatingFrameShapeContext::StartElement( const css::uno::Reference< cs
|
||||||
|
// set pos, size, shear and rotate
|
||||||
|
SetTransformation();
|
||||||
|
|
||||||
|
- uno::Reference< beans::XPropertySet > xProps( mxShape, uno::UNO_QUERY );
|
||||||
|
if( xProps.is() )
|
||||||
|
{
|
||||||
|
if( !maFrameName.isEmpty() )
|
||||||
diff --git a/xmloff/source/draw/ximpshap.hxx b/xmloff/source/draw/ximpshap.hxx
|
diff --git a/xmloff/source/draw/ximpshap.hxx b/xmloff/source/draw/ximpshap.hxx
|
||||||
index 8a29b037229a..3931b3cdbb72 100644
|
index fae45f88f00a9..a00c87e8a0dab 100644
|
||||||
--- a/xmloff/source/draw/ximpshap.hxx
|
--- a/xmloff/source/draw/ximpshap.hxx
|
||||||
+++ b/xmloff/source/draw/ximpshap.hxx
|
+++ b/xmloff/source/draw/ximpshap.hxx
|
||||||
@@ -495,6 +495,8 @@ private:
|
@@ -513,6 +513,8 @@ private:
|
||||||
OUString maFrameName;
|
OUString maFrameName;
|
||||||
OUString maHref;
|
OUString maHref;
|
||||||
|
|
||||||
@ -890,7 +901,7 @@ index 8a29b037229a..3931b3cdbb72 100644
|
|||||||
+
|
+
|
||||||
public:
|
public:
|
||||||
|
|
||||||
SdXMLFloatingFrameShapeContext( SvXMLImport& rImport,
|
SdXMLFloatingFrameShapeContext( SvXMLImport& rImport, sal_uInt16 nPrfx,
|
||||||
--
|
--
|
||||||
2.41.0
|
2.41.0
|
||||||
|
|
||||||
|
25
SOURCES/0002-resource-leak.patch
Normal file
25
SOURCES/0002-resource-leak.patch
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
From abaf73f99c300ffe6c38dc7d1ce93ab09043f88a Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||||
|
Date: Wed, 4 Nov 2020 11:02:21 +0000
|
||||||
|
Subject: [PATCH 2/8] resource leak
|
||||||
|
|
||||||
|
Change-Id: I1abd8acef55d5bdb4744ecf1a62d8e1396de0e3f
|
||||||
|
---
|
||||||
|
vcl/unx/gtk3/a11y/gtk3atktextattributes.cxx | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/vcl/unx/gtk3/a11y/gtk3atktextattributes.cxx b/vcl/unx/gtk3/a11y/gtk3atktextattributes.cxx
|
||||||
|
index 52f0a34cd3a2..483283cadab5 100644
|
||||||
|
--- a/vcl/unx/gtk3/a11y/gtk3atktextattributes.cxx
|
||||||
|
+++ b/vcl/unx/gtk3/a11y/gtk3atktextattributes.cxx
|
||||||
|
@@ -987,6 +987,7 @@ TabStopList2String( const uno::Any& rAny, bool default_tabs )
|
||||||
|
{
|
||||||
|
gchar * old_tab_str = ret;
|
||||||
|
ret = g_strconcat(old_tab_str, " ", tab_str, nullptr);
|
||||||
|
+ g_free( tab_str );
|
||||||
|
g_free( old_tab_str );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
--
|
||||||
|
2.28.0
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
From 0caab4f6da81346e54a2d4881ad52752071347ba Mon Sep 17 00:00:00 2001
|
From 7e128f02a7cb513e4e57dbb1970fa316f456aa45 Mon Sep 17 00:00:00 2001
|
||||||
From: Eike Rathke <erack@redhat.com>
|
From: Eike Rathke <erack@redhat.com>
|
||||||
Date: Mon, 27 Feb 2023 16:10:06 +0100
|
Date: Mon, 27 Feb 2023 16:10:06 +0100
|
||||||
Subject: [PATCH 3/3] Always push a result, even if it's only an error
|
Subject: [PATCH 3/3] Always push a result, even if it's only an error
|
||||||
@ -24,10 +24,10 @@ Tested-by: Jenkins
|
|||||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/sc/source/core/tool/interpr3.cxx b/sc/source/core/tool/interpr3.cxx
|
diff --git a/sc/source/core/tool/interpr3.cxx b/sc/source/core/tool/interpr3.cxx
|
||||||
index 29c72f6f7280..cdbb4823a0e1 100644
|
index f219beca9386..d442d4eee224 100644
|
||||||
--- a/sc/source/core/tool/interpr3.cxx
|
--- a/sc/source/core/tool/interpr3.cxx
|
||||||
+++ b/sc/source/core/tool/interpr3.cxx
|
+++ b/sc/source/core/tool/interpr3.cxx
|
||||||
@@ -3481,7 +3481,7 @@ void ScInterpreter::ScPercentile( bool bInclusive )
|
@@ -3474,7 +3474,7 @@ void ScInterpreter::ScPercentile( bool bInclusive )
|
||||||
GetNumberSequenceArray( 1, aArray, false );
|
GetNumberSequenceArray( 1, aArray, false );
|
||||||
if ( aArray.empty() || nGlobalError != FormulaError::NONE )
|
if ( aArray.empty() || nGlobalError != FormulaError::NONE )
|
||||||
{
|
{
|
||||||
@ -36,7 +36,7 @@ index 29c72f6f7280..cdbb4823a0e1 100644
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if ( bInclusive )
|
if ( bInclusive )
|
||||||
@@ -3504,7 +3504,7 @@ void ScInterpreter::ScQuartile( bool bInclusive )
|
@@ -3497,7 +3497,7 @@ void ScInterpreter::ScQuartile( bool bInclusive )
|
||||||
GetNumberSequenceArray( 1, aArray, false );
|
GetNumberSequenceArray( 1, aArray, false );
|
||||||
if ( aArray.empty() || nGlobalError != FormulaError::NONE )
|
if ( aArray.empty() || nGlobalError != FormulaError::NONE )
|
||||||
{
|
{
|
||||||
|
@ -1,13 +1,11 @@
|
|||||||
From e809625c2ca9f0c026aab9b5c2d13ced628c13e9 Mon Sep 17 00:00:00 2001
|
From a3046cfa58bdfa2a1b9ea6287a021230830f056f Mon Sep 17 00:00:00 2001
|
||||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||||
Date: Tue, 22 Mar 2022 17:22:22 +0000
|
Date: Tue, 22 Mar 2022 17:22:22 +0000
|
||||||
Subject: [PATCH 3/5] CVE-2022-26306 add Initialization Vectors to password
|
Subject: [PATCH] add Initialization Vectors to password storage
|
||||||
storage
|
|
||||||
|
|
||||||
old ones default to the current all zero case and continue to work
|
old ones default to the current all zero case and continue to work
|
||||||
as before
|
as before
|
||||||
|
|
||||||
Change-Id: I6fe3b02fafcce1b5e7133e77e76a5118177d77af
|
|
||||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131974
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131974
|
||||||
Tested-by: Jenkins
|
Tested-by: Jenkins
|
||||||
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
||||||
@ -15,6 +13,11 @@ Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|||||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132306
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132306
|
||||||
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
||||||
(cherry picked from commit ab77587ec300f5c30084471000663c46ddf25dad)
|
(cherry picked from commit ab77587ec300f5c30084471000663c46ddf25dad)
|
||||||
|
|
||||||
|
Change-Id: I6fe3b02fafcce1b5e7133e77e76a5118177d77af
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133907
|
||||||
|
Tested-by: Michael Stahl <michael.stahl@allotropia.de>
|
||||||
|
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
||||||
---
|
---
|
||||||
.../schema/org/openoffice/Office/Common.xcs | 10 ++
|
.../schema/org/openoffice/Office/Common.xcs | 10 ++
|
||||||
.../passwordcontainer/passwordcontainer.cxx | 127 ++++++++++++------
|
.../passwordcontainer/passwordcontainer.cxx | 127 ++++++++++++------
|
||||||
@ -22,7 +25,7 @@ Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
|||||||
3 files changed, 151 insertions(+), 49 deletions(-)
|
3 files changed, 151 insertions(+), 49 deletions(-)
|
||||||
|
|
||||||
diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
|
diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
|
||||||
index 922efc33cca7..8d87d00d5369 100644
|
index b033b29b60d7..e57d26ab3366 100644
|
||||||
--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs
|
--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs
|
||||||
+++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
|
+++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
|
||||||
@@ -27,6 +27,11 @@
|
@@ -27,6 +27,11 @@
|
||||||
@ -37,7 +40,7 @@ index 922efc33cca7..8d87d00d5369 100644
|
|||||||
<prop oor:name="Password" oor:type="xs:string" oor:localized="false">
|
<prop oor:name="Password" oor:type="xs:string" oor:localized="false">
|
||||||
<info>
|
<info>
|
||||||
<desc>Contains a password encoded with the master password.</desc>
|
<desc>Contains a password encoded with the master password.</desc>
|
||||||
@@ -954,6 +959,11 @@
|
@@ -923,6 +928,11 @@
|
||||||
</info>
|
</info>
|
||||||
<value>false</value>
|
<value>false</value>
|
||||||
</prop>
|
</prop>
|
||||||
@ -50,10 +53,10 @@ index 922efc33cca7..8d87d00d5369 100644
|
|||||||
<info>
|
<info>
|
||||||
<desc>Contains the master password encrypted by itself.</desc>
|
<desc>Contains the master password encrypted by itself.</desc>
|
||||||
diff --git a/svl/source/passwordcontainer/passwordcontainer.cxx b/svl/source/passwordcontainer/passwordcontainer.cxx
|
diff --git a/svl/source/passwordcontainer/passwordcontainer.cxx b/svl/source/passwordcontainer/passwordcontainer.cxx
|
||||||
index b674844f91d3..ef79470a2cb6 100644
|
index ff0b40df4016..380188ef495c 100644
|
||||||
--- a/svl/source/passwordcontainer/passwordcontainer.cxx
|
--- a/svl/source/passwordcontainer/passwordcontainer.cxx
|
||||||
+++ b/svl/source/passwordcontainer/passwordcontainer.cxx
|
+++ b/svl/source/passwordcontainer/passwordcontainer.cxx
|
||||||
@@ -181,15 +181,18 @@ PassMap StorageItem::getInfo()
|
@@ -184,15 +184,18 @@ PassMap StorageItem::getInfo()
|
||||||
|
|
||||||
Sequence< OUString > aNodeNames = ConfigItem::GetNodeNames( "Store" );
|
Sequence< OUString > aNodeNames = ConfigItem::GetNodeNames( "Store" );
|
||||||
sal_Int32 aNodeCount = aNodeNames.getLength();
|
sal_Int32 aNodeCount = aNodeNames.getLength();
|
||||||
@ -74,7 +77,7 @@ index b674844f91d3..ef79470a2cb6 100644
|
|||||||
{
|
{
|
||||||
OSL_FAIL( "Problems during reading" );
|
OSL_FAIL( "Problems during reading" );
|
||||||
return aResult;
|
return aResult;
|
||||||
@@ -205,14 +208,16 @@ PassMap StorageItem::getInfo()
|
@@ -208,14 +211,16 @@ PassMap StorageItem::getInfo()
|
||||||
OUString aName = aUrlUsr[1];
|
OUString aName = aUrlUsr[1];
|
||||||
|
|
||||||
OUString aEPasswd;
|
OUString aEPasswd;
|
||||||
@ -93,7 +96,7 @@ index b674844f91d3..ef79470a2cb6 100644
|
|||||||
std::vector< NamePassRecord > listToAdd( 1, aNewRecord );
|
std::vector< NamePassRecord > listToAdd( 1, aNewRecord );
|
||||||
|
|
||||||
aResult.insert( PairUrlRecord( aUrl, listToAdd ) );
|
aResult.insert( PairUrlRecord( aUrl, listToAdd ) );
|
||||||
@@ -276,17 +281,19 @@ sal_Int32 StorageItem::getStorageVersion()
|
@@ -279,17 +284,19 @@ sal_Int32 StorageItem::getStorageVersion()
|
||||||
return nResult;
|
return nResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -115,7 +118,7 @@ index b674844f91d3..ef79470a2cb6 100644
|
|||||||
|
|
||||||
Sequence< Any > aPropertyValues = ConfigItem::GetProperties( aNodeNames );
|
Sequence< Any > aPropertyValues = ConfigItem::GetProperties( aNodeNames );
|
||||||
|
|
||||||
@@ -298,32 +305,37 @@ bool StorageItem::getEncodedMP( OUString& aResult )
|
@@ -301,32 +308,37 @@ bool StorageItem::getEncodedMP( OUString& aResult )
|
||||||
|
|
||||||
aPropertyValues[0] >>= hasEncoded;
|
aPropertyValues[0] >>= hasEncoded;
|
||||||
aPropertyValues[1] >>= mEncoded;
|
aPropertyValues[1] >>= mEncoded;
|
||||||
@ -158,7 +161,7 @@ index b674844f91d3..ef79470a2cb6 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -359,11 +371,13 @@ void StorageItem::update( const OUString& aURL, const NamePassRecord& aRecord )
|
@@ -362,11 +374,13 @@ void StorageItem::update( const OUString& aURL, const NamePassRecord& aRecord )
|
||||||
forIndex.push_back( aURL );
|
forIndex.push_back( aURL );
|
||||||
forIndex.push_back( aRecord.GetUserName() );
|
forIndex.push_back( aRecord.GetUserName() );
|
||||||
|
|
||||||
@ -166,7 +169,7 @@ index b674844f91d3..ef79470a2cb6 100644
|
|||||||
+ Sequence< beans::PropertyValue > sendSeq(2);
|
+ Sequence< beans::PropertyValue > sendSeq(2);
|
||||||
|
|
||||||
- sendSeq[0].Name = "Store/Passwordstorage['" + createIndex( forIndex ) + "']/Password";
|
- sendSeq[0].Name = "Store/Passwordstorage['" + createIndex( forIndex ) + "']/Password";
|
||||||
+ sendSeq[0].Name = "Store/Passwordstorage['" + createIndex( forIndex ) + "']/InitializationVector";
|
+ sendSeq[0].Name = "Store/Passwordstorage['" + createIndex( { aURL, aRecord.GetUserName() } ) + "']/InitializationVector";
|
||||||
+ sendSeq[0].Value <<= aRecord.GetPersistentIV();
|
+ sendSeq[0].Value <<= aRecord.GetPersistentIV();
|
||||||
|
|
||||||
- sendSeq[0].Value <<= aRecord.GetPersPasswords();
|
- sendSeq[0].Value <<= aRecord.GetPersPasswords();
|
||||||
@ -175,7 +178,7 @@ index b674844f91d3..ef79470a2cb6 100644
|
|||||||
|
|
||||||
ConfigItem::SetModified();
|
ConfigItem::SetModified();
|
||||||
ConfigItem::SetSetProperties( "Store", sendSeq );
|
ConfigItem::SetSetProperties( "Store", sendSeq );
|
||||||
@@ -424,7 +438,7 @@ void SAL_CALL PasswordContainer::disposing( const EventObject& )
|
@@ -427,7 +441,7 @@ void SAL_CALL PasswordContainer::disposing( const EventObject& )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -184,7 +187,7 @@ index b674844f91d3..ef79470a2cb6 100644
|
|||||||
{
|
{
|
||||||
if( !aMasterPasswd.isEmpty() )
|
if( !aMasterPasswd.isEmpty() )
|
||||||
{
|
{
|
||||||
@@ -439,9 +453,16 @@ std::vector< OUString > PasswordContainer::DecodePasswords( const OUString& aLin
|
@@ -442,9 +456,16 @@ std::vector< OUString > PasswordContainer::DecodePasswords( const OUString& aLin
|
||||||
for( int ind = 0; ind < RTL_DIGEST_LENGTH_MD5; ind++ )
|
for( int ind = 0; ind < RTL_DIGEST_LENGTH_MD5; ind++ )
|
||||||
code[ ind ] = static_cast<char>(aMasterPasswd.copy( ind*2, 2 ).toUInt32(16));
|
code[ ind ] = static_cast<char>(aMasterPasswd.copy( ind*2, 2 ).toUInt32(16));
|
||||||
|
|
||||||
@ -202,7 +205,7 @@ index b674844f91d3..ef79470a2cb6 100644
|
|||||||
|
|
||||||
if( result == rtl_Cipher_E_None )
|
if( result == rtl_Cipher_E_None )
|
||||||
{
|
{
|
||||||
@@ -474,7 +495,7 @@ std::vector< OUString > PasswordContainer::DecodePasswords( const OUString& aLin
|
@@ -477,7 +498,7 @@ std::vector< OUString > PasswordContainer::DecodePasswords( const OUString& aLin
|
||||||
"Can't decode!", css::uno::Reference<css::uno::XInterface>(), mode);
|
"Can't decode!", css::uno::Reference<css::uno::XInterface>(), mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -211,7 +214,7 @@ index b674844f91d3..ef79470a2cb6 100644
|
|||||||
{
|
{
|
||||||
if( !aMasterPasswd.isEmpty() )
|
if( !aMasterPasswd.isEmpty() )
|
||||||
{
|
{
|
||||||
@@ -491,9 +512,16 @@ OUString PasswordContainer::EncodePasswords(const std::vector< OUString >& lines
|
@@ -494,9 +515,16 @@ OUString PasswordContainer::EncodePasswords(const std::vector< OUString >& lines
|
||||||
for( int ind = 0; ind < RTL_DIGEST_LENGTH_MD5; ind++ )
|
for( int ind = 0; ind < RTL_DIGEST_LENGTH_MD5; ind++ )
|
||||||
code[ ind ] = static_cast<char>(aMasterPasswd.copy( ind*2, 2 ).toUInt32(16));
|
code[ ind ] = static_cast<char>(aMasterPasswd.copy( ind*2, 2 ).toUInt32(16));
|
||||||
|
|
||||||
@ -229,7 +232,7 @@ index b674844f91d3..ef79470a2cb6 100644
|
|||||||
|
|
||||||
if( result == rtl_Cipher_E_None )
|
if( result == rtl_Cipher_E_None )
|
||||||
{
|
{
|
||||||
@@ -561,7 +589,7 @@ void PasswordContainer::UpdateVector( const OUString& aURL, std::vector< NamePas
|
@@ -564,7 +592,7 @@ void PasswordContainer::UpdateVector( const OUString& aURL, std::vector< NamePas
|
||||||
|
|
||||||
if( aRecord.HasPasswords( PERSISTENT_RECORD ) )
|
if( aRecord.HasPasswords( PERSISTENT_RECORD ) )
|
||||||
{
|
{
|
||||||
@ -238,7 +241,7 @@ index b674844f91d3..ef79470a2cb6 100644
|
|||||||
|
|
||||||
if( writeFile )
|
if( writeFile )
|
||||||
{
|
{
|
||||||
@@ -594,7 +622,8 @@ UserRecord PasswordContainer::CopyToUserRecord( const NamePassRecord& aRecord, b
|
@@ -597,7 +625,8 @@ UserRecord PasswordContainer::CopyToUserRecord( const NamePassRecord& aRecord, b
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@ -248,7 +251,7 @@ index b674844f91d3..ef79470a2cb6 100644
|
|||||||
aPasswords.insert( aPasswords.end(), aDecodedPasswords.begin(), aDecodedPasswords.end() );
|
aPasswords.insert( aPasswords.end(), aDecodedPasswords.begin(), aDecodedPasswords.end() );
|
||||||
}
|
}
|
||||||
catch( NoMasterException& )
|
catch( NoMasterException& )
|
||||||
@@ -639,6 +668,19 @@ void SAL_CALL PasswordContainer::addPersistent( const OUString& Url, const OUStr
|
@@ -642,6 +671,19 @@ void SAL_CALL PasswordContainer::addPersistent( const OUString& Url, const OUStr
|
||||||
PrivateAdd( Url, UserName, Passwords, PERSISTENT_RECORD, aHandler );
|
PrivateAdd( Url, UserName, Passwords, PERSISTENT_RECORD, aHandler );
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -268,7 +271,7 @@ index b674844f91d3..ef79470a2cb6 100644
|
|||||||
|
|
||||||
void PasswordContainer::PrivateAdd( const OUString& Url, const OUString& UserName, const Sequence< OUString >& Passwords, char Mode, const Reference< XInteractionHandler >& aHandler )
|
void PasswordContainer::PrivateAdd( const OUString& Url, const OUString& UserName, const Sequence< OUString >& Passwords, char Mode, const Reference< XInteractionHandler >& aHandler )
|
||||||
{
|
{
|
||||||
@@ -646,7 +688,11 @@ void PasswordContainer::PrivateAdd( const OUString& Url, const OUString& UserNam
|
@@ -649,7 +691,11 @@ void PasswordContainer::PrivateAdd( const OUString& Url, const OUString& UserNam
|
||||||
::std::vector< OUString > aStorePass = comphelper::sequenceToContainer< std::vector<OUString> >( Passwords );
|
::std::vector< OUString > aStorePass = comphelper::sequenceToContainer< std::vector<OUString> >( Passwords );
|
||||||
|
|
||||||
if( Mode == PERSISTENT_RECORD )
|
if( Mode == PERSISTENT_RECORD )
|
||||||
@ -281,7 +284,7 @@ index b674844f91d3..ef79470a2cb6 100644
|
|||||||
else if( Mode == MEMORY_RECORD )
|
else if( Mode == MEMORY_RECORD )
|
||||||
aRecord.SetMemPasswords( aStorePass );
|
aRecord.SetMemPasswords( aStorePass );
|
||||||
else
|
else
|
||||||
@@ -839,10 +885,10 @@ OUString const & PasswordContainer::GetMasterPassword( const Reference< XInterac
|
@@ -842,10 +888,10 @@ OUString const & PasswordContainer::GetMasterPassword( const Reference< XInterac
|
||||||
|
|
||||||
if( m_aMasterPasswd.isEmpty() && aHandler.is() )
|
if( m_aMasterPasswd.isEmpty() && aHandler.is() )
|
||||||
{
|
{
|
||||||
@ -294,7 +297,7 @@ index b674844f91d3..ef79470a2cb6 100644
|
|||||||
aRMode = PasswordRequestMode_PASSWORD_CREATE;
|
aRMode = PasswordRequestMode_PASSWORD_CREATE;
|
||||||
else if ( aEncodedMP.isEmpty() )
|
else if ( aEncodedMP.isEmpty() )
|
||||||
{
|
{
|
||||||
@@ -864,14 +910,15 @@ OUString const & PasswordContainer::GetMasterPassword( const Reference< XInterac
|
@@ -867,14 +913,15 @@ OUString const & PasswordContainer::GetMasterPassword( const Reference< XInterac
|
||||||
m_aMasterPasswd = aPass;
|
m_aMasterPasswd = aPass;
|
||||||
std::vector< OUString > aMaster( 1, m_aMasterPasswd );
|
std::vector< OUString > aMaster( 1, m_aMasterPasswd );
|
||||||
|
|
||||||
@ -312,7 +315,7 @@ index b674844f91d3..ef79470a2cb6 100644
|
|||||||
if( aRM.empty() || aPass != aRM[0] )
|
if( aRM.empty() || aPass != aRM[0] )
|
||||||
{
|
{
|
||||||
bAskAgain = true;
|
bAskAgain = true;
|
||||||
@@ -1028,7 +1075,8 @@ Sequence< UrlRecord > SAL_CALL PasswordContainer::getAllPersistent( const Refere
|
@@ -1031,7 +1078,8 @@ Sequence< UrlRecord > SAL_CALL PasswordContainer::getAllPersistent( const Refere
|
||||||
{
|
{
|
||||||
sal_Int32 oldLen = aUsers.getLength();
|
sal_Int32 oldLen = aUsers.getLength();
|
||||||
aUsers.realloc( oldLen + 1 );
|
aUsers.realloc( oldLen + 1 );
|
||||||
@ -322,7 +325,7 @@ index b674844f91d3..ef79470a2cb6 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
if( aUsers.hasElements() )
|
if( aUsers.hasElements() )
|
||||||
@@ -1045,12 +1093,12 @@ Sequence< UrlRecord > SAL_CALL PasswordContainer::getAllPersistent( const Refere
|
@@ -1048,12 +1096,12 @@ Sequence< UrlRecord > SAL_CALL PasswordContainer::getAllPersistent( const Refere
|
||||||
sal_Bool SAL_CALL PasswordContainer::authorizateWithMasterPassword( const uno::Reference< task::XInteractionHandler >& xHandler )
|
sal_Bool SAL_CALL PasswordContainer::authorizateWithMasterPassword( const uno::Reference< task::XInteractionHandler >& xHandler )
|
||||||
{
|
{
|
||||||
bool bResult = false;
|
bool bResult = false;
|
||||||
@ -337,7 +340,7 @@ index b674844f91d3..ef79470a2cb6 100644
|
|||||||
{
|
{
|
||||||
if ( aEncodedMP.isEmpty() )
|
if ( aEncodedMP.isEmpty() )
|
||||||
{
|
{
|
||||||
@@ -1118,8 +1166,8 @@ sal_Bool SAL_CALL PasswordContainer::changeMasterPassword( const uno::Reference<
|
@@ -1122,8 +1170,8 @@ sal_Bool SAL_CALL PasswordContainer::changeMasterPassword( const uno::Reference<
|
||||||
|
|
||||||
bool bCanChangePassword = true;
|
bool bCanChangePassword = true;
|
||||||
// if there is already a stored master password it should be entered by the user before the change happen
|
// if there is already a stored master password it should be entered by the user before the change happen
|
||||||
@ -348,7 +351,7 @@ index b674844f91d3..ef79470a2cb6 100644
|
|||||||
bCanChangePassword = authorizateWithMasterPassword( xTmpHandler );
|
bCanChangePassword = authorizateWithMasterPassword( xTmpHandler );
|
||||||
|
|
||||||
if ( bCanChangePassword )
|
if ( bCanChangePassword )
|
||||||
@@ -1138,7 +1186,8 @@ sal_Bool SAL_CALL PasswordContainer::changeMasterPassword( const uno::Reference<
|
@@ -1142,7 +1190,8 @@ sal_Bool SAL_CALL PasswordContainer::changeMasterPassword( const uno::Reference<
|
||||||
// store the new master password
|
// store the new master password
|
||||||
m_aMasterPasswd = aPass;
|
m_aMasterPasswd = aPass;
|
||||||
std::vector< OUString > aMaster( 1, m_aMasterPasswd );
|
std::vector< OUString > aMaster( 1, m_aMasterPasswd );
|
||||||
@ -358,7 +361,7 @@ index b674844f91d3..ef79470a2cb6 100644
|
|||||||
|
|
||||||
// store all the entries with the new password
|
// store all the entries with the new password
|
||||||
for ( const auto& rURL : aPersistent )
|
for ( const auto& rURL : aPersistent )
|
||||||
@@ -1163,7 +1212,7 @@ void SAL_CALL PasswordContainer::removeMasterPassword()
|
@@ -1167,7 +1216,7 @@ void SAL_CALL PasswordContainer::removeMasterPassword()
|
||||||
if ( m_pStorageFile )
|
if ( m_pStorageFile )
|
||||||
{
|
{
|
||||||
m_aMasterPasswd.clear();
|
m_aMasterPasswd.clear();
|
||||||
@ -367,7 +370,7 @@ index b674844f91d3..ef79470a2cb6 100644
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1174,8 +1223,8 @@ sal_Bool SAL_CALL PasswordContainer::hasMasterPassword( )
|
@@ -1178,8 +1227,8 @@ sal_Bool SAL_CALL PasswordContainer::hasMasterPassword( )
|
||||||
if ( !m_pStorageFile )
|
if ( !m_pStorageFile )
|
||||||
throw uno::RuntimeException();
|
throw uno::RuntimeException();
|
||||||
|
|
||||||
@ -378,7 +381,7 @@ index b674844f91d3..ef79470a2cb6 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
sal_Bool SAL_CALL PasswordContainer::allowPersistentStoring( sal_Bool bAllow )
|
sal_Bool SAL_CALL PasswordContainer::allowPersistentStoring( sal_Bool bAllow )
|
||||||
@@ -1222,8 +1271,8 @@ sal_Bool SAL_CALL PasswordContainer::useDefaultMasterPassword( const uno::Refere
|
@@ -1226,8 +1275,8 @@ sal_Bool SAL_CALL PasswordContainer::useDefaultMasterPassword( const uno::Refere
|
||||||
|
|
||||||
bool bCanChangePassword = true;
|
bool bCanChangePassword = true;
|
||||||
// if there is already a stored nondefault master password it should be entered by the user before the change happen
|
// if there is already a stored nondefault master password it should be entered by the user before the change happen
|
||||||
@ -389,7 +392,7 @@ index b674844f91d3..ef79470a2cb6 100644
|
|||||||
bCanChangePassword = authorizateWithMasterPassword( xTmpHandler );
|
bCanChangePassword = authorizateWithMasterPassword( xTmpHandler );
|
||||||
|
|
||||||
if ( bCanChangePassword )
|
if ( bCanChangePassword )
|
||||||
@@ -1240,7 +1289,7 @@ sal_Bool SAL_CALL PasswordContainer::useDefaultMasterPassword( const uno::Refere
|
@@ -1244,7 +1293,7 @@ sal_Bool SAL_CALL PasswordContainer::useDefaultMasterPassword( const uno::Refere
|
||||||
|
|
||||||
// store the empty string to flag the default master password
|
// store the empty string to flag the default master password
|
||||||
m_aMasterPasswd = aPass;
|
m_aMasterPasswd = aPass;
|
||||||
@ -398,7 +401,7 @@ index b674844f91d3..ef79470a2cb6 100644
|
|||||||
|
|
||||||
// store all the entries with the new password
|
// store all the entries with the new password
|
||||||
for ( const auto& rURL : aPersistent )
|
for ( const auto& rURL : aPersistent )
|
||||||
@@ -1264,8 +1313,8 @@ sal_Bool SAL_CALL PasswordContainer::isDefaultMasterPasswordUsed()
|
@@ -1268,8 +1317,8 @@ sal_Bool SAL_CALL PasswordContainer::isDefaultMasterPasswordUsed()
|
||||||
if ( !m_pStorageFile )
|
if ( !m_pStorageFile )
|
||||||
throw uno::RuntimeException();
|
throw uno::RuntimeException();
|
||||||
|
|
||||||
@ -410,10 +413,10 @@ index b674844f91d3..ef79470a2cb6 100644
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/svl/source/passwordcontainer/passwordcontainer.hxx b/svl/source/passwordcontainer/passwordcontainer.hxx
|
diff --git a/svl/source/passwordcontainer/passwordcontainer.hxx b/svl/source/passwordcontainer/passwordcontainer.hxx
|
||||||
index bf43b5903602..0454437b9dc2 100644
|
index cf5c717d0c9e..4e3a6629139e 100644
|
||||||
--- a/svl/source/passwordcontainer/passwordcontainer.hxx
|
--- a/svl/source/passwordcontainer/passwordcontainer.hxx
|
||||||
+++ b/svl/source/passwordcontainer/passwordcontainer.hxx
|
+++ b/svl/source/passwordcontainer/passwordcontainer.hxx
|
||||||
@@ -34,6 +34,7 @@
|
@@ -33,6 +33,7 @@
|
||||||
#include <unotools/configitem.hxx>
|
#include <unotools/configitem.hxx>
|
||||||
#include <ucbhelper/interactionrequest.hxx>
|
#include <ucbhelper/interactionrequest.hxx>
|
||||||
|
|
||||||
@ -421,7 +424,7 @@ index bf43b5903602..0454437b9dc2 100644
|
|||||||
#include <rtl/ref.hxx>
|
#include <rtl/ref.hxx>
|
||||||
#include <osl/mutex.hxx>
|
#include <osl/mutex.hxx>
|
||||||
|
|
||||||
@@ -52,11 +53,12 @@ class NamePassRecord
|
@@ -51,11 +52,12 @@ class NamePassRecord
|
||||||
::std::vector< OUString > m_aMemPass;
|
::std::vector< OUString > m_aMemPass;
|
||||||
|
|
||||||
// persistent passwords are encrypted in one string
|
// persistent passwords are encrypted in one string
|
||||||
@ -436,7 +439,7 @@ index bf43b5903602..0454437b9dc2 100644
|
|||||||
{
|
{
|
||||||
m_bHasMemPass = bHasMemoryList;
|
m_bHasMemPass = bHasMemoryList;
|
||||||
if ( bHasMemoryList )
|
if ( bHasMemoryList )
|
||||||
@@ -64,7 +66,10 @@ class NamePassRecord
|
@@ -63,7 +65,10 @@ class NamePassRecord
|
||||||
|
|
||||||
m_bHasPersPass = bHasPersistentList;
|
m_bHasPersPass = bHasPersistentList;
|
||||||
if ( bHasPersistentList )
|
if ( bHasPersistentList )
|
||||||
@ -447,7 +450,7 @@ index bf43b5903602..0454437b9dc2 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@@ -76,11 +81,12 @@ public:
|
@@ -75,11 +80,12 @@ public:
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -461,7 +464,7 @@ index bf43b5903602..0454437b9dc2 100644
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -89,7 +95,8 @@ public:
|
@@ -88,7 +94,8 @@ public:
|
||||||
, m_bHasMemPass( false )
|
, m_bHasMemPass( false )
|
||||||
, m_bHasPersPass( false )
|
, m_bHasPersPass( false )
|
||||||
{
|
{
|
||||||
@ -471,7 +474,7 @@ index bf43b5903602..0454437b9dc2 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
NamePassRecord& operator=( const NamePassRecord& aRecord )
|
NamePassRecord& operator=( const NamePassRecord& aRecord )
|
||||||
@@ -100,7 +107,9 @@ public:
|
@@ -99,7 +106,9 @@ public:
|
||||||
|
|
||||||
m_aMemPass.clear();
|
m_aMemPass.clear();
|
||||||
m_aPersPass.clear();
|
m_aPersPass.clear();
|
||||||
@ -482,7 +485,7 @@ index bf43b5903602..0454437b9dc2 100644
|
|||||||
}
|
}
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
@@ -136,15 +145,24 @@ public:
|
@@ -135,15 +144,24 @@ public:
|
||||||
return OUString();
|
return OUString();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -508,7 +511,7 @@ index bf43b5903602..0454437b9dc2 100644
|
|||||||
m_bHasPersPass = true;
|
m_bHasPersPass = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -159,6 +177,7 @@ public:
|
@@ -158,6 +176,7 @@ public:
|
||||||
{
|
{
|
||||||
m_bHasPersPass = false;
|
m_bHasPersPass = false;
|
||||||
m_aPersPass.clear();
|
m_aPersPass.clear();
|
||||||
@ -516,7 +519,7 @@ index bf43b5903602..0454437b9dc2 100644
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -182,6 +201,7 @@ private:
|
@@ -181,6 +200,7 @@ private:
|
||||||
PasswordContainer* mainCont;
|
PasswordContainer* mainCont;
|
||||||
bool hasEncoded;
|
bool hasEncoded;
|
||||||
OUString mEncoded;
|
OUString mEncoded;
|
||||||
@ -524,18 +527,18 @@ index bf43b5903602..0454437b9dc2 100644
|
|||||||
|
|
||||||
virtual void ImplCommit() override;
|
virtual void ImplCommit() override;
|
||||||
|
|
||||||
@@ -202,8 +222,8 @@ public:
|
@@ -201,8 +221,8 @@ public:
|
||||||
|
|
||||||
sal_Int32 getStorageVersion();
|
sal_Int32 getStorageVersion();
|
||||||
|
|
||||||
- bool getEncodedMP( OUString& aResult );
|
- bool getEncodedMP( OUString& aResult );
|
||||||
- void setEncodedMP( const OUString& aResult, bool bAcceptEmpty = false );
|
- void setEncodedMP( const OUString& aResult, bool bAcceptEnmpty = false );
|
||||||
+ bool getEncodedMP( OUString& aResult, OUString& aResultIV );
|
+ bool getEncodedMP( OUString& aResult, OUString& aResultIV );
|
||||||
+ void setEncodedMP( const OUString& aResult, const OUString& aResultIV, bool bAcceptEmpty = false );
|
+ void setEncodedMP( const OUString& aResult, const OUString& aResultIV, bool bAcceptEmpty = false );
|
||||||
void setUseStorage( bool bUse );
|
void setUseStorage( bool bUse );
|
||||||
bool useStorage();
|
bool useStorage();
|
||||||
|
|
||||||
@@ -224,6 +244,29 @@ private:
|
@@ -223,6 +243,29 @@ private:
|
||||||
css::uno::Reference< css::lang::XComponent > mComponent;
|
css::uno::Reference< css::lang::XComponent > mComponent;
|
||||||
SysCredentialsConfig mUrlContainer;
|
SysCredentialsConfig mUrlContainer;
|
||||||
|
|
||||||
@ -565,7 +568,7 @@ index bf43b5903602..0454437b9dc2 100644
|
|||||||
/// @throws css::uno::RuntimeException
|
/// @throws css::uno::RuntimeException
|
||||||
css::uno::Sequence< css::task::UserRecord > CopyToUserRecordSequence(
|
css::uno::Sequence< css::task::UserRecord > CopyToUserRecordSequence(
|
||||||
const ::std::vector< NamePassRecord >& original,
|
const ::std::vector< NamePassRecord >& original,
|
||||||
@@ -274,10 +317,10 @@ css::task::UrlRecord find(
|
@@ -273,10 +316,10 @@ css::task::UrlRecord find(
|
||||||
const css::uno::Reference< css::task::XInteractionHandler >& Handler );
|
const css::uno::Reference< css::task::XInteractionHandler >& Handler );
|
||||||
|
|
||||||
/// @throws css::uno::RuntimeException
|
/// @throws css::uno::RuntimeException
|
||||||
@ -577,7 +580,7 @@ index bf43b5903602..0454437b9dc2 100644
|
|||||||
+ static OUString EncodePasswords(const std::vector< OUString >& lines, const OUString& aIV, const OUString& aMasterPassword );
|
+ static OUString EncodePasswords(const std::vector< OUString >& lines, const OUString& aIV, const OUString& aMasterPassword );
|
||||||
|
|
||||||
public:
|
public:
|
||||||
PasswordContainer( const css::uno::Reference< css::uno::XComponentContext >& );
|
PasswordContainer( const css::uno::Reference< css::lang::XMultiServiceFactory >& );
|
||||||
--
|
--
|
||||||
2.37.3
|
2.37.1
|
||||||
|
|
||||||
|
@ -1,20 +1,12 @@
|
|||||||
From b74078dd27a8d9e7151bc0466ca231a06f555459 Mon Sep 17 00:00:00 2001
|
From ae89e7b8ae1e781c1a9d8ca2c5d4aeca656932f8 Mon Sep 17 00:00:00 2001
|
||||||
Message-ID: <b74078dd27a8d9e7151bc0466ca231a06f555459.1703086328.git.erack@redhat.com>
|
|
||||||
In-Reply-To: <82752ccba78ecdbf94908377ec022f68ba7d9d59.1703086328.git.erack@redhat.com>
|
|
||||||
References: <82752ccba78ecdbf94908377ec022f68ba7d9d59.1703086328.git.erack@redhat.com>
|
|
||||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolan.mcnamara@collabora.com>
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolan.mcnamara@collabora.com>
|
||||||
Date: Fri, 3 Nov 2023 17:26:25 +0000
|
Date: Fri, 3 Nov 2023 17:26:25 +0000
|
||||||
Subject: [PATCH 2/4] default to ignoring libreoffice special-purpose protocols
|
Subject: [PATCH] default to ignoring libreoffice special-purpose protocols in
|
||||||
in calc hyperlink
|
calc hyperlink
|
||||||
MIME-Version: 1.0
|
MIME-Version: 1.0
|
||||||
Content-Type: multipart/mixed; boundary="------------erAck-patch-parts"
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
|
||||||
This is a multi-part message in MIME format.
|
|
||||||
--------------erAck-patch-parts
|
|
||||||
Content-Type: text/plain; charset=UTF-8; format=fixed
|
|
||||||
Content-Transfer-Encoding: 8bit
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
|
||||||
Change-Id: Ib9f62be3acc05f24ca234dec0fec21e24579e9de
|
Change-Id: Ib9f62be3acc05f24ca234dec0fec21e24579e9de
|
||||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158911
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158911
|
||||||
Tested-by: Jenkins
|
Tested-by: Jenkins
|
||||||
@ -31,66 +23,61 @@ Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|||||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159912
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159912
|
||||||
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
||||||
|
|
||||||
erAck: backported to 7.1.8.1
|
erAck: backported to 6.4.7.2
|
||||||
|
|
||||||
---
|
---
|
||||||
dbaccess/source/core/dataaccess/ModelImpl.cxx | 3 +-
|
dbaccess/source/core/dataaccess/ModelImpl.cxx | 3 +-
|
||||||
include/sfx2/docmacromode.hxx | 4 ++-
|
include/sfx2/docmacromode.hxx | 5 ++-
|
||||||
include/sfx2/objsh.hxx | 3 ++
|
include/sfx2/objsh.hxx | 3 ++
|
||||||
sc/source/core/data/global.cxx | 33 ++++++++++++++++++-
|
sc/source/core/data/global.cxx | 33 ++++++++++++++++++-
|
||||||
sfx2/source/doc/docmacromode.cxx | 8 +++--
|
sfx2/source/doc/docmacromode.cxx | 8 +++--
|
||||||
sfx2/source/doc/objmisc.cxx | 8 ++++-
|
sfx2/source/doc/objmisc.cxx | 8 ++++-
|
||||||
sfx2/source/doc/objxtor.cxx | 1 +
|
sfx2/source/doc/objxtor.cxx | 1 +
|
||||||
sfx2/source/inc/objshimp.hxx | 3 +-
|
sfx2/source/inc/objshimp.hxx | 3 +-
|
||||||
8 files changed, 56 insertions(+), 7 deletions(-)
|
8 files changed, 57 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
|
|
||||||
--------------erAck-patch-parts
|
|
||||||
Content-Type: text/x-patch; name="0002-default-to-ignoring-libreoffice-special-purpose-prot.patch"
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
Content-Disposition: attachment; filename="0002-default-to-ignoring-libreoffice-special-purpose-prot.patch"
|
|
||||||
|
|
||||||
diff --git a/dbaccess/source/core/dataaccess/ModelImpl.cxx b/dbaccess/source/core/dataaccess/ModelImpl.cxx
|
diff --git a/dbaccess/source/core/dataaccess/ModelImpl.cxx b/dbaccess/source/core/dataaccess/ModelImpl.cxx
|
||||||
index 3e21289dbe9a..e399d5da7067 100644
|
index 1f11f36..ce4dbae 100644
|
||||||
--- a/dbaccess/source/core/dataaccess/ModelImpl.cxx
|
--- a/dbaccess/source/core/dataaccess/ModelImpl.cxx
|
||||||
+++ b/dbaccess/source/core/dataaccess/ModelImpl.cxx
|
+++ b/dbaccess/source/core/dataaccess/ModelImpl.cxx
|
||||||
@@ -1133,7 +1133,8 @@ bool ODatabaseModelImpl::checkMacrosOnLoading()
|
@@ -1140,7 +1140,8 @@ bool ODatabaseModelImpl::checkMacrosOnLoading()
|
||||||
{
|
{
|
||||||
Reference< XInteractionHandler > xInteraction;
|
Reference< XInteractionHandler > xInteraction;
|
||||||
xInteraction = m_aMediaDescriptor.getOrDefault( "InteractionHandler", xInteraction );
|
xInteraction = m_aMediaDescriptor.getOrDefault( "InteractionHandler", xInteraction );
|
||||||
- return m_aMacroMode.checkMacrosOnLoading( xInteraction );
|
- return m_aMacroMode.checkMacrosOnLoading( xInteraction );
|
||||||
+ const bool bHasMacros = m_aMacroMode.hasMacros();
|
+ const bool bHasMacros = m_aMacroMode.hasMacros();
|
||||||
+ return m_aMacroMode.checkMacrosOnLoading(xInteraction, false /*HasValidContentSignature*/, bHasMacros);
|
+ return m_aMacroMode.checkMacrosOnLoading(xInteraction, bHasMacros);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ODatabaseModelImpl::resetMacroExecutionMode()
|
void ODatabaseModelImpl::resetMacroExecutionMode()
|
||||||
diff --git a/include/sfx2/docmacromode.hxx b/include/sfx2/docmacromode.hxx
|
diff --git a/include/sfx2/docmacromode.hxx b/include/sfx2/docmacromode.hxx
|
||||||
index 7ed42f6a14dd..0acb44cbfbb1 100644
|
index a15bbbe..98b7d3a 100644
|
||||||
--- a/include/sfx2/docmacromode.hxx
|
--- a/include/sfx2/docmacromode.hxx
|
||||||
+++ b/include/sfx2/docmacromode.hxx
|
+++ b/include/sfx2/docmacromode.hxx
|
||||||
@@ -261,6 +261,8 @@ namespace sfx2
|
@@ -260,6 +260,8 @@ namespace sfx2
|
||||||
*/
|
*/
|
||||||
static bool storageHasMacros( const css::uno::Reference< css::embed::XStorage >& _rxStorage );
|
static bool storageHasMacros( const css::uno::Reference< css::embed::XStorage >& _rxStorage );
|
||||||
|
|
||||||
+ bool hasMacros() const;
|
+ bool hasMacros() const;
|
||||||
+
|
+
|
||||||
static bool containerHasBasicMacros( const css::uno::Reference< css::script::XLibraryContainer >& xContainer );
|
static bool containerHasBasicMacros( const css::uno::Reference< css::script::XLibraryContainer >& xContainter );
|
||||||
/** checks the macro execution mode while loading the document.
|
/** checks the macro execution mode while loading the document.
|
||||||
|
|
||||||
@@ -288,7 +290,7 @@ namespace sfx2
|
@@ -286,7 +288,8 @@ namespace sfx2
|
||||||
|
*/
|
||||||
bool
|
bool
|
||||||
checkMacrosOnLoading(
|
checkMacrosOnLoading(
|
||||||
const css::uno::Reference< css::task::XInteractionHandler >& _rxInteraction,
|
- const css::uno::Reference< css::task::XInteractionHandler >& _rxInteraction
|
||||||
- bool bHasValidContentSignature = false
|
+ const css::uno::Reference< css::task::XInteractionHandler >& _rxInteraction,
|
||||||
+ bool bHasValidContentSignature, bool bHasMacros
|
+ bool bHasMacros
|
||||||
);
|
);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
diff --git a/include/sfx2/objsh.hxx b/include/sfx2/objsh.hxx
|
diff --git a/include/sfx2/objsh.hxx b/include/sfx2/objsh.hxx
|
||||||
index ef1a0a33e1dc..fde0dba3d7c9 100644
|
index 2a56ebe..43df460 100644
|
||||||
--- a/include/sfx2/objsh.hxx
|
--- a/include/sfx2/objsh.hxx
|
||||||
+++ b/include/sfx2/objsh.hxx
|
+++ b/include/sfx2/objsh.hxx
|
||||||
@@ -433,6 +433,9 @@ public:
|
@@ -418,6 +418,9 @@ public:
|
||||||
void SetMacroCallsSeenWhileLoading();
|
void SetMacroCallsSeenWhileLoading();
|
||||||
bool GetMacroCallsSeenWhileLoading() const;
|
bool GetMacroCallsSeenWhileLoading() const;
|
||||||
|
|
||||||
@ -101,7 +88,7 @@ index ef1a0a33e1dc..fde0dba3d7c9 100644
|
|||||||
bool SetModifyPasswordInfo( const css::uno::Sequence< css::beans::PropertyValue >& aInfo );
|
bool SetModifyPasswordInfo( const css::uno::Sequence< css::beans::PropertyValue >& aInfo );
|
||||||
|
|
||||||
diff --git a/sc/source/core/data/global.cxx b/sc/source/core/data/global.cxx
|
diff --git a/sc/source/core/data/global.cxx b/sc/source/core/data/global.cxx
|
||||||
index b0a91cb397d8..92caea1ea459 100644
|
index 050fd82..92d50c4 100644
|
||||||
--- a/sc/source/core/data/global.cxx
|
--- a/sc/source/core/data/global.cxx
|
||||||
+++ b/sc/source/core/data/global.cxx
|
+++ b/sc/source/core/data/global.cxx
|
||||||
@@ -26,7 +26,9 @@
|
@@ -26,7 +26,9 @@
|
||||||
@ -114,7 +101,7 @@ index b0a91cb397d8..92caea1ea459 100644
|
|||||||
#include <sfx2/viewfrm.hxx>
|
#include <sfx2/viewfrm.hxx>
|
||||||
#include <sfx2/viewsh.hxx>
|
#include <sfx2/viewsh.hxx>
|
||||||
#include <svl/intitem.hxx>
|
#include <svl/intitem.hxx>
|
||||||
@@ -772,7 +774,7 @@ void ScGlobal::OpenURL(const OUString& rURL, const OUString& rTarget, bool bIgno
|
@@ -789,7 +791,7 @@ void ScGlobal::OpenURL(const OUString& rURL, const OUString& rTarget, bool bIgno
|
||||||
|
|
||||||
OUString aUrlName( rURL );
|
OUString aUrlName( rURL );
|
||||||
SfxViewFrame* pFrame = nullptr;
|
SfxViewFrame* pFrame = nullptr;
|
||||||
@ -123,7 +110,7 @@ index b0a91cb397d8..92caea1ea459 100644
|
|||||||
OUString aReferName;
|
OUString aReferName;
|
||||||
if ( pScActiveViewShell )
|
if ( pScActiveViewShell )
|
||||||
{
|
{
|
||||||
@@ -806,6 +808,35 @@ void ScGlobal::OpenURL(const OUString& rURL, const OUString& rTarget, bool bIgno
|
@@ -823,6 +825,35 @@ void ScGlobal::OpenURL(const OUString& rURL, const OUString& rTarget, bool bIgno
|
||||||
aUrlName = aNewUrlName;
|
aUrlName = aNewUrlName;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -160,10 +147,10 @@ index b0a91cb397d8..92caea1ea459 100644
|
|||||||
SfxStringItem aTarget( SID_TARGETNAME, rTarget );
|
SfxStringItem aTarget( SID_TARGETNAME, rTarget );
|
||||||
if ( nScClickMouseModifier & KEY_SHIFT ) // control-click -> into new window
|
if ( nScClickMouseModifier & KEY_SHIFT ) // control-click -> into new window
|
||||||
diff --git a/sfx2/source/doc/docmacromode.cxx b/sfx2/source/doc/docmacromode.cxx
|
diff --git a/sfx2/source/doc/docmacromode.cxx b/sfx2/source/doc/docmacromode.cxx
|
||||||
index bdae350b22f5..d8757c7a505d 100644
|
index 492bd0a..7f1fb2b 100644
|
||||||
--- a/sfx2/source/doc/docmacromode.cxx
|
--- a/sfx2/source/doc/docmacromode.cxx
|
||||||
+++ b/sfx2/source/doc/docmacromode.cxx
|
+++ b/sfx2/source/doc/docmacromode.cxx
|
||||||
@@ -403,8 +403,12 @@ namespace sfx2
|
@@ -391,8 +391,12 @@ namespace sfx2
|
||||||
return bHasMacros;
|
return bHasMacros;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -172,31 +159,31 @@ index bdae350b22f5..d8757c7a505d 100644
|
|||||||
+ return m_xData->m_rDocumentAccess.documentStorageHasMacros() || hasMacroLibrary() || m_xData->m_rDocumentAccess.macroCallsSeenWhileLoading();
|
+ return m_xData->m_rDocumentAccess.documentStorageHasMacros() || hasMacroLibrary() || m_xData->m_rDocumentAccess.macroCallsSeenWhileLoading();
|
||||||
+ }
|
+ }
|
||||||
|
|
||||||
- bool DocumentMacroMode::checkMacrosOnLoading( const Reference< XInteractionHandler >& rxInteraction, bool bHasValidContentSignature )
|
- bool DocumentMacroMode::checkMacrosOnLoading( const Reference< XInteractionHandler >& rxInteraction )
|
||||||
+ bool DocumentMacroMode::checkMacrosOnLoading( const Reference< XInteractionHandler >& rxInteraction, bool bHasValidContentSignature, bool bHasMacros )
|
+ bool DocumentMacroMode::checkMacrosOnLoading( const Reference< XInteractionHandler >& rxInteraction, bool bHasMacros )
|
||||||
{
|
{
|
||||||
bool bAllow = false;
|
bool bAllow = false;
|
||||||
if ( SvtSecurityOptions().IsMacroDisabled() )
|
if ( SvtSecurityOptions().IsMacroDisabled() )
|
||||||
@@ -414,7 +418,7 @@ namespace sfx2
|
@@ -402,7 +406,7 @@ namespace sfx2
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
- if (m_xData->m_rDocumentAccess.documentStorageHasMacros() || hasMacroLibrary() || m_xData->m_rDocumentAccess.macroCallsSeenWhileLoading())
|
- if (m_xData->m_rDocumentAccess.documentStorageHasMacros() || hasMacroLibrary() || m_xData->m_rDocumentAccess.macroCallsSeenWhileLoading())
|
||||||
+ if (bHasMacros)
|
+ if (bHasMacros)
|
||||||
{
|
{
|
||||||
if (m_xData->m_rDocumentAccess.macroCallsSeenWhileLoading())
|
bAllow = adjustMacroMode( rxInteraction );
|
||||||
m_bNeedsContentSigned = true;
|
}
|
||||||
diff --git a/sfx2/source/doc/objmisc.cxx b/sfx2/source/doc/objmisc.cxx
|
diff --git a/sfx2/source/doc/objmisc.cxx b/sfx2/source/doc/objmisc.cxx
|
||||||
index 6b86e2163ccb..ddf95eeafe5e 100644
|
index 6819404..fac75dd 100644
|
||||||
--- a/sfx2/source/doc/objmisc.cxx
|
--- a/sfx2/source/doc/objmisc.cxx
|
||||||
+++ b/sfx2/source/doc/objmisc.cxx
|
+++ b/sfx2/source/doc/objmisc.cxx
|
||||||
@@ -944,9 +944,15 @@ void SfxObjectShell::CheckSecurityOnLoading_Impl()
|
@@ -953,9 +953,15 @@ void SfxObjectShell::CheckSecurityOnLoading_Impl()
|
||||||
|
CheckEncryption_Impl( xInteraction );
|
||||||
|
|
||||||
// check macro security
|
// check macro security
|
||||||
const bool bHasValidContentSignature = HasValidSignatures();
|
- pImpl->aMacroMode.checkMacrosOnLoading( xInteraction );
|
||||||
- pImpl->aMacroMode.checkMacrosOnLoading( xInteraction, bHasValidContentSignature );
|
|
||||||
+ const bool bHasMacros = pImpl->aMacroMode.hasMacros();
|
+ const bool bHasMacros = pImpl->aMacroMode.hasMacros();
|
||||||
+ pImpl->aMacroMode.checkMacrosOnLoading( xInteraction, bHasValidContentSignature, bHasMacros );
|
+ pImpl->aMacroMode.checkMacrosOnLoading( xInteraction, bHasMacros );
|
||||||
+ pImpl->m_bHadCheckedMacrosOnLoad = bHasMacros;
|
+ pImpl->m_bHadCheckedMacrosOnLoad = bHasMacros;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -208,10 +195,10 @@ index 6b86e2163ccb..ddf95eeafe5e 100644
|
|||||||
void SfxObjectShell::CheckEncryption_Impl( const uno::Reference< task::XInteractionHandler >& xHandler )
|
void SfxObjectShell::CheckEncryption_Impl( const uno::Reference< task::XInteractionHandler >& xHandler )
|
||||||
{
|
{
|
||||||
diff --git a/sfx2/source/doc/objxtor.cxx b/sfx2/source/doc/objxtor.cxx
|
diff --git a/sfx2/source/doc/objxtor.cxx b/sfx2/source/doc/objxtor.cxx
|
||||||
index c7f34aeadc31..ae6f713251ea 100644
|
index 510c35d..a707bb7 100644
|
||||||
--- a/sfx2/source/doc/objxtor.cxx
|
--- a/sfx2/source/doc/objxtor.cxx
|
||||||
+++ b/sfx2/source/doc/objxtor.cxx
|
+++ b/sfx2/source/doc/objxtor.cxx
|
||||||
@@ -211,6 +211,7 @@ SfxObjectShell_Impl::SfxObjectShell_Impl( SfxObjectShell& _rDocShell )
|
@@ -237,6 +237,7 @@ SfxObjectShell_Impl::SfxObjectShell_Impl( SfxObjectShell& _rDocShell )
|
||||||
,m_bAllowShareControlFileClean( true )
|
,m_bAllowShareControlFileClean( true )
|
||||||
,m_bConfigOptionsChecked( false )
|
,m_bConfigOptionsChecked( false )
|
||||||
,m_bMacroCallsSeenWhileLoading( false )
|
,m_bMacroCallsSeenWhileLoading( false )
|
||||||
@ -220,10 +207,10 @@ index c7f34aeadc31..ae6f713251ea 100644
|
|||||||
,nEventId ( SfxEventHintId::NONE )
|
,nEventId ( SfxEventHintId::NONE )
|
||||||
,nLoadedFlags ( SfxLoadedFlags::ALL )
|
,nLoadedFlags ( SfxLoadedFlags::ALL )
|
||||||
diff --git a/sfx2/source/inc/objshimp.hxx b/sfx2/source/inc/objshimp.hxx
|
diff --git a/sfx2/source/inc/objshimp.hxx b/sfx2/source/inc/objshimp.hxx
|
||||||
index 192470e5542d..b011b3737d66 100644
|
index 3d7b0b6..4afdd70 100644
|
||||||
--- a/sfx2/source/inc/objshimp.hxx
|
--- a/sfx2/source/inc/objshimp.hxx
|
||||||
+++ b/sfx2/source/inc/objshimp.hxx
|
+++ b/sfx2/source/inc/objshimp.hxx
|
||||||
@@ -90,7 +90,8 @@ struct SfxObjectShell_Impl : public ::sfx2::IMacroDocumentAccess
|
@@ -91,7 +91,8 @@ struct SfxObjectShell_Impl : public ::sfx2::IMacroDocumentAccess
|
||||||
m_bSharedXMLFlag:1, // whether the document should be edited in shared mode
|
m_bSharedXMLFlag:1, // whether the document should be edited in shared mode
|
||||||
m_bAllowShareControlFileClean:1, // whether the flag should be stored in xml file
|
m_bAllowShareControlFileClean:1, // whether the flag should be stored in xml file
|
||||||
m_bConfigOptionsChecked:1, // whether or not the user options are checked after the Options dialog is closed.
|
m_bConfigOptionsChecked:1, // whether or not the user options are checked after the Options dialog is closed.
|
||||||
@ -233,7 +220,6 @@ index 192470e5542d..b011b3737d66 100644
|
|||||||
|
|
||||||
IndexBitSet aBitSet;
|
IndexBitSet aBitSet;
|
||||||
ErrCode lErr;
|
ErrCode lErr;
|
||||||
|
--
|
||||||
--------------erAck-patch-parts--
|
2.43.0
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
From 71c3a616c4ebd9705827382d3cddc6b93c1dbdfa Mon Sep 17 00:00:00 2001
|
From eaa66eec69ec311b73521c6ce410a749c810298f Mon Sep 17 00:00:00 2001
|
||||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||||
Date: Thu, 20 Apr 2023 20:58:21 +0100
|
Date: Thu, 20 Apr 2023 20:58:21 +0100
|
||||||
Subject: [PATCH 3/3] assume IFrame script/macro support isn't needed
|
Subject: [PATCH 3/3] assume IFrame script/macro support isn't needed
|
||||||
@ -11,19 +11,20 @@ seems undocumented at least
|
|||||||
Change-Id: I316e4f4f25ddb7cf6b7bac4d856a721b987207a3
|
Change-Id: I316e4f4f25ddb7cf6b7bac4d856a721b987207a3
|
||||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151020
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151020
|
||||||
Tested-by: Jenkins
|
Tested-by: Jenkins
|
||||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152154
|
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152150
|
||||||
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
||||||
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
||||||
(cherry picked from commit 797d92b5d1c33e8ca22450768533e9d5dc05f82f)
|
(cherry picked from commit 4b679f8e16bc050bc0cc9fa9294413c8115ed239)
|
||||||
---
|
---
|
||||||
sfx2/source/doc/iframe.cxx | 12 ++++--------
|
sfx2/source/doc/iframe.cxx | 12 ++++--------
|
||||||
1 file changed, 4 insertions(+), 8 deletions(-)
|
1 file changed, 4 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
diff --git a/sfx2/source/doc/iframe.cxx b/sfx2/source/doc/iframe.cxx
|
diff --git a/sfx2/source/doc/iframe.cxx b/sfx2/source/doc/iframe.cxx
|
||||||
index 73030f151359..e73fb1f1f2d1 100644
|
index fce6cb48ea08f..84d724f7c58f3 100644
|
||||||
--- a/sfx2/source/doc/iframe.cxx
|
--- a/sfx2/source/doc/iframe.cxx
|
||||||
+++ b/sfx2/source/doc/iframe.cxx
|
+++ b/sfx2/source/doc/iframe.cxx
|
||||||
@@ -166,20 +166,16 @@ sal_Bool SAL_CALL IFrameObject::load(
|
@@ -168,20 +168,16 @@ sal_Bool SAL_CALL IFrameObject::load(
|
||||||
uno::Reference < util::XURLTransformer > xTrans( util::URLTransformer::create( mxContext ) );
|
uno::Reference < util::XURLTransformer > xTrans( util::URLTransformer::create( mxContext ) );
|
||||||
xTrans->parseStrict( aTargetURL );
|
xTrans->parseStrict( aTargetURL );
|
||||||
|
|
||||||
|
@ -0,0 +1,37 @@
|
|||||||
|
From 22eb26fe2f4ecf57bff0e1bb377f7af2e7a9e7e4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||||
|
Date: Wed, 4 Nov 2020 09:28:02 +0000
|
||||||
|
Subject: [PATCH 3/8] copy_paste_error data1 looks like a copy-paste error
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Change-Id: I937743f8d1789c68ed960c6a5aede0508dfa7bcd
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105282
|
||||||
|
Tested-by: Jenkins
|
||||||
|
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
||||||
|
(cherry picked from commit 1aa5e450f065bfdae8c354344f23b897f48a166f)
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105457
|
||||||
|
Tested-by: Jean-Pierre Ledure <jp@ledure.be>
|
||||||
|
Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
|
||||||
|
(cherry picked from commit 4a6ca8920afc0bbb8e36869416745d5b0163313c)
|
||||||
|
---
|
||||||
|
wizards/source/access2base/access2base.py | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/wizards/source/access2base/access2base.py b/wizards/source/access2base/access2base.py
|
||||||
|
index af14a880cb3d..3cdc758e820d 100644
|
||||||
|
--- a/wizards/source/access2base/access2base.py
|
||||||
|
+++ b/wizards/source/access2base/access2base.py
|
||||||
|
@@ -902,7 +902,7 @@ class Basic(object, metaclass = _Singleton):
|
||||||
|
@classmethod
|
||||||
|
def DateDiff(cls, add, date1, date2, weekstart = 1, yearstart = 1):
|
||||||
|
if isinstance(date1, datetime.datetime): date1 = date1.isoformat()
|
||||||
|
- if isinstance(date2, datetime.datetime): date2 = date1.isoformat()
|
||||||
|
+ if isinstance(date2, datetime.datetime): date2 = date2.isoformat()
|
||||||
|
return cls.M('PyDateDiff', _WRAPPERMODULE, add, date1, date2, weekstart, yearstart)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
--
|
||||||
|
2.28.0
|
||||||
|
|
2172
SOURCES/0003-xmlsecurity-replace-XSecParser-implementation.patch
Normal file
2172
SOURCES/0003-xmlsecurity-replace-XSecParser-implementation.patch
Normal file
File diff suppressed because it is too large
Load Diff
397
SOURCES/0004-CVE-2021-25634.patch
Normal file
397
SOURCES/0004-CVE-2021-25634.patch
Normal file
@ -0,0 +1,397 @@
|
|||||||
|
From 9ef423d4e7c85629772131b3216b98e17d7b8d7e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michael Stahl <michael.stahl@allotropia.de>
|
||||||
|
Date: Thu, 18 Feb 2021 19:22:31 +0100
|
||||||
|
Subject: [PATCH 4/6] CVE-2021-25634
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
xmlsecurity: XSecParser confused about multiple timestamps
|
||||||
|
|
||||||
|
LO writes timestamp both to dc:date and xades:SigningTime elements.
|
||||||
|
|
||||||
|
The parser tries to avoid reading multiple dc:date, preferring the first
|
||||||
|
one, but doesn't care about multiple xades:SigningTime, for undocumented
|
||||||
|
reasons.
|
||||||
|
|
||||||
|
Ideally something should check all read values for consistency.
|
||||||
|
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111160
|
||||||
|
Tested-by: Jenkins
|
||||||
|
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
||||||
|
(cherry picked from commit 4ab8d9c09a5873ca0aea56dafa1ab34758d52ef7)
|
||||||
|
|
||||||
|
xmlsecurity: remove XSecController::setPropertyId()
|
||||||
|
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111252
|
||||||
|
Tested-by: Jenkins
|
||||||
|
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
||||||
|
(cherry picked from commit d2a345e1163616fe3201ef1d6c758e2e819214e0)
|
||||||
|
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111908
|
||||||
|
Tested-by: Jenkins
|
||||||
|
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
||||||
|
(cherry picked from commit abe77c4fcb9ea97d9fff07eaea6d8863bcba5b02)
|
||||||
|
|
||||||
|
Change-Id: Ic018ee89797a1c8a4f870ae102af48006de930ef
|
||||||
|
---
|
||||||
|
include/svl/sigstruct.hxx | 7 +-
|
||||||
|
xmlsecurity/inc/xsecctl.hxx | 5 +-
|
||||||
|
xmlsecurity/source/helper/ooxmlsecparser.cxx | 4 +-
|
||||||
|
xmlsecurity/source/helper/xsecctl.cxx | 2 +-
|
||||||
|
xmlsecurity/source/helper/xsecparser.cxx | 81 ++++++++++----------
|
||||||
|
xmlsecurity/source/helper/xsecparser.hxx | 6 --
|
||||||
|
xmlsecurity/source/helper/xsecsign.cxx | 4 +-
|
||||||
|
xmlsecurity/source/helper/xsecverify.cxx | 39 ++++------
|
||||||
|
8 files changed, 68 insertions(+), 80 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/include/svl/sigstruct.hxx b/include/svl/sigstruct.hxx
|
||||||
|
index f6ee242c84d1..7a0296fa9fae 100644
|
||||||
|
--- a/include/svl/sigstruct.hxx
|
||||||
|
+++ b/include/svl/sigstruct.hxx
|
||||||
|
@@ -103,6 +103,9 @@ struct SignatureInformation
|
||||||
|
// XAdES EncapsulatedX509Certificate values
|
||||||
|
std::set<OUString> maEncapsulatedX509Certificates;
|
||||||
|
|
||||||
|
+ OUString ouSignatureId;
|
||||||
|
+ // signature may contain multiple time stamps - check they're consistent
|
||||||
|
+ bool hasInconsistentSigningTime = false;
|
||||||
|
//We also keep the date and time as string. This is done when this
|
||||||
|
//structure is created as a result of a XML signature being read.
|
||||||
|
//When then a signature is added or another removed, then the original
|
||||||
|
@@ -115,8 +118,8 @@ struct SignatureInformation
|
||||||
|
//and the converted time is written back, then the string looks different
|
||||||
|
//and the signature is broken.
|
||||||
|
OUString ouDateTime;
|
||||||
|
- OUString ouSignatureId;
|
||||||
|
- OUString ouPropertyId;
|
||||||
|
+ /// The Id attribute of the <SignatureProperty> element that contains the <dc:date>.
|
||||||
|
+ OUString ouDateTimePropertyId;
|
||||||
|
/// Characters of the <dc:description> element inside the signature.
|
||||||
|
OUString ouDescription;
|
||||||
|
/// The Id attribute of the <SignatureProperty> element that contains the <dc:description>.
|
||||||
|
diff --git a/xmlsecurity/inc/xsecctl.hxx b/xmlsecurity/inc/xsecctl.hxx
|
||||||
|
index 351c94a2a3e6..7baa219fb13c 100644
|
||||||
|
--- a/xmlsecurity/inc/xsecctl.hxx
|
||||||
|
+++ b/xmlsecurity/inc/xsecctl.hxx
|
||||||
|
@@ -271,8 +271,8 @@ private:
|
||||||
|
void setGpgCertificate( OUString const & ouGpgCert );
|
||||||
|
void setGpgOwner( OUString const & ouGpgOwner );
|
||||||
|
|
||||||
|
- void setDate( OUString const & ouDate );
|
||||||
|
- void setDescription(const OUString& rDescription);
|
||||||
|
+ void setDate(OUString const& rId, OUString const& ouDate);
|
||||||
|
+ void setDescription(OUString const& rId, OUString const& rDescription);
|
||||||
|
void setCertDigest(const OUString& rCertDigest);
|
||||||
|
void setValidSignatureImage(const OUString& rValidSigImg);
|
||||||
|
void setInvalidSignatureImage(const OUString& rInvalidSigImg);
|
||||||
|
@@ -283,7 +283,6 @@ public:
|
||||||
|
|
||||||
|
private:
|
||||||
|
void setId( OUString const & ouId );
|
||||||
|
- void setPropertyId( OUString const & ouPropertyId );
|
||||||
|
|
||||||
|
css::uno::Reference< css::xml::crypto::sax::XReferenceResolvedListener > prepareSignatureToRead(
|
||||||
|
sal_Int32 nSecurityId );
|
||||||
|
diff --git a/xmlsecurity/source/helper/ooxmlsecparser.cxx b/xmlsecurity/source/helper/ooxmlsecparser.cxx
|
||||||
|
index c22e8c2261bf..a200de60c07a 100644
|
||||||
|
--- a/xmlsecurity/source/helper/ooxmlsecparser.cxx
|
||||||
|
+++ b/xmlsecurity/source/helper/ooxmlsecparser.cxx
|
||||||
|
@@ -192,12 +192,12 @@ void SAL_CALL OOXMLSecParser::endElement(const OUString& rName)
|
||||||
|
}
|
||||||
|
else if (rName == "mdssi:Value")
|
||||||
|
{
|
||||||
|
- m_pXSecController->setDate(m_aMdssiValue);
|
||||||
|
+ m_pXSecController->setDate("", m_aMdssiValue);
|
||||||
|
m_bInMdssiValue = false;
|
||||||
|
}
|
||||||
|
else if (rName == "SignatureComments")
|
||||||
|
{
|
||||||
|
- m_pXSecController->setDescription(m_aSignatureComments);
|
||||||
|
+ m_pXSecController->setDescription("", m_aSignatureComments);
|
||||||
|
m_bInSignatureComments = false;
|
||||||
|
}
|
||||||
|
else if (rName == "X509IssuerName")
|
||||||
|
diff --git a/xmlsecurity/source/helper/xsecctl.cxx b/xmlsecurity/source/helper/xsecctl.cxx
|
||||||
|
index ab108d13c224..8d5ea68c768b 100644
|
||||||
|
--- a/xmlsecurity/source/helper/xsecctl.cxx
|
||||||
|
+++ b/xmlsecurity/source/helper/xsecctl.cxx
|
||||||
|
@@ -819,7 +819,7 @@ void XSecController::exportSignature(
|
||||||
|
pAttributeList = new SvXMLAttributeList();
|
||||||
|
pAttributeList->AddAttribute(
|
||||||
|
"Id",
|
||||||
|
- signatureInfo.ouPropertyId);
|
||||||
|
+ signatureInfo.ouDateTimePropertyId);
|
||||||
|
pAttributeList->AddAttribute(
|
||||||
|
"Target",
|
||||||
|
"#" + signatureInfo.ouSignatureId);
|
||||||
|
diff --git a/xmlsecurity/source/helper/xsecparser.cxx b/xmlsecurity/source/helper/xsecparser.cxx
|
||||||
|
index 5c92e5efa104..9cc9312b4d9f 100644
|
||||||
|
--- a/xmlsecurity/source/helper/xsecparser.cxx
|
||||||
|
+++ b/xmlsecurity/source/helper/xsecparser.cxx
|
||||||
|
@@ -978,6 +978,9 @@ class XSecParser::XadesSigningCertificateContext
|
||||||
|
class XSecParser::XadesSigningTimeContext
|
||||||
|
: public XSecParser::Context
|
||||||
|
{
|
||||||
|
+ private:
|
||||||
|
+ OUString m_Value;
|
||||||
|
+
|
||||||
|
public:
|
||||||
|
XadesSigningTimeContext(XSecParser & rParser,
|
||||||
|
std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap)
|
||||||
|
@@ -985,20 +988,14 @@ class XSecParser::XadesSigningTimeContext
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
- virtual void StartElement(
|
||||||
|
- css::uno::Reference<css::xml::sax::XAttributeList> const& /*xAttrs*/) override
|
||||||
|
- {
|
||||||
|
- m_rParser.m_ouDate.clear();
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
virtual void EndElement() override
|
||||||
|
{
|
||||||
|
- m_rParser.m_pXSecController->setDate( m_rParser.m_ouDate );
|
||||||
|
+ m_rParser.m_pXSecController->setDate("", m_Value);
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void Characters(OUString const& rChars) override
|
||||||
|
{
|
||||||
|
- m_rParser.m_ouDate += rChars;
|
||||||
|
+ m_Value += rChars;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
@@ -1104,35 +1101,20 @@ class XSecParser::DcDateContext
|
||||||
|
: public XSecParser::Context
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
- bool m_isIgnore = false;
|
||||||
|
+ OUString & m_rValue;
|
||||||
|
|
||||||
|
public:
|
||||||
|
DcDateContext(XSecParser & rParser,
|
||||||
|
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap)
|
||||||
|
+ std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
|
||||||
|
+ OUString & rValue)
|
||||||
|
: XSecParser::Context(rParser, std::move(pOldNamespaceMap))
|
||||||
|
+ , m_rValue(rValue)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
- virtual void StartElement(
|
||||||
|
- css::uno::Reference<css::xml::sax::XAttributeList> const& /*xAttrs*/) override
|
||||||
|
- {
|
||||||
|
- m_isIgnore = !m_rParser.m_ouDate.isEmpty();
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- virtual void EndElement() override
|
||||||
|
- {
|
||||||
|
- if (!m_isIgnore)
|
||||||
|
- {
|
||||||
|
- m_rParser.m_pXSecController->setDate( m_rParser.m_ouDate );
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
virtual void Characters(OUString const& rChars) override
|
||||||
|
{
|
||||||
|
- if (!m_isIgnore)
|
||||||
|
- {
|
||||||
|
- m_rParser.m_ouDate += rChars;
|
||||||
|
- }
|
||||||
|
+ m_rValue += rChars;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
@@ -1140,29 +1122,32 @@ class XSecParser::DcDescriptionContext
|
||||||
|
: public XSecParser::Context
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
- OUString m_Value;
|
||||||
|
+ OUString & m_rValue;
|
||||||
|
|
||||||
|
public:
|
||||||
|
DcDescriptionContext(XSecParser & rParser,
|
||||||
|
- std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap)
|
||||||
|
+ std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap,
|
||||||
|
+ OUString & rValue)
|
||||||
|
: XSecParser::Context(rParser, std::move(pOldNamespaceMap))
|
||||||
|
+ , m_rValue(rValue)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
- virtual void EndElement() override
|
||||||
|
- {
|
||||||
|
- m_rParser.m_pXSecController->setDescription(m_Value);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
virtual void Characters(OUString const& rChars) override
|
||||||
|
{
|
||||||
|
- m_Value += rChars;
|
||||||
|
+ m_rValue += rChars;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
class XSecParser::DsSignaturePropertyContext
|
||||||
|
: public XSecParser::Context
|
||||||
|
{
|
||||||
|
+ private:
|
||||||
|
+ enum class SignatureProperty { Unknown, Date, Description };
|
||||||
|
+ SignatureProperty m_Property = SignatureProperty::Unknown;
|
||||||
|
+ OUString m_Id;
|
||||||
|
+ OUString m_Value;
|
||||||
|
+
|
||||||
|
public:
|
||||||
|
DsSignaturePropertyContext(XSecParser & rParser,
|
||||||
|
std::unique_ptr<SvXMLNamespaceMap> pOldNamespaceMap)
|
||||||
|
@@ -1173,10 +1158,22 @@ class XSecParser::DsSignaturePropertyContext
|
||||||
|
virtual void StartElement(
|
||||||
|
css::uno::Reference<css::xml::sax::XAttributeList> const& xAttrs) override
|
||||||
|
{
|
||||||
|
- OUString const ouIdAttr(m_rParser.HandleIdAttr(xAttrs));
|
||||||
|
- if (!ouIdAttr.isEmpty())
|
||||||
|
+ m_Id = m_rParser.HandleIdAttr(xAttrs);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ virtual void EndElement() override
|
||||||
|
+ {
|
||||||
|
+ switch (m_Property)
|
||||||
|
{
|
||||||
|
- m_rParser.m_pXSecController->setPropertyId( ouIdAttr );
|
||||||
|
+ case SignatureProperty::Unknown:
|
||||||
|
+ SAL_INFO("xmlsecurity.helper", "Unknown property in ds:Object ignored");
|
||||||
|
+ break;
|
||||||
|
+ case SignatureProperty::Date:
|
||||||
|
+ m_rParser.m_pXSecController->setDate(m_Id, m_Value);
|
||||||
|
+ break;
|
||||||
|
+ case SignatureProperty::Description:
|
||||||
|
+ m_rParser.m_pXSecController->setDescription(m_Id, m_Value);
|
||||||
|
+ break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -1186,11 +1183,13 @@ class XSecParser::DsSignaturePropertyContext
|
||||||
|
{
|
||||||
|
if (nNamespace == XML_NAMESPACE_DC && rName == "date")
|
||||||
|
{
|
||||||
|
- return std::make_unique<DcDateContext>(m_rParser, std::move(pOldNamespaceMap));
|
||||||
|
+ m_Property = SignatureProperty::Date;
|
||||||
|
+ return std::make_unique<DcDateContext>(m_rParser, std::move(pOldNamespaceMap), m_Value);
|
||||||
|
}
|
||||||
|
if (nNamespace == XML_NAMESPACE_DC && rName == "description")
|
||||||
|
{
|
||||||
|
- return std::make_unique<DcDescriptionContext>(m_rParser, std::move(pOldNamespaceMap));
|
||||||
|
+ m_Property = SignatureProperty::Description;
|
||||||
|
+ return std::make_unique<DcDescriptionContext>(m_rParser, std::move(pOldNamespaceMap), m_Value);
|
||||||
|
}
|
||||||
|
return XSecParser::Context::CreateChildContext(std::move(pOldNamespaceMap), nNamespace, rName);
|
||||||
|
}
|
||||||
|
diff --git a/xmlsecurity/source/helper/xsecparser.hxx b/xmlsecurity/source/helper/xsecparser.hxx
|
||||||
|
index 93efcb766e3e..7a0eb08bca28 100644
|
||||||
|
--- a/xmlsecurity/source/helper/xsecparser.hxx
|
||||||
|
+++ b/xmlsecurity/source/helper/xsecparser.hxx
|
||||||
|
@@ -97,12 +97,6 @@ private:
|
||||||
|
class DsSignatureContext;
|
||||||
|
class DsigSignaturesContext;
|
||||||
|
|
||||||
|
- /*
|
||||||
|
- * the following members are used to reserve the signature information,
|
||||||
|
- * including X509IssuerName, X509SerialNumber, and X509Certificate,etc.
|
||||||
|
- */
|
||||||
|
- OUString m_ouDate;
|
||||||
|
-
|
||||||
|
std::stack<std::unique_ptr<Context>> m_ContextStack;
|
||||||
|
std::unique_ptr<SvXMLNamespaceMap> m_pNamespaceMap;
|
||||||
|
|
||||||
|
diff --git a/xmlsecurity/source/helper/xsecsign.cxx b/xmlsecurity/source/helper/xsecsign.cxx
|
||||||
|
index 4d1b89949feb..5ed23281f083 100644
|
||||||
|
--- a/xmlsecurity/source/helper/xsecsign.cxx
|
||||||
|
+++ b/xmlsecurity/source/helper/xsecsign.cxx
|
||||||
|
@@ -132,8 +132,8 @@ cssu::Reference< cssxc::sax::XReferenceResolvedListener > XSecController::prepar
|
||||||
|
if (nStorageFormat != embed::StorageFormats::OFOPXML)
|
||||||
|
{
|
||||||
|
internalSignatureInfor.signatureInfor.ouSignatureId = createId();
|
||||||
|
- internalSignatureInfor.signatureInfor.ouPropertyId = createId();
|
||||||
|
- internalSignatureInfor.addReference(SignatureReferenceType::SAMEDOCUMENT, digestID, internalSignatureInfor.signatureInfor.ouPropertyId, -1, OUString() );
|
||||||
|
+ internalSignatureInfor.signatureInfor.ouDateTimePropertyId = createId();
|
||||||
|
+ internalSignatureInfor.addReference(SignatureReferenceType::SAMEDOCUMENT, digestID, internalSignatureInfor.signatureInfor.ouDateTimePropertyId, -1, OUString() );
|
||||||
|
size++;
|
||||||
|
|
||||||
|
if (bXAdESCompliantIfODF)
|
||||||
|
diff --git a/xmlsecurity/source/helper/xsecverify.cxx b/xmlsecurity/source/helper/xsecverify.cxx
|
||||||
|
index 1f7fa9ac8ca8..5f5840334254 100644
|
||||||
|
--- a/xmlsecurity/source/helper/xsecverify.cxx
|
||||||
|
+++ b/xmlsecurity/source/helper/xsecverify.cxx
|
||||||
|
@@ -321,7 +321,7 @@ void XSecController::setGpgOwner( OUString const & ouGpgOwner )
|
||||||
|
isi.signatureInfor.ouGpgOwner = ouGpgOwner;
|
||||||
|
}
|
||||||
|
|
||||||
|
-void XSecController::setDate( OUString const & ouDate )
|
||||||
|
+void XSecController::setDate(OUString const& rId, OUString const& ouDate)
|
||||||
|
{
|
||||||
|
if (m_vInternalSignatureInformations.empty())
|
||||||
|
{
|
||||||
|
@@ -329,17 +329,31 @@ void XSecController::setDate( OUString const & ouDate )
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
InternalSignatureInformation &isi = m_vInternalSignatureInformations.back();
|
||||||
|
+ // there may be multiple timestamps in a signature - check them for consistency
|
||||||
|
+ if (!isi.signatureInfor.ouDateTime.isEmpty()
|
||||||
|
+ && isi.signatureInfor.ouDateTime != ouDate)
|
||||||
|
+ {
|
||||||
|
+ isi.signatureInfor.hasInconsistentSigningTime = true;
|
||||||
|
+ }
|
||||||
|
(void)utl::ISO8601parseDateTime( ouDate, isi.signatureInfor.stDateTime);
|
||||||
|
isi.signatureInfor.ouDateTime = ouDate;
|
||||||
|
+ if (!rId.isEmpty())
|
||||||
|
+ {
|
||||||
|
+ isi.signatureInfor.ouDateTimePropertyId = rId;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
-void XSecController::setDescription(const OUString& rDescription)
|
||||||
|
+void XSecController::setDescription(OUString const& rId, OUString const& rDescription)
|
||||||
|
{
|
||||||
|
if (m_vInternalSignatureInformations.empty())
|
||||||
|
return;
|
||||||
|
|
||||||
|
InternalSignatureInformation& rInformation = m_vInternalSignatureInformations.back();
|
||||||
|
rInformation.signatureInfor.ouDescription = rDescription;
|
||||||
|
+ if (!rId.isEmpty())
|
||||||
|
+ {
|
||||||
|
+ rInformation.signatureInfor.ouDescriptionPropertyId = rId;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
void XSecController::setSignatureBytes(const uno::Sequence<sal_Int8>& rBytes)
|
||||||
|
@@ -433,27 +447,6 @@ void XSecController::setId( OUString const & ouId )
|
||||||
|
isi.signatureInfor.ouSignatureId = ouId;
|
||||||
|
}
|
||||||
|
|
||||||
|
-void XSecController::setPropertyId( OUString const & ouPropertyId )
|
||||||
|
-{
|
||||||
|
- if (m_vInternalSignatureInformations.empty())
|
||||||
|
- {
|
||||||
|
- SAL_INFO("xmlsecurity.helper","XSecController::setPropertyId: no signature");
|
||||||
|
- return;
|
||||||
|
- }
|
||||||
|
- InternalSignatureInformation &isi = m_vInternalSignatureInformations.back();
|
||||||
|
-
|
||||||
|
- if (isi.signatureInfor.ouPropertyId.isEmpty())
|
||||||
|
- {
|
||||||
|
- // <SignatureProperty> ID attribute is for the date.
|
||||||
|
- isi.signatureInfor.ouPropertyId = ouPropertyId;
|
||||||
|
- }
|
||||||
|
- else
|
||||||
|
- {
|
||||||
|
- // <SignatureProperty> ID attribute is for the description.
|
||||||
|
- isi.signatureInfor.ouDescriptionPropertyId = ouPropertyId;
|
||||||
|
- }
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
/* public: for signature verify */
|
||||||
|
void XSecController::collectToVerify( const OUString& referenceId )
|
||||||
|
{
|
||||||
|
--
|
||||||
|
2.32.0
|
||||||
|
|
@ -1,10 +1,8 @@
|
|||||||
From 0aac66b96fcfa7f8c2c265afec59eb4b3f51c131 Mon Sep 17 00:00:00 2001
|
From 4cfd591942e4cfd3efc416bfac8e46e3580d37ba Mon Sep 17 00:00:00 2001
|
||||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||||
Date: Wed, 23 Mar 2022 13:03:30 +0000
|
Date: Wed, 23 Mar 2022 13:03:30 +0000
|
||||||
Subject: [PATCH 4/5] CVE-2022-2630[6|7] add infobar to prompt to refresh to
|
Subject: [PATCH] add infobar to prompt to refresh to replace old format
|
||||||
replace old format
|
|
||||||
|
|
||||||
Change-Id: Id99cbf2b50a4ebf289dae6fc67e22e20afcda35b
|
|
||||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131976
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131976
|
||||||
Tested-by: Jenkins
|
Tested-by: Jenkins
|
||||||
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
||||||
@ -13,17 +11,22 @@ Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132307
|
|||||||
Reviewed-by: Sophie Gautier <sophi@libreoffice.org>
|
Reviewed-by: Sophie Gautier <sophi@libreoffice.org>
|
||||||
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
|
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
|
||||||
(cherry picked from commit c5d01b11db3c83cb4a89d3b388d78e20dd3990b5)
|
(cherry picked from commit c5d01b11db3c83cb4a89d3b388d78e20dd3990b5)
|
||||||
|
|
||||||
|
Change-Id: Id99cbf2b50a4ebf289dae6fc67e22e20afcda35b
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133906
|
||||||
|
Tested-by: Michael Stahl <michael.stahl@allotropia.de>
|
||||||
|
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
||||||
---
|
---
|
||||||
include/sfx2/strings.hrc | 2 ++
|
include/sfx2/strings.hrc | 2 ++
|
||||||
include/sfx2/viewfrm.hxx | 1 +
|
include/sfx2/viewfrm.hxx | 1 +
|
||||||
sfx2/source/view/viewfrm.cxx | 39 +++++++++++++++++++++++++++++++++++-
|
sfx2/source/view/viewfrm.cxx | 40 ++++++++++++++++++++++++++++++++++++
|
||||||
3 files changed, 41 insertions(+), 1 deletion(-)
|
3 files changed, 43 insertions(+)
|
||||||
|
|
||||||
diff --git a/include/sfx2/strings.hrc b/include/sfx2/strings.hrc
|
diff --git a/include/sfx2/strings.hrc b/include/sfx2/strings.hrc
|
||||||
index cb627807d8c8..317dd88061df 100644
|
index 1f21f0a0f186..1db36e733c0c 100644
|
||||||
--- a/include/sfx2/strings.hrc
|
--- a/include/sfx2/strings.hrc
|
||||||
+++ b/include/sfx2/strings.hrc
|
+++ b/include/sfx2/strings.hrc
|
||||||
@@ -292,6 +292,8 @@
|
@@ -297,6 +297,8 @@
|
||||||
#define STR_SIGNATURE_NOTVALIDATED_PARTIAL_OK NC_("STR_SIGNATURE_NOTVALIDATED_PARTIAL_OK", "The certificate could not be validated and the document is only partially signed.")
|
#define STR_SIGNATURE_NOTVALIDATED_PARTIAL_OK NC_("STR_SIGNATURE_NOTVALIDATED_PARTIAL_OK", "The certificate could not be validated and the document is only partially signed.")
|
||||||
#define STR_SIGNATURE_OK NC_("STR_SIGNATURE_OK", "This document is digitally signed and the signature is valid.")
|
#define STR_SIGNATURE_OK NC_("STR_SIGNATURE_OK", "This document is digitally signed and the signature is valid.")
|
||||||
#define STR_SIGNATURE_SHOW NC_("STR_SIGNATURE_SHOW", "Show Signatures")
|
#define STR_SIGNATURE_SHOW NC_("STR_SIGNATURE_SHOW", "Show Signatures")
|
||||||
@ -31,33 +34,32 @@ index cb627807d8c8..317dd88061df 100644
|
|||||||
+#define STR_REFRESH_PASSWORD NC_("STR_REFRESH_PASSWORD", "Refresh Password")
|
+#define STR_REFRESH_PASSWORD NC_("STR_REFRESH_PASSWORD", "Refresh Password")
|
||||||
|
|
||||||
#define STR_CLOSE_PANE NC_("STR_CLOSE_PANE", "Close Pane")
|
#define STR_CLOSE_PANE NC_("STR_CLOSE_PANE", "Close Pane")
|
||||||
|
#define STR_SFX_DOCK NC_("STR_SFX_DOCK", "Dock")
|
||||||
diff --git a/include/sfx2/viewfrm.hxx b/include/sfx2/viewfrm.hxx
|
diff --git a/include/sfx2/viewfrm.hxx b/include/sfx2/viewfrm.hxx
|
||||||
index aedd362f8781..dc01c088f1f7 100644
|
index fe336ba5f091..cc6a7dae7047 100644
|
||||||
--- a/include/sfx2/viewfrm.hxx
|
--- a/include/sfx2/viewfrm.hxx
|
||||||
+++ b/include/sfx2/viewfrm.hxx
|
+++ b/include/sfx2/viewfrm.hxx
|
||||||
@@ -64,6 +64,7 @@ protected:
|
@@ -61,6 +61,7 @@ protected:
|
||||||
DECL_LINK(WhatsNewHandler, weld::Button&, void);
|
DECL_LINK(WhatsNewHandler, Button*, void);
|
||||||
DECL_LINK(SwitchReadOnlyHandler, weld::Button&, void);
|
DECL_LINK(SwitchReadOnlyHandler, Button*, void);
|
||||||
DECL_LINK(SignDocumentHandler, weld::Button&, void);
|
DECL_LINK(SignDocumentHandler, Button*, void);
|
||||||
+ DECL_DLLPRIVATE_LINK(RefreshMasterPasswordHdl, weld::Button&, void);
|
+ DECL_DLLPRIVATE_LINK(RefreshMasterPasswordHdl, Button*, void);
|
||||||
SAL_DLLPRIVATE void KillDispatcher_Impl();
|
SAL_DLLPRIVATE void KillDispatcher_Impl();
|
||||||
|
|
||||||
virtual ~SfxViewFrame() override;
|
virtual ~SfxViewFrame() override;
|
||||||
diff --git a/sfx2/source/view/viewfrm.cxx b/sfx2/source/view/viewfrm.cxx
|
diff --git a/sfx2/source/view/viewfrm.cxx b/sfx2/source/view/viewfrm.cxx
|
||||||
index 46a7c4d9dc42..0f90af8bfb34 100644
|
index 5a64599e5894..86e7d51bbfea 100644
|
||||||
--- a/sfx2/source/view/viewfrm.cxx
|
--- a/sfx2/source/view/viewfrm.cxx
|
||||||
+++ b/sfx2/source/view/viewfrm.cxx
|
+++ b/sfx2/source/view/viewfrm.cxx
|
||||||
@@ -32,7 +32,7 @@
|
@@ -32,6 +32,7 @@
|
||||||
#include <com/sun/star/frame/XLoadable.hpp>
|
#include <com/sun/star/frame/XLoadable.hpp>
|
||||||
#include <com/sun/star/frame/XLayoutManager.hpp>
|
#include <com/sun/star/frame/XLayoutManager.hpp>
|
||||||
#include <com/sun/star/frame/XComponentLoader.hpp>
|
#include <com/sun/star/frame/XComponentLoader.hpp>
|
||||||
-#include <com/sun/star/drawing/XShapes.hpp>
|
|
||||||
+#include <com/sun/star/task/PasswordContainer.hpp>
|
+#include <com/sun/star/task/PasswordContainer.hpp>
|
||||||
#include <officecfg/Office/Common.hxx>
|
#include <officecfg/Office/Common.hxx>
|
||||||
#include <officecfg/Setup.hxx>
|
#include <officecfg/Setup.hxx>
|
||||||
#include <toolkit/helper/vclunohelper.hxx>
|
#include <toolkit/helper/vclunohelper.hxx>
|
||||||
@@ -1413,6 +1413,22 @@ void SfxViewFrame::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint )
|
@@ -1390,6 +1391,24 @@ void SfxViewFrame::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint )
|
||||||
batch->commit();
|
batch->commit();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -70,21 +72,23 @@ index 46a7c4d9dc42..0f90af8bfb34 100644
|
|||||||
+ SfxResId(STR_REFRESH_MASTER_PASSWORD), InfobarType::DANGER, false);
|
+ SfxResId(STR_REFRESH_MASTER_PASSWORD), InfobarType::DANGER, false);
|
||||||
+ if (pOldMasterPasswordInfoBar)
|
+ if (pOldMasterPasswordInfoBar)
|
||||||
+ {
|
+ {
|
||||||
+ weld::Button& rButton = pOldMasterPasswordInfoBar->addButton();
|
+ VclPtrInstance<PushButton> const xBtn(&GetWindow());
|
||||||
+ rButton.set_label(SfxResId(STR_REFRESH_PASSWORD));
|
+ xBtn->SetText(SfxResId(STR_REFRESH_PASSWORD));
|
||||||
+ rButton.connect_clicked(LINK(this,
|
+ xBtn->SetSizePixel(xBtn->GetOptimalSize());
|
||||||
+ SfxViewFrame, RefreshMasterPasswordHdl));
|
+ xBtn->SetClickHdl(LINK(this,
|
||||||
|
+ SfxViewFrame, RefreshMasterPasswordHdl));
|
||||||
|
+ pOldMasterPasswordInfoBar->addButton(xBtn);
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
// read-only infobar if necessary
|
// read-only infobar if necessary
|
||||||
const SfxViewShell *pVSh;
|
const SfxViewShell *pVSh;
|
||||||
const SfxShell *pFSh;
|
const SfxShell *pFSh;
|
||||||
@@ -1561,6 +1577,27 @@ IMPL_LINK_NOARG(SfxViewFrame, SignDocumentHandler, weld::Button&, void)
|
@@ -1565,6 +1584,27 @@ IMPL_LINK_NOARG(SfxViewFrame, SignDocumentHandler, Button*, void)
|
||||||
GetDispatcher()->Execute(SID_SIGNATURE);
|
GetDispatcher()->Execute(SID_SIGNATURE);
|
||||||
}
|
}
|
||||||
|
|
||||||
+IMPL_LINK_NOARG(SfxViewFrame, RefreshMasterPasswordHdl, weld::Button&, void)
|
+IMPL_LINK_NOARG(SfxViewFrame, RefreshMasterPasswordHdl, Button*, void)
|
||||||
+{
|
+{
|
||||||
+ bool bChanged = false;
|
+ bool bChanged = false;
|
||||||
+ try
|
+ try
|
||||||
@ -109,5 +113,5 @@ index 46a7c4d9dc42..0f90af8bfb34 100644
|
|||||||
{
|
{
|
||||||
m_pImpl->bResizeInToOut = true;
|
m_pImpl->bResizeInToOut = true;
|
||||||
--
|
--
|
||||||
2.37.3
|
2.37.1
|
||||||
|
|
||||||
|
@ -0,0 +1,74 @@
|
|||||||
|
From cba3b6a12c9f0dc67a93bc3b708497a8f5eea5a5 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stephan Bergmann <sbergman@redhat.com>
|
||||||
|
Date: Sun, 15 Dec 2019 10:03:56 +0100
|
||||||
|
Subject: [PATCH 4/8] Fix use of uninitialized SwFEShell::bTableCopied
|
||||||
|
|
||||||
|
...which had been introduced with 1e278d1d0cfb1d5375195aa764739f00633f21e8
|
||||||
|
"tdf#37156 Writer menu: Paste as Nested table", during
|
||||||
|
`make CppunitTest_sw_uiwriter CPPUNIT_TEST_NAME=SwUiWriterTest::testDde
|
||||||
|
VALGRIND=memcheck`:
|
||||||
|
|
||||||
|
> Conditional jump or move depends on uninitialised value(s)
|
||||||
|
> at 0x1EBBFAF8: SwTransferable::PrepareForCopy(bool) (sw/source/uibase/dochdl/swdtflvr.cxx:896)
|
||||||
|
> by 0x1EBC22BA: SwTransferable::Copy(bool) (sw/source/uibase/dochdl/swdtflvr.cxx:1144)
|
||||||
|
> by 0x1ECB552D: SwBaseShell::ExecClpbrd(SfxRequest&) (sw/source/uibase/shells/basesh.cxx:277)
|
||||||
|
> by 0x1C0D0BB0: SfxDispatcher::Call_Impl(SfxShell&, SfxSlot const&, SfxRequest&, bool) (include/sfx2/shell.hxx:197)
|
||||||
|
> by 0x1C0D72EB: SfxDispatcher::Execute_(SfxShell&, SfxSlot const&, SfxRequest&, SfxCallMode) (sfx2/source/control/dispatch.cxx:764)
|
||||||
|
> by 0x1C153977: SfxDispatchController_Impl::dispatch(com::sun::star::util::URL const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XDispatchResultListener> const&) (sfx2/source/control/unoctitm.cxx:760)
|
||||||
|
> by 0x1C154916: SfxOfficeDispatch::dispatchWithNotification(com::sun::star::util::URL const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XDispatchResultListener> const&) (sfx2/source/control/unoctitm.cxx:245)
|
||||||
|
> by 0x21FDE395: framework::DispatchHelper::executeDispatch(com::sun::star::uno::Reference<com::sun::star::frame::XDispatch> const&, com::sun::star::util::URL const&, bool, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (framework/source/services/dispatchhelper.cxx:151)
|
||||||
|
> by 0x21FDEC95: framework::DispatchHelper::executeDispatch(com::sun::star::uno::Reference<com::sun::star::frame::XDispatchProvider> const&, rtl::OUString const&, rtl::OUString const&, int, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (framework/source/services/dispatchhelper.cxx:109)
|
||||||
|
> by 0x19BF89C7: lcl_dispatchCommand(com::sun::star::uno::Reference<com::sun::star::lang::XComponent> const&, rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (sw/qa/extras/uiwriter/uiwriter.cxx:4048)
|
||||||
|
> by 0x19C1F3EC: SwUiWriterTest::testDde() (sw/qa/extras/uiwriter/uiwriter.cxx:4060)
|
||||||
|
> Uninitialised value was created by a heap allocation
|
||||||
|
> at 0x4839E86: operator new(unsigned long) (/builddir/build/BUILD/valgrind-3.15.0/coregrind/m_replacemalloc/vg_replace_malloc.c:344)
|
||||||
|
> by 0x1ED6DA43: SwView::SwView(SfxViewFrame*, SfxViewShell*) (sw/source/uibase/uiview/view.cxx:864)
|
||||||
|
> by 0x1ED70065: SwView::CreateInstance(SfxViewFrame*, SfxViewShell*) (sw/source/uibase/uiview/view0.cxx:79)
|
||||||
|
> by 0x1C347941: SfxBaseModel::createViewController(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&) (sfx2/source/doc/sfxbasemodel.cxx:4233)
|
||||||
|
> by 0x1C458D81: (anonymous namespace)::SfxFrameLoader_Impl::load(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&) (sfx2/source/view/frmload.cxx:587)
|
||||||
|
> by 0x2401FAD0: framework::LoadEnv::impl_loadContent() (framework/source/loadenv/loadenv.cxx:1159)
|
||||||
|
> by 0x24020735: framework::LoadEnv::start() (framework/source/loadenv/loadenv.cxx:392)
|
||||||
|
> by 0x24020F89: framework::LoadEnv::startLoading(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&, rtl::OUString const&, int, LoadEnvFeatures) (framework/source/loadenv/loadenv.cxx:297)
|
||||||
|
> by 0x2402175B: framework::LoadEnv::loadComponentFromURL(com::sun::star::uno::Reference<com::sun::star::frame::XComponentLoader> const&, com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&, rtl::OUString const&, rtl::OUString const&, int, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (framework/source/loadenv/loadenv.cxx:166)
|
||||||
|
> by 0x24058172: framework::Desktop::loadComponentFromURL(rtl::OUString const&, rtl::OUString const&, int, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (framework/source/services/desktop.cxx:610)
|
||||||
|
> by 0x1F5F7306: unotest::MacrosTest::loadFromDesktop(rtl::OUString const&, rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (unotest/source/cpp/macros_test.cxx:48)
|
||||||
|
> by 0x19C646A7: SwModelTestBase::loadURL(rtl::OUString const&, char const*, char const*) (sw/qa/inc/swmodeltestbase.hxx:764)
|
||||||
|
> by 0x19BD3792: SwUiWriterTest::createDoc(char const*) (sw/qa/extras/uiwriter/uiwriter.cxx:576)
|
||||||
|
> by 0x19C1F352: SwUiWriterTest::testDde() (sw/qa/extras/uiwriter/uiwriter.cxx:4055)
|
||||||
|
|
||||||
|
(produced with a --enable-optimized build, so some inline frames are elided; see
|
||||||
|
also <https://ci.libreoffice.org//job/lo_ubsan/1480/> for the same issue
|
||||||
|
detected with UBSan).
|
||||||
|
|
||||||
|
Change-Id: I080d296006bad4726942fb95a1338ea46c12bed4
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/85162
|
||||||
|
Tested-by: Jenkins
|
||||||
|
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
||||||
|
(cherry picked from commit bcc74f619bf87ab97ffc48ab33e031d357952a70)
|
||||||
|
---
|
||||||
|
sw/source/core/frmedt/fews.cxx | 2 ++
|
||||||
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/sw/source/core/frmedt/fews.cxx b/sw/source/core/frmedt/fews.cxx
|
||||||
|
index 2ad7ec20a86f..0c4e097287c2 100644
|
||||||
|
--- a/sw/source/core/frmedt/fews.cxx
|
||||||
|
+++ b/sw/source/core/frmedt/fews.cxx
|
||||||
|
@@ -665,6 +665,7 @@ SwFEShell::SwFEShell( SwDoc& rDoc, vcl::Window *pWindow, const SwViewOption *pOp
|
||||||
|
, m_bCheckForOLEInCaption(false)
|
||||||
|
, m_aPasteListeners(GetPasteMutex())
|
||||||
|
, m_eTableInsertMode(SwTable::SEARCH_NONE)
|
||||||
|
+ , bTableCopied(false)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -673,6 +674,7 @@ SwFEShell::SwFEShell( SwEditShell& rShell, vcl::Window *pWindow )
|
||||||
|
, m_bCheckForOLEInCaption(false)
|
||||||
|
, m_aPasteListeners(GetPasteMutex())
|
||||||
|
, m_eTableInsertMode(SwTable::SEARCH_NONE)
|
||||||
|
+ , bTableCopied(false)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.28.0
|
||||||
|
|
2120
SOURCES/0005-CVE-2021-25633.patch
Normal file
2120
SOURCES/0005-CVE-2021-25633.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,19 +1,11 @@
|
|||||||
From 2b72aefb0ad620b4c5431a87f6493edba2563f27 Mon Sep 17 00:00:00 2001
|
From 62ba88176c10469588e4bbb73cbf33889df08dbc Mon Sep 17 00:00:00 2001
|
||||||
Message-ID: <2b72aefb0ad620b4c5431a87f6493edba2563f27.1703086328.git.erack@redhat.com>
|
|
||||||
In-Reply-To: <82752ccba78ecdbf94908377ec022f68ba7d9d59.1703086328.git.erack@redhat.com>
|
|
||||||
References: <82752ccba78ecdbf94908377ec022f68ba7d9d59.1703086328.git.erack@redhat.com>
|
|
||||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolan.mcnamara@collabora.com>
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolan.mcnamara@collabora.com>
|
||||||
Date: Wed, 22 Nov 2023 21:14:41 +0000
|
Date: Wed, 22 Nov 2023 21:14:41 +0000
|
||||||
Subject: [PATCH 4/4] reuse AllowedLinkProtocolFromDocument in impress/draw
|
Subject: [PATCH] reuse AllowedLinkProtocolFromDocument in impress/draw
|
||||||
MIME-Version: 1.0
|
MIME-Version: 1.0
|
||||||
Content-Type: multipart/mixed; boundary="------------erAck-patch-parts"
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
|
||||||
This is a multi-part message in MIME format.
|
|
||||||
--------------erAck-patch-parts
|
|
||||||
Content-Type: text/plain; charset=UTF-8; format=fixed
|
|
||||||
Content-Transfer-Encoding: 8bit
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
|
||||||
Change-Id: I73ca4f087946a45dbf92d69a0dc1e769de9b5690
|
Change-Id: I73ca4f087946a45dbf92d69a0dc1e769de9b5690
|
||||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159843
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159843
|
||||||
Tested-by: Jenkins
|
Tested-by: Jenkins
|
||||||
@ -27,29 +19,26 @@ Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|||||||
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
||||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159914
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159914
|
||||||
Reviewed-by: Eike Rathke <erack@redhat.com>
|
Reviewed-by: Eike Rathke <erack@redhat.com>
|
||||||
|
|
||||||
|
erAck: backported to 6.4.7.2
|
||||||
|
|
||||||
---
|
---
|
||||||
sd/source/ui/app/sdmod1.cxx | 29 ++++++++++++++++++-----------
|
sd/source/ui/app/sdmod1.cxx | 29 ++++++++++++++++++-----------
|
||||||
1 file changed, 18 insertions(+), 11 deletions(-)
|
1 file changed, 18 insertions(+), 11 deletions(-)
|
||||||
|
|
||||||
|
|
||||||
--------------erAck-patch-parts
|
|
||||||
Content-Type: text/x-patch; name="0004-reuse-AllowedLinkProtocolFromDocument-in-impress-dra.patch"
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
Content-Disposition: attachment; filename="0004-reuse-AllowedLinkProtocolFromDocument-in-impress-dra.patch"
|
|
||||||
|
|
||||||
diff --git a/sd/source/ui/app/sdmod1.cxx b/sd/source/ui/app/sdmod1.cxx
|
diff --git a/sd/source/ui/app/sdmod1.cxx b/sd/source/ui/app/sdmod1.cxx
|
||||||
index 573ee853069b..b22feb2d1f21 100644
|
index 3d84ddb..8d42653 100644
|
||||||
--- a/sd/source/ui/app/sdmod1.cxx
|
--- a/sd/source/ui/app/sdmod1.cxx
|
||||||
+++ b/sd/source/ui/app/sdmod1.cxx
|
+++ b/sd/source/ui/app/sdmod1.cxx
|
||||||
@@ -33,6 +33,7 @@
|
@@ -32,6 +32,7 @@
|
||||||
#include <sfx2/docfile.hxx>
|
#include <sfx2/dispatch.hxx>
|
||||||
#include <sfx2/request.hxx>
|
#include <sfx2/request.hxx>
|
||||||
#include <sfx2/templatedlg.hxx>
|
#include <sfx2/templatedlg.hxx>
|
||||||
+#include <svl/stritem.hxx>
|
+#include <svl/stritem.hxx>
|
||||||
#include <editeng/eeitem.hxx>
|
#include <editeng/eeitem.hxx>
|
||||||
|
|
||||||
#include <svx/svxids.hrc>
|
#include <svx/svxids.hrc>
|
||||||
@@ -192,26 +193,32 @@ void SdModule::Execute(SfxRequest& rReq)
|
@@ -193,26 +194,32 @@ void SdModule::Execute(SfxRequest& rReq)
|
||||||
{
|
{
|
||||||
bool bIntercept = false;
|
bool bIntercept = false;
|
||||||
::sd::DrawDocShell* pDocShell = dynamic_cast< ::sd::DrawDocShell *>( SfxObjectShell::Current() );
|
::sd::DrawDocShell* pDocShell = dynamic_cast< ::sd::DrawDocShell *>( SfxObjectShell::Current() );
|
||||||
@ -93,7 +82,6 @@ index 573ee853069b..b22feb2d1f21 100644
|
|||||||
SfxGetpApp()->ExecuteSlot(rReq, SfxGetpApp()->GetInterface());
|
SfxGetpApp()->ExecuteSlot(rReq, SfxGetpApp()->GetInterface());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
--
|
||||||
--------------erAck-patch-parts--
|
2.43.0
|
||||||
|
|
||||||
|
|
||||||
|
35
SOURCES/0005-cid-1460969-Uninitialized-scalar-field.patch
Normal file
35
SOURCES/0005-cid-1460969-Uninitialized-scalar-field.patch
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
From 2ebea3e9f3504ef97ecf8af198cd803a56240fe4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||||
|
Date: Fri, 27 Mar 2020 09:03:20 +0000
|
||||||
|
Subject: [PATCH 5/8] cid#1460969 Uninitialized scalar field
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
multiple ctor's strikes again
|
||||||
|
|
||||||
|
Change-Id: Ieaae6d5c9e76a3ade17289ce7d1bdffad1168cc9
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91191
|
||||||
|
Tested-by: Jenkins
|
||||||
|
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
||||||
|
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
||||||
|
(cherry picked from commit 698ecd52e4ca14b5ce633a3358a95992b0dd638c)
|
||||||
|
---
|
||||||
|
dbaccess/source/core/dataaccess/ModelImpl.cxx | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/dbaccess/source/core/dataaccess/ModelImpl.cxx b/dbaccess/source/core/dataaccess/ModelImpl.cxx
|
||||||
|
index d5c3b9b3e086..1f11f3679289 100644
|
||||||
|
--- a/dbaccess/source/core/dataaccess/ModelImpl.cxx
|
||||||
|
+++ b/dbaccess/source/core/dataaccess/ModelImpl.cxx
|
||||||
|
@@ -407,6 +407,7 @@ ODatabaseModelImpl::ODatabaseModelImpl(
|
||||||
|
,m_aEmbeddedMacros()
|
||||||
|
,m_bModificationLock( false )
|
||||||
|
,m_bDocumentInitialized( false )
|
||||||
|
+ ,m_nScriptingSignatureState(SignatureState::UNKNOWN)
|
||||||
|
,m_aContext( _rxContext )
|
||||||
|
,m_sName(_rRegistrationName)
|
||||||
|
,m_nLoginTimeout(0)
|
||||||
|
--
|
||||||
|
2.28.0
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
From 762ed044e9c696a58e2ab41bd16b57003717a6ce Mon Sep 17 00:00:00 2001
|
From a255a9c69d35df27e92349ea5bb9cb8d6c46d97f Mon Sep 17 00:00:00 2001
|
||||||
From: Eike Rathke <erack@redhat.com>
|
From: rpmbuild <rpmbuild@fedoraproject.org>
|
||||||
Date: Wed, 6 Mar 2024 23:19:34 +0100
|
Date: Fri, 8 Mar 2024 17:51:24 +0100
|
||||||
Subject: [PATCH] CVE-2023-6186 backporting
|
Subject: [PATCH] CVE-2023-6186 backporting
|
||||||
|
|
||||||
Add dialog text string STR_DANGEROUS_TO_OPEN
|
Add dialog text string STR_DANGEROUS_TO_OPEN
|
||||||
@ -14,19 +14,19 @@ SfxViewFrame doesn't have GetFrameWeld() yet, get from Window.
|
|||||||
3 files changed, 5 insertions(+), 2 deletions(-)
|
3 files changed, 5 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/include/sfx2/strings.hrc b/include/sfx2/strings.hrc
|
diff --git a/include/sfx2/strings.hrc b/include/sfx2/strings.hrc
|
||||||
index 317dd88..b1bfa69 100644
|
index 1db36e7..29950ba 100644
|
||||||
--- a/include/sfx2/strings.hrc
|
--- a/include/sfx2/strings.hrc
|
||||||
+++ b/include/sfx2/strings.hrc
|
+++ b/include/sfx2/strings.hrc
|
||||||
@@ -101,6 +101,7 @@
|
@@ -103,6 +103,7 @@
|
||||||
#define STR_GB NC_("STR_GB", "GB")
|
#define STR_GB NC_("STR_GB", "GB")
|
||||||
#define STR_QUERY_LASTVERSION NC_("STR_QUERY_LASTVERSION", "Cancel all changes?")
|
#define STR_QUERY_LASTVERSION NC_("STR_QUERY_LASTVERSION", "Cancel all changes?")
|
||||||
#define STR_NO_WEBBROWSER_FOUND NC_("STR_NO_WEBBROWSER_FOUND", "Opening \"$(ARG1)\" failed with error code $(ARG2) and message: \"$(ARG3)\"\nMaybe no web browser could be found on your system. In that case, please check your Desktop Preferences or install a web browser (for example, Firefox) in the default location requested during the browser installation.")
|
#define STR_NO_WEBBROWSER_FOUND NC_("STR_NO_WEBBROWSER_FOUND", "Opening \"$(ARG1)\" failed with error code $(ARG2) and message: \"$(ARG3)\"\nMaybe no web browser could be found on your system. In that case, please check your Desktop Preferences or install a web browser (for example, Firefox) in the default location requested during the browser installation.")
|
||||||
+#define STR_DANGEROUS_TO_OPEN NC_("STR_DANGEROUS_TO_OPEN", "It might be dangerous to open \"$(ARG1)\".\nDo you really want to open it?")
|
+#define STR_DANGEROUS_TO_OPEN NC_("STR_DANGEROUS_TO_OPEN", "It might be dangerous to open \"$(ARG1)\".\nDo you really want to open it?")
|
||||||
#define STR_NO_ABS_URI_REF NC_("STR_NO_ABS_URI_REF", "\"$(ARG1)\" cannot be passed to an external application to open it (e.g., it might not be an absolute URL, or might denote no existing file).")
|
#define STR_NO_ABS_URI_REF NC_("STR_NO_ABS_URI_REF", "\"$(ARG1)\" is not an absolute URL that can be passed to an external application to open it.")
|
||||||
#define STR_GID_INTERN NC_("STR_GID_INTERN", "Internal")
|
#define STR_GID_INTERN NC_("STR_GID_INTERN", "Internal")
|
||||||
#define STR_GID_APPLICATION NC_("STR_GID_APPLICATION", "Application")
|
#define STR_GID_APPLICATION NC_("STR_GID_APPLICATION", "Application")
|
||||||
diff --git a/sc/source/core/data/global.cxx b/sc/source/core/data/global.cxx
|
diff --git a/sc/source/core/data/global.cxx b/sc/source/core/data/global.cxx
|
||||||
index d2f7343..a066985 100644
|
index b16be6b..3295a38 100644
|
||||||
--- a/sc/source/core/data/global.cxx
|
--- a/sc/source/core/data/global.cxx
|
||||||
+++ b/sc/source/core/data/global.cxx
|
+++ b/sc/source/core/data/global.cxx
|
||||||
@@ -37,6 +37,8 @@
|
@@ -37,6 +37,8 @@
|
||||||
@ -38,7 +38,7 @@ index d2f7343..a066985 100644
|
|||||||
#include <unotools/charclass.hxx>
|
#include <unotools/charclass.hxx>
|
||||||
#include <unotools/securityoptions.hxx>
|
#include <unotools/securityoptions.hxx>
|
||||||
#include <osl/diagnose.h>
|
#include <osl/diagnose.h>
|
||||||
@@ -806,7 +808,7 @@ void ScGlobal::OpenURL(const OUString& rURL, const OUString& rTarget, bool bIgno
|
@@ -823,7 +825,7 @@ void ScGlobal::OpenURL(const OUString& rURL, const OUString& rTarget, bool bIgno
|
||||||
aUrlName = aNewUrlName;
|
aUrlName = aNewUrlName;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -48,10 +48,10 @@ index d2f7343..a066985 100644
|
|||||||
|
|
||||||
SfxStringItem aUrl( SID_FILE_NAME, aUrlName );
|
SfxStringItem aUrl( SID_FILE_NAME, aUrlName );
|
||||||
diff --git a/sw/source/uibase/wrtsh/wrtsh2.cxx b/sw/source/uibase/wrtsh/wrtsh2.cxx
|
diff --git a/sw/source/uibase/wrtsh/wrtsh2.cxx b/sw/source/uibase/wrtsh/wrtsh2.cxx
|
||||||
index c91a8f3..7908814 100644
|
index 41f427a..543644d 100644
|
||||||
--- a/sw/source/uibase/wrtsh/wrtsh2.cxx
|
--- a/sw/source/uibase/wrtsh/wrtsh2.cxx
|
||||||
+++ b/sw/source/uibase/wrtsh/wrtsh2.cxx
|
+++ b/sw/source/uibase/wrtsh/wrtsh2.cxx
|
||||||
@@ -483,7 +483,7 @@ static void LoadURL(SwView& rView, const OUString& rURL, LoadUrlFlags nFilter,
|
@@ -495,7 +495,7 @@ static void LoadURL(SwView& rView, const OUString& rURL, LoadUrlFlags nFilter,
|
||||||
OSL_ENSURE( pDShell, "No DocShell?!");
|
OSL_ENSURE( pDShell, "No DocShell?!");
|
||||||
SfxViewFrame* pViewFrame = rView.GetViewFrame();
|
SfxViewFrame* pViewFrame = rView.GetViewFrame();
|
||||||
|
|
||||||
|
@ -0,0 +1,45 @@
|
|||||||
|
From 81618bd69088436eb60fd07b944effb178d788ae Mon Sep 17 00:00:00 2001
|
||||||
|
From: Justin Luth <justin.luth@collabora.com>
|
||||||
|
Date: Sat, 31 Oct 2020 15:36:44 +0300
|
||||||
|
Subject: [PATCH 6/8] tdf#137897 scRetypePassInputDlg: re-allow password
|
||||||
|
removal
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
This weld-conversion logic error caused a LO 6.1 regression
|
||||||
|
in commit 0e4f93e88bfae3489d2de84fc2febed100880628.
|
||||||
|
|
||||||
|
- m_pPasswordGrid->Disable();
|
||||||
|
+ m_xPasswordGrid->set_sensitive(false); //disable == false
|
||||||
|
- m_pBtnOk->Enable();
|
||||||
|
+ m_xBtnOk->set_sensitive(false); //enable == true
|
||||||
|
|
||||||
|
The result is that attempting to remove the password did not
|
||||||
|
enable the OK button, so it was impossible.
|
||||||
|
|
||||||
|
Change-Id: I4067b2ec6b89e86b21968d33c8850cca6d067e71
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105049
|
||||||
|
Tested-by: Jenkins
|
||||||
|
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
||||||
|
(cherry picked from commit 9eeaff5fa9070bea685db8b6bbd2dfc1565756ac)
|
||||||
|
---
|
||||||
|
sc/source/ui/miscdlgs/retypepassdlg.cxx | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/sc/source/ui/miscdlgs/retypepassdlg.cxx b/sc/source/ui/miscdlgs/retypepassdlg.cxx
|
||||||
|
index 84f8ef182b54..fa31ea77e392 100644
|
||||||
|
--- a/sc/source/ui/miscdlgs/retypepassdlg.cxx
|
||||||
|
+++ b/sc/source/ui/miscdlgs/retypepassdlg.cxx
|
||||||
|
@@ -372,7 +372,7 @@ IMPL_LINK_NOARG(ScRetypePassInputDlg, RadioBtnHdl, weld::ToggleButton&, void)
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_xPasswordGrid->set_sensitive(false);
|
||||||
|
- m_xBtnOk->set_sensitive(false);
|
||||||
|
+ m_xBtnOk->set_sensitive(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.28.0
|
||||||
|
|
1670
SOURCES/0006-xmlsecurity-replace-OOXMLSecParser-implementation.patch
Normal file
1670
SOURCES/0006-xmlsecurity-replace-OOXMLSecParser-implementation.patch
Normal file
File diff suppressed because it is too large
Load Diff
137
SOURCES/0007-tdf-137982-m_xFrame-is-already-disposed.patch
Normal file
137
SOURCES/0007-tdf-137982-m_xFrame-is-already-disposed.patch
Normal file
@ -0,0 +1,137 @@
|
|||||||
|
From 7efe51c401ee469ae4835994e5f11b158fd354b9 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||||
|
Date: Wed, 4 Nov 2020 13:01:53 +0000
|
||||||
|
Subject: [PATCH 7/8] tdf#137982 m_xFrame is already disposed
|
||||||
|
|
||||||
|
move the frame cleanup into a helper that listens to see if it got
|
||||||
|
disposed by the preview itself
|
||||||
|
|
||||||
|
Change-Id: I523285268118300f18b0f0f0a10fab7a9cced9c6
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105221
|
||||||
|
Tested-by: Jenkins
|
||||||
|
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
|
||||||
|
(cherry picked from commit a986db4b2d24669e502e447036851e118cc23036)
|
||||||
|
---
|
||||||
|
sw/source/ui/dbui/dbtablepreviewdialog.cxx | 53 ++++++++++++++++++----
|
||||||
|
sw/source/ui/dbui/dbtablepreviewdialog.hxx | 4 +-
|
||||||
|
2 files changed, 46 insertions(+), 11 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/sw/source/ui/dbui/dbtablepreviewdialog.cxx b/sw/source/ui/dbui/dbtablepreviewdialog.cxx
|
||||||
|
index 23e7984623d8..8f2d92b1c7d5 100644
|
||||||
|
--- a/sw/source/ui/dbui/dbtablepreviewdialog.cxx
|
||||||
|
+++ b/sw/source/ui/dbui/dbtablepreviewdialog.cxx
|
||||||
|
@@ -20,6 +20,8 @@
|
||||||
|
#include <swtypes.hxx>
|
||||||
|
#include "dbtablepreviewdialog.hxx"
|
||||||
|
#include <comphelper/processfactory.hxx>
|
||||||
|
+#include <cppuhelper/implbase.hxx>
|
||||||
|
+#include <com/sun/star/document/XEventListener.hpp>
|
||||||
|
#include <com/sun/star/frame/Frame.hpp>
|
||||||
|
#include <toolkit/helper/vclunohelper.hxx>
|
||||||
|
|
||||||
|
@@ -32,6 +34,34 @@ using namespace ::com::sun::star::beans;
|
||||||
|
using namespace ::com::sun::star::lang;
|
||||||
|
using namespace ::com::sun::star::util;
|
||||||
|
|
||||||
|
+class DBTablePreviewFrame
|
||||||
|
+ : public cppu::WeakImplHelper<lang::XEventListener>
|
||||||
|
+{
|
||||||
|
+private:
|
||||||
|
+ css::uno::Reference<css::frame::XFrame2> m_xFrame;
|
||||||
|
+
|
||||||
|
+ virtual void SAL_CALL disposing(const lang::EventObject& /*Source*/) override
|
||||||
|
+ {
|
||||||
|
+ m_xFrame.clear();
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+public:
|
||||||
|
+ DBTablePreviewFrame(css::uno::Reference<css::frame::XFrame2>& rFrame)
|
||||||
|
+ : m_xFrame(rFrame)
|
||||||
|
+ {
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ void cleanup()
|
||||||
|
+ {
|
||||||
|
+ if (m_xFrame.is())
|
||||||
|
+ {
|
||||||
|
+ m_xFrame->setComponent(nullptr, nullptr);
|
||||||
|
+ m_xFrame->dispose();
|
||||||
|
+ m_xFrame.clear();
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
SwDBTablePreviewDialog::SwDBTablePreviewDialog(weld::Window* pParent, uno::Sequence< beans::PropertyValue> const & rValues)
|
||||||
|
: SfxDialogController(pParent, "modules/swriter/ui/tablepreviewdialog.ui", "TablePreviewDialog")
|
||||||
|
, m_xDescriptionFI(m_xBuilder->weld_label("description"))
|
||||||
|
@@ -51,22 +81,26 @@ SwDBTablePreviewDialog::SwDBTablePreviewDialog(weld::Window* pParent, uno::Seque
|
||||||
|
m_xDescriptionFI->set_label(sDescription.replaceFirst("%1", sTemp));
|
||||||
|
}
|
||||||
|
|
||||||
|
+ css::uno::Reference<css::frame::XFrame2> xFrame;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// create a frame wrapper for myself
|
||||||
|
- m_xFrame = frame::Frame::create( comphelper::getProcessComponentContext() );
|
||||||
|
- m_xFrame->initialize(m_xBeamerWIN->CreateChildFrame());
|
||||||
|
+ xFrame = frame::Frame::create( comphelper::getProcessComponentContext() );
|
||||||
|
+ xFrame->initialize(m_xBeamerWIN->CreateChildFrame());
|
||||||
|
}
|
||||||
|
catch (uno::Exception const &)
|
||||||
|
{
|
||||||
|
- m_xFrame.clear();
|
||||||
|
+ xFrame.clear();
|
||||||
|
}
|
||||||
|
- if (m_xFrame.is())
|
||||||
|
+ if (xFrame.is())
|
||||||
|
{
|
||||||
|
+ m_xFrameListener.set(new DBTablePreviewFrame(xFrame));
|
||||||
|
+ xFrame->addEventListener(m_xFrameListener.get());
|
||||||
|
+
|
||||||
|
util::URL aURL;
|
||||||
|
aURL.Complete = ".component:DB/DataSourceBrowser";
|
||||||
|
- uno::Reference<frame::XDispatch> xD = m_xFrame->queryDispatch(aURL, "", 0x0C);
|
||||||
|
- if(xD.is())
|
||||||
|
+ uno::Reference<frame::XDispatch> xD = xFrame->queryDispatch(aURL, "", 0x0C);
|
||||||
|
+ if (xD.is())
|
||||||
|
{
|
||||||
|
xD->dispatch(aURL, rValues);
|
||||||
|
m_xBeamerWIN->show();
|
||||||
|
@@ -76,11 +110,10 @@ SwDBTablePreviewDialog::SwDBTablePreviewDialog(weld::Window* pParent, uno::Seque
|
||||||
|
|
||||||
|
SwDBTablePreviewDialog::~SwDBTablePreviewDialog()
|
||||||
|
{
|
||||||
|
- if(m_xFrame.is())
|
||||||
|
+ if (m_xFrameListener)
|
||||||
|
{
|
||||||
|
- m_xFrame->setComponent(nullptr, nullptr);
|
||||||
|
- m_xFrame->dispose();
|
||||||
|
- m_xFrame.clear();
|
||||||
|
+ m_xFrameListener->cleanup();
|
||||||
|
+ m_xFrameListener.clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/sw/source/ui/dbui/dbtablepreviewdialog.hxx b/sw/source/ui/dbui/dbtablepreviewdialog.hxx
|
||||||
|
index ec2c58d92bf3..27e6e83d39ca 100644
|
||||||
|
--- a/sw/source/ui/dbui/dbtablepreviewdialog.hxx
|
||||||
|
+++ b/sw/source/ui/dbui/dbtablepreviewdialog.hxx
|
||||||
|
@@ -27,12 +27,14 @@ namespace com{ namespace sun{ namespace star{
|
||||||
|
namespace frame{ class XFrame2; }
|
||||||
|
}}}
|
||||||
|
|
||||||
|
+class DBTablePreviewFrame;
|
||||||
|
+
|
||||||
|
class SwDBTablePreviewDialog : public SfxDialogController
|
||||||
|
{
|
||||||
|
std::unique_ptr<weld::Label> m_xDescriptionFI;
|
||||||
|
std::unique_ptr<weld::Container> m_xBeamerWIN;
|
||||||
|
|
||||||
|
- css::uno::Reference< css::frame::XFrame2 > m_xFrame;
|
||||||
|
+ rtl::Reference<DBTablePreviewFrame> m_xFrameListener;
|
||||||
|
public:
|
||||||
|
SwDBTablePreviewDialog(weld::Window* pParent,
|
||||||
|
css::uno::Sequence< css::beans::PropertyValue> const & rValues );
|
||||||
|
--
|
||||||
|
2.28.0
|
||||||
|
|
@ -0,0 +1,52 @@
|
|||||||
|
From fa0371ce0456bfe355c36df0741ff23daeccb3a3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||||
|
Date: Tue, 3 Nov 2020 14:04:37 +0000
|
||||||
|
Subject: [PATCH 8/8] Resolves: tdf#137215 restore original modality before
|
||||||
|
dialog loop ends
|
||||||
|
|
||||||
|
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105214
|
||||||
|
Tested-by: Jenkins
|
||||||
|
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
||||||
|
(cherry picked from commit 022c11602d2101b49724b5cf104cc6c70b5a5e4b)
|
||||||
|
|
||||||
|
Change-Id: I83467e28534b781c51b8d75a023e41f3c6a03903
|
||||||
|
---
|
||||||
|
sc/source/ui/dbgui/validate.cxx | 8 ++++++++
|
||||||
|
sc/source/ui/inc/validate.hxx | 2 ++
|
||||||
|
2 files changed, 10 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/sc/source/ui/dbgui/validate.cxx b/sc/source/ui/dbgui/validate.cxx
|
||||||
|
index 41bc913db911..73e04cc44706 100644
|
||||||
|
--- a/sc/source/ui/dbgui/validate.cxx
|
||||||
|
+++ b/sc/source/ui/dbgui/validate.cxx
|
||||||
|
@@ -95,6 +95,14 @@ ScValidationDlg::ScValidationDlg(weld::Window* pParent, const SfxItemSet* pArgSe
|
||||||
|
AddTabPage("erroralert", ScTPValidationError::Create, nullptr);
|
||||||
|
}
|
||||||
|
|
||||||
|
+void ScValidationDlg::EndDialog()
|
||||||
|
+{
|
||||||
|
+ // tdf#137215 ensure original modalality of true is restored before dialog loop ends
|
||||||
|
+ if (m_bOwnRefHdlr)
|
||||||
|
+ RemoveRefDlg(true);
|
||||||
|
+ ScValidationDlgBase::EndDialog();
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
ScValidationDlg::~ScValidationDlg()
|
||||||
|
{
|
||||||
|
if (m_bOwnRefHdlr)
|
||||||
|
diff --git a/sc/source/ui/inc/validate.hxx b/sc/source/ui/inc/validate.hxx
|
||||||
|
index 2c562717f921..cb88b9e8b40e 100644
|
||||||
|
--- a/sc/source/ui/inc/validate.hxx
|
||||||
|
+++ b/sc/source/ui/inc/validate.hxx
|
||||||
|
@@ -176,6 +176,8 @@ public:
|
||||||
|
|
||||||
|
void SetModal(bool bModal) { m_xDialog->set_modal(bModal); }
|
||||||
|
|
||||||
|
+ virtual void EndDialog() override;
|
||||||
|
+
|
||||||
|
virtual void SetReference( const ScRange& rRef, ScDocument* pDoc ) override
|
||||||
|
{
|
||||||
|
if ( m_pHandler && m_pSetReferenceHdl )
|
||||||
|
--
|
||||||
|
2.28.0
|
||||||
|
|
@ -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-----
|
16
SOURCES/libreoffice-6.4.7.2.tar.xz.asc
Normal file
16
SOURCES/libreoffice-6.4.7.2.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCAAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAl99uNwACgkQ9DSh76/u
|
||||||
|
rqNXhQ/9GhwXWFcV4GyBa3TReuGs+1YrzpUvp+w/MA1wN5czpPwA9CAhivCti1pU
|
||||||
|
dWwb2c/BePC+KBPthnjKNbuFIL00UuFuz4evEsNLykgwc3CCPXZDm5sxvJUAt1kf
|
||||||
|
QzlL6XQxpk47v2fRs5wY5huO5rv45o33+N1GV1OCm9Y5vo67wWHnnQJCqIKsfEoY
|
||||||
|
dWEvfFJxy9c7FiwbRZe9gZctGlOqRJpRbSwffchQ9fJQ5+10w5xhCdd5JrQheqe0
|
||||||
|
G0JOHTbPYncv9C9+aTsye5maVEQj/Wi/SH6IzE5T5AGVEf1dguGOr//NLfuPoY0d
|
||||||
|
Hrm17tKqsV1Lc7LzSwVAdes87bIjcNkITmfyKiaH3g4gDiL2Op9nsZiSwMad4+LX
|
||||||
|
2GDQKfmqTyS1Um1SdqAMJezwlHOExT491arWwjfDeBmMDJfFNxzNRSihbqzFJs5/
|
||||||
|
qfRjOSxpH0oRGMV4RSsLxDwjyzKAsUFQ2pZFx6A4qwp/X17+TulI3NnUHSNTMUaA
|
||||||
|
rsRgopJb2NuTP3+lTPCotFUcbmFKuCHtAHw8mntyd54JnRHlooVW+/dJ1HyGqAbD
|
||||||
|
moPg94GVKB0OPaw7D9hipG5dH1wsBz4vJXTEzJL8D/QOM7EmZDkzomPa/J10Pj4v
|
||||||
|
DXUuzAmfU4bShr1wzZvhEBIVDoS8gPGYwArYdCD18bm9NPWrO3k=
|
||||||
|
=ItCL
|
||||||
|
-----END PGP SIGNATURE-----
|
@ -1,16 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
|
|
||||||
iQIzBAABCAAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAmGqk2oACgkQ9DSh76/u
|
|
||||||
rqPr6A//ViToQECHwnSk30IjrjyAP516Cgad9cONe+vz1bSLAo7urIAOwLSFot+T
|
|
||||||
CjRFvKIvMRt4m2pPiBQTfEAIqq4rWur4jP/5SDRz4oAdrZUNGztJp+MKeLtH3yxR
|
|
||||||
DyWbGxtr+XoC2c5wbWmL8SPSRXoZQAdnxqb/ie4Em3DVmSohCLkMeTBMxd5vagDz
|
|
||||||
jJsCv31SyGhMEkZy8TD903u9CDlwTc5heD4LL7iIX6XIozzhvywPhj8qF+8F0mj3
|
|
||||||
KJQBhJFoWJRYjb0Vi8pnnXpE/1USzaHtcLB3jkg5SwbrC0EzDxWBsLZiAbNA6jAk
|
|
||||||
RUch2zhzXoI/hyMKEG/pw2FdcvndDtnClYnszcx/hVBlS+35ZkLSp9SklUydj2Hg
|
|
||||||
/Xed86J+BY+IOIgiMHi2Vr8CDgzK3ZTYhqiFeKGqtf8Vxf6PcpJy2OYus56nCD9j
|
|
||||||
pyLyczwRPvlsXxiWY0kPLvOE4h7zYCw+vLlwH6VSSxEsD7G+vzFS2xt9l0z6SdhX
|
|
||||||
xDZF9V08TLpcWJ8/IkUdRutoOMazghOrfL97YjUjnWOVIxAAXA1EPietDLQPdcbB
|
|
||||||
+tCOqSqXaEkrM5dvZo07p3mEZjv1KxhWqtjE3DsyqKBfHt6d5j/q61+9/87uJxNT
|
|
||||||
Rgh1MLAxbeo6E2iwp3kmOS5NLfxXkRjTIKzqnxr02nXXOMXSOo0=
|
|
||||||
=I1bc
|
|
||||||
-----END PGP SIGNATURE-----
|
|
16
SOURCES/libreoffice-help-6.4.7.2.tar.xz.asc
Normal file
16
SOURCES/libreoffice-help-6.4.7.2.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCAAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAl99uPgACgkQ9DSh76/u
|
||||||
|
rqNc+A/+PnNAFTvU3bHl8dwQGtRxBzcBuz0mkUTHET7qOPkzHsWwiaxmVhrDPvEd
|
||||||
|
UvG5NiVzux/YnQpLfG9yFcHH78RHy3RKpYHsuUwlb8AWOpMIB4rX2IU2Kcn6jW1v
|
||||||
|
2fokIVEvu5QzbI7sAyrxfAsdTGa+NALCG7oF8HmGVv/iVHZYTFYU7461LEqNSgbB
|
||||||
|
uAO9SWV5FLDYxcg6bYHULLFylrD/YBdQrv2Jj16apwVpKNHJPj1qE00KIRl1fYQ6
|
||||||
|
PasaGh1D6ZLKhAeOymr18eWQ0VZYmKjszddQExMbLTlxQZI+pZ8Bo6WKz7Y0IiwD
|
||||||
|
aCcZeVOYRs40Xc4Mc7+6hxO1bGFrG1CvxPE3gdrTAsPmjRko3CNTRFfPyd/e0pHV
|
||||||
|
0hpmIamL+OAE8V3gG5kSmVCtmnjhAtwnzBnqyuSU/J7thDOp0GUM+FBF6pxQPsf7
|
||||||
|
IBZCHZALOO727A6+YR2JsBqmpDi+AxEPNaksDm+orkIG2hx5ai5LmfzgqF0gsBRN
|
||||||
|
D//oVVpDM34JF5eLD4BOzUv3KqZYSmvDUqnkDF25bMJa5v637VoC7HiPypKRiCn1
|
||||||
|
3SLV1YUxMP0EKu2QU7Bz36CLzkxJfEcyvje5//wravbxuDopZC4703fkK1WrANzL
|
||||||
|
TviCWo1h03ClV1GEhDNB14hgzVN5kfVxaosve9U2Zyayabszj+s=
|
||||||
|
=12X5
|
||||||
|
-----END PGP SIGNATURE-----
|
@ -1,16 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
|
|
||||||
iQIzBAABCAAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAmGqk3AACgkQ9DSh76/u
|
|
||||||
rqPfLA//T1a1rqVsDz3Ozx+EDtqslPvXN4RNHtn6kQOR+0d9JkuA/habErjHzpv3
|
|
||||||
pH1OwKo8f+iOE9tWjZpUOIfDUcFSfX/5EyEGTWKqg51H8Eu8rD1OTs11+i/VDoqs
|
|
||||||
oSi7I2SrUu0nNfAMcgYK1omYXs5euN/9VySujAMo0n0CHz6bGwyGkObBZSkYYJUa
|
|
||||||
oSAxxkrLQRQcYWrPloDxJgsvySZ3gMnrxesZp0WQl2eCBZXEzKf/GJyjdZqrDPzV
|
|
||||||
3ClJ952tzqNcrSFzzXK+UduM5heQcXvglL951StimzLgefrR1uDfQ6KD7dnysVdz
|
|
||||||
N88EfsLpDMufBoQK8lf5COYiR4Mi4DE81/vqSr/dmZemtZDD49jrrpZGol47nILg
|
|
||||||
BkAHqfEmfYXScUIU4w6YYD4ZBmdw+9WctSbXHOuX5z9m6/52LLVuZ62caEW4ZoNg
|
|
||||||
W9hv+Okfd6S4MGavZzwMoYuEQXUPhxbFXCDx58G3zO3RrJDpjAeZouqrKjGNTu9G
|
|
||||||
bVZPGjiABAcnYVYHFZgJiwO5b93DGDco3+2LvgaodmaBCBBqjLuEekNOqZaKnH7a
|
|
||||||
ufcIkDHfZyBvHV8b6ISImmx4xuPSeln8K5RQV+Bz4s2CZapt8lryPZwOvNjLA9EP
|
|
||||||
lOy8+Dk3afwaGrwRUcpu16eCRZT6QvHE+bLd7TJd0OWusVBX7Mg=
|
|
||||||
=iDHZ
|
|
||||||
-----END PGP SIGNATURE-----
|
|
16
SOURCES/libreoffice-translations-6.4.7.2.tar.xz.asc
Normal file
16
SOURCES/libreoffice-translations-6.4.7.2.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCAAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAl99uPkACgkQ9DSh76/u
|
||||||
|
rqOB9g/+OfPvMQSnfDsF4JE93HcL+z6PNa7yEIuflFSLWRxjtBRrep5FPT0mui5a
|
||||||
|
PeCkLdR5TcHEQUa4GQuk5C6VLSbyQuEVoiO89Zj+xnLQGd96QJ5hyGjRqzPeP0kr
|
||||||
|
KSq59cdT1PMETcZy4IQlqVKV7a71pBgCKXh1t3cr56rD8h97jh3lNqOU++6pmpYH
|
||||||
|
F+IA4/GuWYA22M3oP+w0zmIR4HAdQB5RhxcAMQuLy+N7QUGRU27EMq8R8niRBp8G
|
||||||
|
Hb8MqVSdy19Hz9GKc3sNHFg4GIEywf/6CY+ldaca63F0X/KWCYYY5Ql3K180LAjG
|
||||||
|
wg6apwPynkCK05YjqlS8SedZlew9pH3sIauRM99aNC742EqsNoEY1dLEFWErdrr9
|
||||||
|
tub2bc5nYX7Ku6RXhlL5orXdU0quZH3c7n26g7VWI6rKvSh4Bs1godWs1UK5hqTt
|
||||||
|
jt/4RaMBvWzFTWbgQsWI3NLmTM/EOHAfhjDqTq5QPi+Wo3NaqBTlF1TiXJiLDWux
|
||||||
|
rBb+FcnMmeWrFLCtvKk8T5jYzv0e/HtLH4o3rWaNwzuBAgeeZrroQpTneIVqv8+L
|
||||||
|
HbE/GN1TaVIkc28RpX2PXdh918p1tmHNuKcPNQD+KIRP+FiBVfpFYm4/BtTb7nQU
|
||||||
|
Nzh0AxSSSgNcaZaj7iegb/m55BGBhMRjm2iA3bCNNG8JapOfIrs=
|
||||||
|
=Ot5W
|
||||||
|
-----END PGP SIGNATURE-----
|
@ -1,16 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
|
|
||||||
iQIzBAABCAAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAmGqk3EACgkQ9DSh76/u
|
|
||||||
rqPU8g/8DwKupld+tKgdYYTjrbxn0eKRU8Rj9J94Z6MTr/hgxC+lewywg/ks+D0J
|
|
||||||
YFn2Stc95Z52bm9k7dg/sGqJYYXTACiAnvtTWe6jnk9Ze4k/4iMbIoTivnI5C2dU
|
|
||||||
M96crGxkFbpEJAEOaMTClckt3cJ0Cfm3s+IHZS6ydjjOnYDv8PaRcOZbbRnzQtuh
|
|
||||||
8/vit3Xlp3RN2dxCilgv3JnL4woTCKnWIuL/nBHk606DcFlHYBLsgAQdA/Nbt0hs
|
|
||||||
KG2S3PiAgB2hfuoduNV33IfEkCn/nzA1GxGhkv6WLYh/PuCxG0KULsNndrTOD2gU
|
|
||||||
Vxyiun+eMk9X/Rh6Pqd7Vn75bttsHEiorScejXRkcZcaM+vyKapHgf2N+ynXDU4k
|
|
||||||
amzhaimwroTwt1jFX046NsuFIUY8Ck4xlbWkPv34u/EgZRaKHAX0PhNCZJigTsTM
|
|
||||||
vagEyHYvo+WLDk+IxNRVBx5ceTbB8PzNXQc+cyvnoy/RuswqsjaijSrbautiyM2m
|
|
||||||
jStUAiOxBKanye8IztJuCSUPNczfi85bZ2PDxuAxytAgfwKpiEvMCJR4lpoOpeW4
|
|
||||||
EXuFWzNnpH6j28aro2fQQhZcp4XSxQuxkrjJ5+gtsIxyiCSizVfPzrAYNGAtwrHI
|
|
||||||
f9q+sKdmywywUZ6W2LXYL8f3excZddjum9aVm2cmpezy1mXLX/k=
|
|
||||||
=a6IV
|
|
||||||
-----END PGP SIGNATURE-----
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user