import libreoffice-6.4.7.2-5.el8
This commit is contained in:
parent
9e49b5658b
commit
7b003310b0
6
.gitignore
vendored
6
.gitignore
vendored
@ -3,13 +3,13 @@ SOURCES/185d60944ea767075d27247c3162b3bc-unowinreg.dll
|
||||
SOURCES/884ed41809687c3e168fc7c19b16585149ff058eca79acbf3ee784f6630704cc-opens___.ttf
|
||||
SOURCES/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip
|
||||
SOURCES/gpgkey-C2839ECAD9408FBE9531C3E9F434A1EFAFEEAEA3.gpg.asc
|
||||
SOURCES/libreoffice-6.3.6.2.tar.xz
|
||||
SOURCES/libreoffice-6.4.7.2.tar.xz
|
||||
SOURCES/libreoffice-base-symbolic.svg
|
||||
SOURCES/libreoffice-calc-symbolic.svg
|
||||
SOURCES/libreoffice-draw-symbolic.svg
|
||||
SOURCES/libreoffice-help-6.3.6.2.tar.xz
|
||||
SOURCES/libreoffice-help-6.4.7.2.tar.xz
|
||||
SOURCES/libreoffice-impress-symbolic.svg
|
||||
SOURCES/libreoffice-main-symbolic.svg
|
||||
SOURCES/libreoffice-math-symbolic.svg
|
||||
SOURCES/libreoffice-translations-6.3.6.2.tar.xz
|
||||
SOURCES/libreoffice-translations-6.4.7.2.tar.xz
|
||||
SOURCES/libreoffice-writer-symbolic.svg
|
||||
|
@ -3,13 +3,13 @@
|
||||
d336802a36ed2c87dd243e7c2f1d0542dace5cca SOURCES/884ed41809687c3e168fc7c19b16585149ff058eca79acbf3ee784f6630704cc-opens___.ttf
|
||||
2d49e11b0b711970f494294dc3698f05eb294853 SOURCES/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip
|
||||
7b5fd93d787fbc6d9c2d4025d543730ee8dc4559 SOURCES/gpgkey-C2839ECAD9408FBE9531C3E9F434A1EFAFEEAEA3.gpg.asc
|
||||
79aa683b98c465ce570652852faead9f973f8d95 SOURCES/libreoffice-6.3.6.2.tar.xz
|
||||
b29d8cdb3db8d6b317e1cb9117b020d7e676e601 SOURCES/libreoffice-6.4.7.2.tar.xz
|
||||
54fc749ba924f9ca4e0391caaf579ab344302038 SOURCES/libreoffice-base-symbolic.svg
|
||||
9de544172d736d59589767000c1f657034a5d53d SOURCES/libreoffice-calc-symbolic.svg
|
||||
0f6dc4726da0920869354fbe4b2924f9ac569b4a SOURCES/libreoffice-draw-symbolic.svg
|
||||
f6f94206dad1038c4369610a90e1727e4266ea80 SOURCES/libreoffice-help-6.3.6.2.tar.xz
|
||||
ca7e087ef62f30c033db84ceb0f6a4021f53653e SOURCES/libreoffice-help-6.4.7.2.tar.xz
|
||||
8c74dd667c660cc643c4d715dd50491ba92146d5 SOURCES/libreoffice-impress-symbolic.svg
|
||||
c77acd04a7647b09745f9424ab0f65d52dfcd397 SOURCES/libreoffice-main-symbolic.svg
|
||||
3857a55644148eb25ed1a594bd00d1262761fb39 SOURCES/libreoffice-math-symbolic.svg
|
||||
52b483e3d868345f7aa9ed187fd8b59d713d24fc SOURCES/libreoffice-translations-6.3.6.2.tar.xz
|
||||
0f74fd6286e71ff2b7c7bc01f41c8972e354d81c SOURCES/libreoffice-translations-6.4.7.2.tar.xz
|
||||
d4f0674ad46a832120db956cc01a27fdc2060458 SOURCES/libreoffice-writer-symbolic.svg
|
||||
|
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,59 +0,0 @@
|
||||
From b8bb7fd853db5d0d7cc4ea9120efb1a707e46c22 Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Bergmann <sbergman@redhat.com>
|
||||
Date: Tue, 3 Dec 2019 11:56:33 +0100
|
||||
Subject: [PATCH] Adapt SAL_WARN to C++20 deleted ostream << for sal_Unicode
|
||||
(aka char16_t)
|
||||
|
||||
<http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1423r3.html> "char8_t
|
||||
backward compatibility remediation", as implemented now by <https://gcc.gnu.org/
|
||||
git/?p=gcc.git;a=commit;h=0c5b35933e5b150df0ab487efb2f11ef5685f713> "libstdc++:
|
||||
P1423R3 char8_t remediation (2/4)" for -std=c++2a, deletes operator << overloads
|
||||
that would print an integer rather than a (presumably expected) character.
|
||||
|
||||
Change-Id: Ic70d3e90e4b990d297e35f07379fe4952e138820
|
||||
Reviewed-on: https://gerrit.libreoffice.org/84321
|
||||
Tested-by: Jenkins
|
||||
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
||||
---
|
||||
basegfx/source/polygon/b2dsvgpolypolygon.cxx | 2 +-
|
||||
starmath/source/ooxmlimport.cxx | 4 ++--
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/basegfx/source/polygon/b2dsvgpolypolygon.cxx b/basegfx/source/polygon/b2dsvgpolypolygon.cxx
|
||||
index 2fdacad3653f..490bcd69c9a6 100644
|
||||
--- a/basegfx/source/polygon/b2dsvgpolypolygon.cxx
|
||||
+++ b/basegfx/source/polygon/b2dsvgpolypolygon.cxx
|
||||
@@ -648,7 +648,7 @@ namespace basegfx
|
||||
default:
|
||||
{
|
||||
SAL_WARN("basegfx", "importFromSvgD(): skipping tags in svg:d element (unknown: \""
|
||||
- << aCurrChar
|
||||
+ << OUString(aCurrChar)
|
||||
<< "\")!");
|
||||
++nPos;
|
||||
break;
|
||||
diff --git a/starmath/source/ooxmlimport.cxx b/starmath/source/ooxmlimport.cxx
|
||||
index f0913f157078..731daa054120 100644
|
||||
--- a/starmath/source/ooxmlimport.cxx
|
||||
+++ b/starmath/source/ooxmlimport.cxx
|
||||
@@ -223,7 +223,7 @@ OUString SmOoxmlImport::handleAcc()
|
||||
break;
|
||||
default:
|
||||
acc = "acute";
|
||||
- SAL_WARN( "starmath.ooxml", "Unknown m:chr in m:acc \'" << accChr << "\'" );
|
||||
+ SAL_WARN( "starmath.ooxml", "Unknown m:chr in m:acc \'" << OUString(accChr) << "\'" );
|
||||
break;
|
||||
}
|
||||
OUString e = readOMathArgInElement( M_TOKEN( e ));
|
||||
@@ -554,7 +554,7 @@ OUString SmOoxmlImport::handleNary()
|
||||
ret = "sum";
|
||||
break;
|
||||
default:
|
||||
- SAL_WARN( "starmath.ooxml", "Unknown m:nary chr \'" << chr << "\'" );
|
||||
+ SAL_WARN( "starmath.ooxml", "Unknown m:nary chr \'" << OUString(chr) << "\'" );
|
||||
break;
|
||||
}
|
||||
if( !subHide )
|
||||
--
|
||||
2.24.1
|
||||
|
@ -1,54 +0,0 @@
|
||||
From 22005041f829d85e675ea27bdee1770af58a1ea0 Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Bergmann <sbergman@redhat.com>
|
||||
Date: Mon, 3 Jun 2019 16:21:24 +0200
|
||||
Subject: [PATCH] AppendInfoBar can return null
|
||||
|
||||
e.g., when opening the old help window ("Help - LibreOffice Help" in a build
|
||||
configured with --with-help to "build the old local help" (configure.ac))
|
||||
|
||||
Change-Id: Icecd224774b98811ddf9545c5fa83a85fab259fc
|
||||
Reviewed-on: https://gerrit.libreoffice.org/73390
|
||||
Tested-by: Jenkins
|
||||
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
||||
---
|
||||
sfx2/source/view/viewfrm.cxx | 24 ++++++++++++++----------
|
||||
1 file changed, 14 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/sfx2/source/view/viewfrm.cxx b/sfx2/source/view/viewfrm.cxx
|
||||
index 5620f4396e8f..ed8ffa200ef6 100644
|
||||
--- a/sfx2/source/view/viewfrm.cxx
|
||||
+++ b/sfx2/source/view/viewfrm.cxx
|
||||
@@ -1239,16 +1239,20 @@ void SfxViewFrame::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint )
|
||||
if ((iCurrent > iLast) && !Application::IsHeadlessModeEnabled() && !bIsUITest)
|
||||
{
|
||||
VclPtr<SfxInfoBarWindow> pInfoBar = AppendInfoBar("whatsnew", SfxResId(STR_WHATSNEW_TEXT), InfoBarType::Info);
|
||||
- VclPtrInstance<PushButton> xWhatsNewButton(&GetWindow());
|
||||
- xWhatsNewButton->SetText(SfxResId(STR_WHATSNEW_BUTTON));
|
||||
- xWhatsNewButton->SetSizePixel(xWhatsNewButton->GetOptimalSize());
|
||||
- xWhatsNewButton->SetClickHdl(LINK(this, SfxViewFrame, WhatsNewHandler));
|
||||
- pInfoBar->addButton(xWhatsNewButton);
|
||||
-
|
||||
- //update lastversion
|
||||
- std::shared_ptr<comphelper::ConfigurationChanges> batch(comphelper::ConfigurationChanges::create());
|
||||
- officecfg::Setup::Product::ooSetupLastVersion::set(sSetupVersion, batch);
|
||||
- batch->commit();
|
||||
+ if (pInfoBar)
|
||||
+ {
|
||||
+ VclPtrInstance<PushButton> xWhatsNewButton(&GetWindow());
|
||||
+ xWhatsNewButton->SetText(SfxResId(STR_WHATSNEW_BUTTON));
|
||||
+ xWhatsNewButton->SetSizePixel(xWhatsNewButton->GetOptimalSize());
|
||||
+ xWhatsNewButton->SetClickHdl(LINK(this, SfxViewFrame, WhatsNewHandler));
|
||||
+ pInfoBar->addButton(xWhatsNewButton);
|
||||
+
|
||||
+ //update lastversion
|
||||
+ std::shared_ptr<comphelper::ConfigurationChanges> batch(comphelper::ConfigurationChanges::create());
|
||||
+ officecfg::Setup::Product::ooSetupLastVersion::set(
|
||||
+ sSetupVersion, batch);
|
||||
+ batch->commit();
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.25.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
|
||||
|
@ -1,40 +0,0 @@
|
||||
From ac68d29966f78ac8799f31f13578e4843a49043f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Tue, 14 Apr 2020 13:46:44 +0100
|
||||
Subject: [PATCH] "General Internet Error" dialog appearing on gio mount
|
||||
|
||||
we get a GError of G_IO_ERROR_FAILED_HANDLED which is documented
|
||||
as "Operation failed and a helper program has already interacted with the user.
|
||||
Do not display any error dialog." PENDING seems to describe this state
|
||||
better than a generic error case and results in no error dialog.
|
||||
|
||||
Change-Id: Iee382e49edaa0a734526659971e0339991e2c03e
|
||||
---
|
||||
ucb/source/ucp/gio/gio_content.cxx | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/ucb/source/ucp/gio/gio_content.cxx b/ucb/source/ucp/gio/gio_content.cxx
|
||||
index 77a5c0127ae7..8576713974a8 100644
|
||||
--- a/ucb/source/ucp/gio/gio_content.cxx
|
||||
+++ b/ucb/source/ucp/gio/gio_content.cxx
|
||||
@@ -196,6 +196,9 @@ css::uno::Any convertToException(GError *pError, const css::uno::Reference< css:
|
||||
css::task::InteractionClassification_ERROR, css::ucb::IOErrorCode_NAME_TOO_LONG, aArgs);
|
||||
EXCEPT(aExcept); }
|
||||
break;
|
||||
+ case G_IO_ERROR_FAILED_HANDLED: /* Operation failed and a helper program
|
||||
+ has already interacted with the user. Do not display any error
|
||||
+ dialog */
|
||||
case G_IO_ERROR_PENDING:
|
||||
{ css::ucb::InteractiveAugmentedIOException aExcept(sMessage, rContext,
|
||||
css::task::InteractionClassification_ERROR, css::ucb::IOErrorCode_PENDING, aArgs);
|
||||
@@ -257,7 +260,6 @@ css::uno::Any convertToException(GError *pError, const css::uno::Reference< css:
|
||||
case G_IO_ERROR_NOT_EMPTY:
|
||||
case G_IO_ERROR_NOT_SYMBOLIC_LINK:
|
||||
case G_IO_ERROR_NOT_MOUNTABLE_FILE:
|
||||
- case G_IO_ERROR_FAILED_HANDLED:
|
||||
{ css::ucb::InteractiveNetworkGeneralException aExcept(sMessage, rContext,
|
||||
css::task::InteractionClassification_ERROR);
|
||||
EXCEPT(aExcept);}
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,70 +0,0 @@
|
||||
From 0c20ed4d58f7b55bcc12fa288b93d1c6d88a7dcc Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Bergmann <sbergman@redhat.com>
|
||||
Date: Thu, 14 May 2020 14:47:21 +0200
|
||||
Subject: [PATCH] Keep order of GDK input events intact
|
||||
|
||||
As explained at <https://bugzilla.redhat.com/show_bug.cgi?id=1377293#c12>
|
||||
"[Wayland] When typing fast at high CPU load, LibreOffice breaks key (letter)
|
||||
order": "with a local LO master --with-lang=ALL ASan+UBSan build (i.e., which
|
||||
executes somewhat slowly): When typing 'file' in Writer right after it started
|
||||
up (but no longer after more typing), that gets garbled as 'fiel'." The reason
|
||||
for that (but probably not for the original issue reported in that rhbz#1377293)
|
||||
apparently was:
|
||||
|
||||
Two GDK_KEY_PRESS events (A and B) were in the GTK event queue.
|
||||
GtkInstance::AnyInput consumed only A, because it broke from the first while
|
||||
loop as soon as it saw the first event of appropriate type. In the second while
|
||||
loop it put A back on the end of the GTK event loop, so that it now followed B.
|
||||
GtkSalFrame::signalKey (vcl/unx/gtk3/gtk3gtkframe.cxx) thus received the events
|
||||
in the wrong order.
|
||||
|
||||
Dropping the "break" also reveals that GtkInstance::AnyInput should obviously
|
||||
use a queue (i.e., deque) rather than a stack to hold the events it consumed and
|
||||
needs to re-enqueue.
|
||||
|
||||
This appears to be a regression introduced with
|
||||
658954e8b50fc264428402dc5a95b0d6f690d191 "Resolves: fdo#48011 writer
|
||||
idle-callbacks are halting when events pending".
|
||||
|
||||
Change-Id: I87d601df118a20ea3dd59e9cebbcf5176db04be8
|
||||
---
|
||||
vcl/unx/gtk/gtkinst.cxx | 9 ++++-----
|
||||
1 file changed, 4 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/vcl/unx/gtk/gtkinst.cxx b/vcl/unx/gtk/gtkinst.cxx
|
||||
index 02ed688f366b..744c66b0baf0 100644
|
||||
--- a/vcl/unx/gtk/gtkinst.cxx
|
||||
+++ b/vcl/unx/gtk/gtkinst.cxx
|
||||
@@ -427,25 +427,24 @@ bool GtkInstance::AnyInput( VclInputFlags nType )
|
||||
return true;
|
||||
|
||||
bool bRet = false;
|
||||
- std::stack<GdkEvent*> aEvents;
|
||||
+ std::deque<GdkEvent*> aEvents;
|
||||
GdkEvent *pEvent = nullptr;
|
||||
while ((pEvent = gdk_event_get()))
|
||||
{
|
||||
- aEvents.push(pEvent);
|
||||
+ aEvents.push_back(pEvent);
|
||||
VclInputFlags nEventType = categorizeEvent(pEvent);
|
||||
if ( (nEventType & nType) || ( nEventType == VclInputFlags::NONE && (nType & VclInputFlags::OTHER) ) )
|
||||
{
|
||||
bRet = true;
|
||||
- break;
|
||||
}
|
||||
}
|
||||
|
||||
while (!aEvents.empty())
|
||||
{
|
||||
- pEvent = aEvents.top();
|
||||
+ pEvent = aEvents.front();
|
||||
gdk_event_put(pEvent);
|
||||
gdk_event_free(pEvent);
|
||||
- aEvents.pop();
|
||||
+ aEvents.pop_front();
|
||||
}
|
||||
#endif
|
||||
return bRet;
|
||||
--
|
||||
2.25.4
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -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,255 +0,0 @@
|
||||
From fd1692b657838f137c8974eae7730510b7d190df Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Fri, 24 Apr 2020 16:38:26 +0100
|
||||
Subject: [PATCH] Resolves: tdf#132288 don't merge adjacent properties for
|
||||
spell checking
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
spell checking relies on each attribute chunk being unmerged with identical
|
||||
adjacent chunks
|
||||
|
||||
squash includes...
|
||||
|
||||
nStartPosition and nEndPosition are always the same
|
||||
|
||||
and
|
||||
|
||||
tdf#132288 preservation of footnote depends on reverse iteration
|
||||
|
||||
like TextCharAttribList::FindAttrib does which spell checking
|
||||
used before
|
||||
|
||||
commit 243b5b392906042ab03800e0b5765e6f3513372c
|
||||
Author: Caolán McNamara <caolanm@redhat.com>
|
||||
Date: Fri Jun 14 21:56:44 2019 +0100
|
||||
|
||||
weld SpellDialog
|
||||
|
||||
converted to use an EditEngine instead of a TextEngine in order to
|
||||
be able to host it in a native widget
|
||||
|
||||
Change-Id: Ia835fa054cad0dee4304f16724b9eb0c29b46102
|
||||
---
|
||||
cui/source/dialogs/SpellDialog.cxx | 37 ++++++++++++++++--------------
|
||||
editeng/inc/editdoc.hxx | 3 +++
|
||||
editeng/source/editeng/editdoc.cxx | 12 +++++++++-
|
||||
editeng/source/editeng/editeng.cxx | 4 ++++
|
||||
include/editeng/editeng.hxx | 5 ++++
|
||||
5 files changed, 43 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/cui/source/dialogs/SpellDialog.cxx b/cui/source/dialogs/SpellDialog.cxx
|
||||
index 1bb15c934552..17bff36056fb 100644
|
||||
--- a/cui/source/dialogs/SpellDialog.cxx
|
||||
+++ b/cui/source/dialogs/SpellDialog.cxx
|
||||
@@ -1142,6 +1142,8 @@ void SentenceEditWindow_Impl::SetDrawingArea(weld::DrawingArea* pDrawingArea)
|
||||
pDrawingArea->get_text_height() * 6);
|
||||
pDrawingArea->set_size_request(aSize.Width(), aSize.Height());
|
||||
WeldEditView::SetDrawingArea(pDrawingArea);
|
||||
+ // tdf#132288 don't merge equal adjacent attributes
|
||||
+ m_xEditEngine->DisableAttributeExpanding();
|
||||
}
|
||||
|
||||
SentenceEditWindow_Impl::~SentenceEditWindow_Impl()
|
||||
@@ -1150,13 +1152,14 @@ SentenceEditWindow_Impl::~SentenceEditWindow_Impl()
|
||||
|
||||
namespace
|
||||
{
|
||||
- const EECharAttrib* FindCharAttrib(int nStartPosition, int nEndPosition, sal_uInt16 nWhich, std::vector<EECharAttrib>& rAttribList)
|
||||
+ const EECharAttrib* FindCharAttrib(int nPosition, sal_uInt16 nWhich, std::vector<EECharAttrib>& rAttribList)
|
||||
{
|
||||
- for (const auto& rTextAtr : rAttribList)
|
||||
+ for (auto it = rAttribList.rbegin(); it != rAttribList.rend(); ++it)
|
||||
{
|
||||
+ const auto& rTextAtr = *it;
|
||||
if (rTextAtr.pAttr->Which() != nWhich)
|
||||
continue;
|
||||
- if (rTextAtr.nStart <= nStartPosition && rTextAtr.nEnd >= nEndPosition)
|
||||
+ if (rTextAtr.nStart <= nPosition && rTextAtr.nEnd >= nPosition)
|
||||
{
|
||||
return &rTextAtr;
|
||||
}
|
||||
@@ -1272,8 +1275,8 @@ bool SentenceEditWindow_Impl::KeyInput(const KeyEvent& rKeyEvt)
|
||||
m_xEditEngine->GetCharAttribs(0, aAttribList);
|
||||
|
||||
auto nCursor = aCurrentSelection.nStartPos;
|
||||
- const EECharAttrib* pBackAttr = FindCharAttrib(nCursor, nCursor, EE_CHAR_BKGCOLOR, aAttribList);
|
||||
- const EECharAttrib* pErrorAttr = FindCharAttrib(nCursor, nCursor, EE_CHAR_GRABBAG, aAttribList);
|
||||
+ const EECharAttrib* pBackAttr = FindCharAttrib(nCursor, EE_CHAR_BKGCOLOR, aAttribList);
|
||||
+ const EECharAttrib* pErrorAttr = FindCharAttrib(nCursor, EE_CHAR_GRABBAG, aAttribList);
|
||||
const EECharAttrib* pBackAttrLeft = nullptr;
|
||||
const EECharAttrib* pErrorAttrLeft = nullptr;
|
||||
|
||||
@@ -1299,8 +1302,8 @@ bool SentenceEditWindow_Impl::KeyInput(const KeyEvent& rKeyEvt)
|
||||
while (nCursor < aCurrentSelection.nEndPos)
|
||||
{
|
||||
++nCursor;
|
||||
- const EECharAttrib* pIntBackAttr = FindCharAttrib(nCursor, nCursor, EE_CHAR_BKGCOLOR, aAttribList);
|
||||
- const EECharAttrib* pIntErrorAttr = FindCharAttrib(nCursor, nCursor, EE_CHAR_GRABBAG, aAttribList);
|
||||
+ const EECharAttrib* pIntBackAttr = FindCharAttrib(nCursor, EE_CHAR_BKGCOLOR, aAttribList);
|
||||
+ const EECharAttrib* pIntErrorAttr = FindCharAttrib(nCursor, EE_CHAR_GRABBAG, aAttribList);
|
||||
//if any attr has been found then BRACE
|
||||
if (pIntBackAttr || pIntErrorAttr)
|
||||
nSelectionType = BRACE;
|
||||
@@ -1342,8 +1345,8 @@ bool SentenceEditWindow_Impl::KeyInput(const KeyEvent& rKeyEvt)
|
||||
if (nCursor)
|
||||
{
|
||||
--nCursor;
|
||||
- pBackAttrLeft = FindCharAttrib(nCursor, nCursor, EE_CHAR_BKGCOLOR, aAttribList);
|
||||
- pErrorAttrLeft = FindCharAttrib(nCursor, nCursor, EE_CHAR_GRABBAG, aAttribList);
|
||||
+ pBackAttrLeft = FindCharAttrib(nCursor, EE_CHAR_BKGCOLOR, aAttribList);
|
||||
+ pErrorAttrLeft = FindCharAttrib(nCursor, EE_CHAR_GRABBAG, aAttribList);
|
||||
bHasFieldLeft = pBackAttrLeft !=nullptr;
|
||||
bHasErrorLeft = pErrorAttrLeft != nullptr;
|
||||
++nCursor;
|
||||
@@ -1492,8 +1495,8 @@ bool SentenceEditWindow_Impl::KeyInput(const KeyEvent& rKeyEvt)
|
||||
//start position
|
||||
if (!IsUndoEditMode() && bIsErrorActive)
|
||||
{
|
||||
- const EECharAttrib* pFontColor = FindCharAttrib(nCursor, nCursor, EE_CHAR_COLOR, aAttribList);
|
||||
- const EECharAttrib* pErrorAttrib = FindCharAttrib(m_nErrorStart, m_nErrorStart, EE_CHAR_GRABBAG, aAttribList);
|
||||
+ const EECharAttrib* pFontColor = FindCharAttrib(nCursor, EE_CHAR_COLOR, aAttribList);
|
||||
+ const EECharAttrib* pErrorAttrib = FindCharAttrib(m_nErrorStart, EE_CHAR_GRABBAG, aAttribList);
|
||||
if (pFontColor && pErrorAttrib)
|
||||
{
|
||||
m_nErrorStart = pFontColor->nStart;
|
||||
@@ -1695,7 +1698,7 @@ int SentenceEditWindow_Impl::ChangeMarkedWord(const OUString& rNewWord, Language
|
||||
auto nDiffLen = rNewWord.getLength() - m_nErrorEnd + m_nErrorStart;
|
||||
//Remove spell error attribute
|
||||
m_xEditEngine->UndoActionStart(SPELLUNDO_MOVE_ERROREND);
|
||||
- const EECharAttrib* pErrorAttrib = FindCharAttrib(m_nErrorStart, m_nErrorStart, EE_CHAR_GRABBAG, aAttribList);
|
||||
+ const EECharAttrib* pErrorAttrib = FindCharAttrib(m_nErrorStart, EE_CHAR_GRABBAG, aAttribList);
|
||||
DBG_ASSERT(pErrorAttrib, "no error attribute found");
|
||||
bool bSpellErrorDescription = false;
|
||||
SpellErrorDescription aSpellErrorDescription;
|
||||
@@ -1706,7 +1709,7 @@ int SentenceEditWindow_Impl::ChangeMarkedWord(const OUString& rNewWord, Language
|
||||
bSpellErrorDescription = true;
|
||||
}
|
||||
|
||||
- const EECharAttrib* pBackAttrib = FindCharAttrib(m_nErrorStart, m_nErrorStart, EE_CHAR_BKGCOLOR, aAttribList);
|
||||
+ const EECharAttrib* pBackAttrib = FindCharAttrib(m_nErrorStart, EE_CHAR_BKGCOLOR, aAttribList);
|
||||
|
||||
ESelection aSel(0, m_nErrorStart, 0, m_nErrorEnd);
|
||||
m_xEditEngine->QuickInsertText(rNewWord, aSel);
|
||||
@@ -1721,7 +1724,7 @@ int SentenceEditWindow_Impl::ChangeMarkedWord(const OUString& rNewWord, Language
|
||||
//attributes following an error at the start of the text are not moved but expanded from the
|
||||
//text engine - this is done to keep full-paragraph-attributes
|
||||
//in the current case that handling is not desired
|
||||
- const EECharAttrib* pLangAttrib = FindCharAttrib(m_nErrorEnd, m_nErrorEnd, EE_CHAR_LANGUAGE, aAttribList);
|
||||
+ const EECharAttrib* pLangAttrib = FindCharAttrib(m_nErrorEnd, EE_CHAR_LANGUAGE, aAttribList);
|
||||
|
||||
if (pLangAttrib && !pLangAttrib->nStart && pLangAttrib->nEnd == nTextLen)
|
||||
{
|
||||
@@ -1776,7 +1779,7 @@ bool SentenceEditWindow_Impl::GetErrorDescription(SpellErrorDescription& rSpellE
|
||||
std::vector<EECharAttrib> aAttribList;
|
||||
m_xEditEngine->GetCharAttribs(0, aAttribList);
|
||||
|
||||
- if (const EECharAttrib* pEECharAttrib = FindCharAttrib(nPosition, nPosition, EE_CHAR_GRABBAG, aAttribList))
|
||||
+ if (const EECharAttrib* pEECharAttrib = FindCharAttrib(nPosition, EE_CHAR_GRABBAG, aAttribList))
|
||||
{
|
||||
ExtractErrorDescription(*pEECharAttrib, rSpellErrorDescription);
|
||||
return true;
|
||||
@@ -1895,7 +1898,7 @@ svx::SpellPortions SentenceEditWindow_Impl::CreateSpellPortions() const
|
||||
const EECharAttrib* pError = nullptr;
|
||||
while (nCursor < nTextLen)
|
||||
{
|
||||
- const EECharAttrib* pLang = FindCharAttrib(nCursor, nCursor, EE_CHAR_LANGUAGE, aAttribList);
|
||||
+ const EECharAttrib* pLang = FindCharAttrib(nCursor, EE_CHAR_LANGUAGE, aAttribList);
|
||||
if(pLang && pLang != pLastLang)
|
||||
{
|
||||
eLang = static_cast<const SvxLanguageItem*>(pLang->pAttr)->GetLanguage();
|
||||
@@ -1903,7 +1906,7 @@ svx::SpellPortions SentenceEditWindow_Impl::CreateSpellPortions() const
|
||||
lcl_InsertBreakPosition_Impl(aBreakPositions, pLang->nEnd, eLang);
|
||||
pLastLang = pLang;
|
||||
}
|
||||
- pError = FindCharAttrib(nCursor, nCursor, EE_CHAR_GRABBAG, aAttribList);
|
||||
+ pError = FindCharAttrib(nCursor, EE_CHAR_GRABBAG, aAttribList);
|
||||
if (pError && pLastError != pError)
|
||||
{
|
||||
lcl_InsertBreakPosition_Impl(aBreakPositions, pError->nStart, eLang);
|
||||
diff --git a/editeng/inc/editdoc.hxx b/editeng/inc/editdoc.hxx
|
||||
index 089addc59c07..258fa945912c 100644
|
||||
--- a/editeng/inc/editdoc.hxx
|
||||
+++ b/editeng/inc/editdoc.hxx
|
||||
@@ -747,6 +747,7 @@ private:
|
||||
|
||||
bool bOwnerOfPool:1;
|
||||
bool bModified:1;
|
||||
+ bool bDisableAttributeExpanding:1;
|
||||
|
||||
private:
|
||||
void ImplDestroyContents();
|
||||
@@ -761,6 +762,8 @@ public:
|
||||
bool IsModified() const { return bModified; }
|
||||
void SetModified( bool b );
|
||||
|
||||
+ void DisableAttributeExpanding() { bDisableAttributeExpanding = true; }
|
||||
+
|
||||
void SetModifyHdl( const Link<LinkParamNone*,void>& rLink ) { aModifyHdl = rLink; }
|
||||
|
||||
void CreateDefFont( bool bUseStyles );
|
||||
diff --git a/editeng/source/editeng/editdoc.cxx b/editeng/source/editeng/editdoc.cxx
|
||||
index 73a356054741..aacc0b2c7b6b 100644
|
||||
--- a/editeng/source/editeng/editdoc.cxx
|
||||
+++ b/editeng/source/editeng/editdoc.cxx
|
||||
@@ -1906,7 +1906,8 @@ EditDoc::EditDoc( SfxItemPool* pPool ) :
|
||||
bIsTopToBottomVert(false),
|
||||
bIsFixedCellHeight(false),
|
||||
bOwnerOfPool(pPool == nullptr),
|
||||
- bModified(false)
|
||||
+ bModified(false),
|
||||
+ bDisableAttributeExpanding(false)
|
||||
{
|
||||
// Don't create an empty node, Clear() will be called in EditEngine-CTOR
|
||||
};
|
||||
@@ -2354,6 +2355,15 @@ void EditDoc::InsertAttribInSelection( ContentNode* pNode, sal_Int32 nStart, sal
|
||||
|
||||
RemoveAttribs( pNode, nStart, nEnd, pStartingAttrib, pEndingAttrib, rPoolItem.Which() );
|
||||
|
||||
+ // tdf#132288 By default inserting an attribute beside another that is of
|
||||
+ // the same type expands the original instead of inserting another. But the
|
||||
+ // spell check dialog doesn't want that behaviour
|
||||
+ if (bDisableAttributeExpanding)
|
||||
+ {
|
||||
+ pStartingAttrib = nullptr;
|
||||
+ pEndingAttrib = nullptr;
|
||||
+ }
|
||||
+
|
||||
if ( pStartingAttrib && pEndingAttrib &&
|
||||
( *(pStartingAttrib->GetItem()) == rPoolItem ) &&
|
||||
( *(pEndingAttrib->GetItem()) == rPoolItem ) )
|
||||
diff --git a/editeng/source/editeng/editeng.cxx b/editeng/source/editeng/editeng.cxx
|
||||
index 458f71b34d3f..f46106a5773c 100644
|
||||
--- a/editeng/source/editeng/editeng.cxx
|
||||
+++ b/editeng/source/editeng/editeng.cxx
|
||||
@@ -2802,6 +2802,10 @@ bool EditEngine::IsPageOverflow() {
|
||||
return pImpEditEngine->IsPageOverflow();
|
||||
}
|
||||
|
||||
+void EditEngine::DisableAttributeExpanding() {
|
||||
+ pImpEditEngine->GetEditDoc().DisableAttributeExpanding();
|
||||
+}
|
||||
+
|
||||
EFieldInfo::EFieldInfo()
|
||||
{
|
||||
}
|
||||
diff --git a/include/editeng/editeng.hxx b/include/editeng/editeng.hxx
|
||||
index f585ce8b5796..7d4129c0ad0b 100644
|
||||
--- a/include/editeng/editeng.hxx
|
||||
+++ b/include/editeng/editeng.hxx
|
||||
@@ -618,6 +618,11 @@ public:
|
||||
sal_Int32 GetOverflowingLineNum() const;
|
||||
void ClearOverflowingParaNum();
|
||||
bool IsPageOverflow();
|
||||
+
|
||||
+ // tdf#132288 By default inserting an attribute beside another that is of
|
||||
+ // the same type expands the original instead of inserting another. But the
|
||||
+ // spell check dialog doesn't want that behaviour
|
||||
+ void DisableAttributeExpanding();
|
||||
};
|
||||
|
||||
#endif // INCLUDED_EDITENG_EDITENG_HXX
|
||||
--
|
||||
2.25.3
|
||||
|
File diff suppressed because it is too large
Load Diff
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
|
||||
|
@ -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,35 +1,34 @@
|
||||
From 613af296887aede8f5b0fa6f94f7fb2781403ef2 Mon Sep 17 00:00:00 2001
|
||||
From 702a1ad668167a7a8efdd694c820b710a765bb53 Mon Sep 17 00:00:00 2001
|
||||
From: David Tardon <dtardon@redhat.com>
|
||||
Date: Thu, 21 Aug 2014 16:10:51 +0200
|
||||
Subject: [PATCH] disable libe-book support
|
||||
|
||||
Change-Id: Ie915a9bd2acf7f3aeb8b0933252da33c17043bc4
|
||||
---
|
||||
configure.ac | 3 ---
|
||||
external/Module_external.mk | 1 -
|
||||
filter/Configuration_filter.mk | 8 --------
|
||||
writerperfect/Library_wpftwriter.mk | 2 --
|
||||
writerperfect/qa/unit/WpftFilterFixture.hxx | 3 ---
|
||||
writerperfect/qa/unit/WpftFilterFixture.hxx | 4 ----
|
||||
writerperfect/qa/unit/WpftWriterFilterTest.cxx | 5 -----
|
||||
writerperfect/source/writer/wpftwriter.component | 5 -----
|
||||
7 files changed, 27 deletions(-)
|
||||
6 files changed, 25 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index bb17f3e..23d48da 100644
|
||||
index ac8dbc5..bb08d21 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -8326,9 +8326,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([libebook],[EBOOK],[libe-book-0.1])
|
||||
-libo_PKG_VERSION([EBOOK], [libe-book-0.1], [0.1.2])
|
||||
-
|
||||
libo_CHECK_SYSTEM_MODULE([libabw],[ABW],[libabw-0.1])
|
||||
|
||||
|
||||
libo_CHECK_SYSTEM_MODULE([libpagemaker],[PAGEMAKER],[libpagemaker-0.0])
|
||||
diff --git a/external/Module_external.mk b/external/Module_external.mk
|
||||
index e9d53ee..5bc469f 100644
|
||||
index baf7215..397ad68 100644
|
||||
--- a/external/Module_external.mk
|
||||
+++ b/external/Module_external.mk
|
||||
@@ -31,7 +31,6 @@ $(eval $(call gb_Module_add_moduledirs,external,\
|
||||
@ -67,10 +66,10 @@ index 9702332..d250173 100644
|
||||
MWAW_Text_Document \
|
||||
Palm_Text_Document \
|
||||
diff --git a/writerperfect/Library_wpftwriter.mk b/writerperfect/Library_wpftwriter.mk
|
||||
index 2ac6bd1..6585aba 100644
|
||||
index 8993cca..b6e11f3 100644
|
||||
--- a/writerperfect/Library_wpftwriter.mk
|
||||
+++ b/writerperfect/Library_wpftwriter.mk
|
||||
@@ -51,7 +51,6 @@ $(eval $(call gb_Library_use_libraries,wpftwriter,\
|
||||
@@ -53,7 +53,6 @@ $(eval $(call gb_Library_use_libraries,wpftwriter,\
|
||||
$(eval $(call gb_Library_use_externals,wpftwriter,\
|
||||
abw \
|
||||
boost_headers \
|
||||
@ -78,7 +77,7 @@ index 2ac6bd1..6585aba 100644
|
||||
epubgen \
|
||||
etonyek \
|
||||
icu_headers \
|
||||
@@ -71,7 +70,6 @@ $(eval $(call gb_Library_use_externals,wpftwriter,\
|
||||
@@ -73,7 +72,6 @@ $(eval $(call gb_Library_use_externals,wpftwriter,\
|
||||
|
||||
$(eval $(call gb_Library_add_exception_objects,wpftwriter,\
|
||||
writerperfect/source/writer/AbiWordImportFilter \
|
||||
@ -141,5 +140,5 @@ index 8ab4366..2720023 100644
|
||||
constructor="org_libreoffice_comp_Writer_PagesImportFilter_get_implementation">
|
||||
<service name="com.sun.star.document.ExtendedTypeDetection"/>
|
||||
--
|
||||
2.24.1
|
||||
2.26.2
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 005507845c65714b78de36a332a5037f2f4f1a51 Mon Sep 17 00:00:00 2001
|
||||
From d6e2cdb0023e422546e3ece5bf9915f7c490ced8 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Fri, 20 Mar 2020 14:24:05 +0000
|
||||
Subject: [PATCH] disble tip-of-the-day dialog by default
|
||||
@ -9,12 +9,12 @@ Change-Id: Ie7f0e3fe3dda12c2ec88c376d2b57419253ae5cf
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
|
||||
index 6d54c81..04484eb 100644
|
||||
index e7c339e2e22e..9aa88ef1aa02 100644
|
||||
--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs
|
||||
+++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
|
||||
@@ -5468,7 +5468,7 @@
|
||||
@@ -5570,7 +5570,7 @@
|
||||
<info>
|
||||
<desc>Determines whether the Tip-Of-The-Day dialog is shown on startup.</desc>
|
||||
<desc>Determines whether the Tip-of-the-Day dialog is shown on startup.</desc>
|
||||
</info>
|
||||
- <value>true</value>
|
||||
+ <value>false</value>
|
||||
|
@ -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
|
||||
|
40
SOURCES/0001-fix-detecting-qrcodegen.patch
Normal file
40
SOURCES/0001-fix-detecting-qrcodegen.patch
Normal file
@ -0,0 +1,40 @@
|
||||
From ddf72365b7e7c67b2580e328e55de6eb988b8787 Mon Sep 17 00:00:00 2001
|
||||
From: Thierry Vignaud <thierry.vignaud@gmail.com>
|
||||
Date: Thu, 30 Jan 2020 11:19:20 +0000
|
||||
Subject: [PATCH] fix detecting qrcodegen
|
||||
|
||||
Change-Id: Ib945b57420083489273cefc5655eb50932b5a3f8
|
||||
---
|
||||
configure.ac | 2 +-
|
||||
cui/source/dialogs/QrCodeGenDialog.cxx | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 388bee3..c061349 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -10092,7 +10092,7 @@ else
|
||||
AC_MSG_RESULT([external])
|
||||
SYSTEM_QRCODEGEN=TRUE
|
||||
AC_LANG_PUSH([C++])
|
||||
- AC_CHECK_HEADER(qrcodegen/QrCode.hpp, [],
|
||||
+ AC_CHECK_HEADER(qrcodegencpp/QrCode.hpp, [],
|
||||
[AC_MSG_ERROR(qrcodegen headers not found.)], [#include <stdexcept>])
|
||||
AC_CHECK_LIB([qrcodegencpp], [main], [:],
|
||||
[ AC_MSG_ERROR(qrcodegen C++ library not found.) ], [])
|
||||
diff --git a/cui/source/dialogs/QrCodeGenDialog.cxx b/cui/source/dialogs/QrCodeGenDialog.cxx
|
||||
index 6277e76..f8dd327 100644
|
||||
--- a/cui/source/dialogs/QrCodeGenDialog.cxx
|
||||
+++ b/cui/source/dialogs/QrCodeGenDialog.cxx
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
#if ENABLE_QRCODEGEN
|
||||
#if defined(SYSTEM_QRCODEGEN)
|
||||
-#include <qrcodegen/QrCode.hpp>
|
||||
+#include <qrcodegencpp/QrCode.hpp>
|
||||
#else
|
||||
#include <QrCode.hpp>
|
||||
#endif
|
||||
--
|
||||
2.26.2
|
||||
|
@ -1,48 +0,0 @@
|
||||
From 5d101a65c31e6c2f8dd0edffe05f69055cbd481c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Mon, 11 May 2020 20:46:43 +0100
|
||||
Subject: [PATCH] limit forms to http[s]
|
||||
|
||||
Change-Id: I3ed0bc626f693ec03f610dc7361f93cad914c9d8
|
||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93993
|
||||
Tested-by: Jenkins
|
||||
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
||||
---
|
||||
forms/source/xforms/submission.cxx | 3 +++
|
||||
forms/source/xforms/submission/submission.hxx | 6 ++++++
|
||||
2 files changed, 9 insertions(+)
|
||||
|
||||
diff --git a/forms/source/xforms/submission.cxx b/forms/source/xforms/submission.cxx
|
||||
index f20b72f11973..7e8517e89481 100644
|
||||
--- a/forms/source/xforms/submission.cxx
|
||||
+++ b/forms/source/xforms/submission.cxx
|
||||
@@ -253,6 +253,9 @@ bool Submission::doSubmit( const Reference< XInteractionHandler >& xHandler )
|
||||
return false;
|
||||
}
|
||||
|
||||
+ if (!xSubmission->IsWebProtocol())
|
||||
+ return false;
|
||||
+
|
||||
CSubmission::SubmissionResult aResult = xSubmission->submit( xHandler );
|
||||
|
||||
if (aResult == CSubmission::SUCCESS)
|
||||
diff --git a/forms/source/xforms/submission/submission.hxx b/forms/source/xforms/submission/submission.hxx
|
||||
index 77d59b1f740e..a459f471ba0d 100644
|
||||
--- a/forms/source/xforms/submission/submission.hxx
|
||||
+++ b/forms/source/xforms/submission/submission.hxx
|
||||
@@ -126,6 +126,12 @@ public:
|
||||
, m_xContext(::comphelper::getProcessComponentContext())
|
||||
{}
|
||||
|
||||
+ bool IsWebProtocol() const
|
||||
+ {
|
||||
+ INetProtocol eProtocol = m_aURLObj.GetProtocol();
|
||||
+ return eProtocol == INetProtocol::Http || eProtocol == INetProtocol::Https;
|
||||
+ }
|
||||
+
|
||||
virtual ~CSubmission() {}
|
||||
|
||||
virtual SubmissionResult submit(const css::uno::Reference< css::task::XInteractionHandler >& ) = 0;
|
||||
--
|
||||
2.25.4
|
||||
|
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
|
||||
|
@ -1,160 +0,0 @@
|
||||
From fd7b2f5fbbee23fc2ab9722fcd605921b7184113 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Thu, 28 Nov 2019 09:50:36 +0000
|
||||
Subject: [PATCH] rhbz#1775767 null deref
|
||||
|
||||
Change-Id: I6941055f9a02b36b5fe621fe89f49f62beb87e67
|
||||
---
|
||||
include/sfx2/sidebar/Theme.hxx | 2 +-
|
||||
sfx2/source/sidebar/SidebarController.cxx | 9 +++--
|
||||
sfx2/source/sidebar/Theme.cxx | 43 ++++++++++++-----------
|
||||
3 files changed, 29 insertions(+), 25 deletions(-)
|
||||
|
||||
diff --git a/include/sfx2/sidebar/Theme.hxx b/include/sfx2/sidebar/Theme.hxx
|
||||
index 16a4798..b7eaf88 100644
|
||||
--- a/include/sfx2/sidebar/Theme.hxx
|
||||
+++ b/include/sfx2/sidebar/Theme.hxx
|
||||
@@ -175,7 +175,7 @@ public:
|
||||
virtual sal_Bool SAL_CALL hasPropertyByName (const OUString& rsName) override;
|
||||
|
||||
private:
|
||||
- static Theme& GetCurrentTheme();
|
||||
+ static Theme* GetCurrentTheme();
|
||||
|
||||
std::vector<Image> maImages;
|
||||
std::vector<Color> maColors;
|
||||
diff --git a/sfx2/source/sidebar/SidebarController.cxx b/sfx2/source/sidebar/SidebarController.cxx
|
||||
index 0cad779..764d4e3 100644
|
||||
--- a/sfx2/source/sidebar/SidebarController.cxx
|
||||
+++ b/sfx2/source/sidebar/SidebarController.cxx
|
||||
@@ -258,9 +258,12 @@ void SAL_CALL SidebarController::disposing()
|
||||
mpParentWindow = nullptr;
|
||||
}
|
||||
|
||||
- Theme::GetPropertySet()->removePropertyChangeListener(
|
||||
- "",
|
||||
- static_cast<css::beans::XPropertyChangeListener*>(this));
|
||||
+ Reference<beans::XPropertySet> xPropertySet = Theme::GetPropertySet();
|
||||
+ if (xPropertySet)
|
||||
+ {
|
||||
+ xPropertySet->removePropertyChangeListener("",
|
||||
+ static_cast<css::beans::XPropertyChangeListener*>(this));
|
||||
+ }
|
||||
|
||||
maContextChangeUpdate.CancelRequest();
|
||||
maAsynchronousDeckSwitch.CancelRequest();
|
||||
diff --git a/sfx2/source/sidebar/Theme.cxx b/sfx2/source/sidebar/Theme.cxx
|
||||
index bc6236d..1ef350e 100644
|
||||
--- a/sfx2/source/sidebar/Theme.cxx
|
||||
+++ b/sfx2/source/sidebar/Theme.cxx
|
||||
@@ -34,9 +34,10 @@ using namespace css::uno;
|
||||
|
||||
namespace sfx2 { namespace sidebar {
|
||||
|
||||
-Theme& Theme::GetCurrentTheme()
|
||||
+Theme* Theme::GetCurrentTheme()
|
||||
{
|
||||
- return SfxGetpApp()->GetSidebarTheme();
|
||||
+ SfxApplication* pApp = SfxGetpApp();
|
||||
+ return pApp ? &pApp->GetSidebarTheme() : nullptr;
|
||||
}
|
||||
|
||||
Theme::Theme()
|
||||
@@ -67,8 +68,8 @@ Image Theme::GetImage (const ThemeItem eItem)
|
||||
const PropertyType eType (GetPropertyType(eItem));
|
||||
OSL_ASSERT(eType==PT_Image);
|
||||
const sal_Int32 nIndex (GetIndex(eItem, eType));
|
||||
- const Theme& rTheme (GetCurrentTheme());
|
||||
- return rTheme.maImages[nIndex];
|
||||
+ const Theme* pTheme (GetCurrentTheme());
|
||||
+ return pTheme->maImages[nIndex];
|
||||
}
|
||||
|
||||
Color Theme::GetColor (const ThemeItem eItem)
|
||||
@@ -76,11 +77,11 @@ Color Theme::GetColor (const ThemeItem eItem)
|
||||
const PropertyType eType (GetPropertyType(eItem));
|
||||
OSL_ASSERT(eType==PT_Color || eType==PT_Paint);
|
||||
const sal_Int32 nIndex (GetIndex(eItem, eType));
|
||||
- const Theme& rTheme (GetCurrentTheme());
|
||||
+ const Theme* pTheme (GetCurrentTheme());
|
||||
if (eType == PT_Color)
|
||||
- return rTheme.maColors[nIndex];
|
||||
+ return pTheme->maColors[nIndex];
|
||||
else if (eType == PT_Paint)
|
||||
- return rTheme.maPaints[nIndex].GetColor();
|
||||
+ return pTheme->maPaints[nIndex].GetColor();
|
||||
else
|
||||
return COL_WHITE;
|
||||
}
|
||||
@@ -90,8 +91,8 @@ const Paint& Theme::GetPaint (const ThemeItem eItem)
|
||||
const PropertyType eType (GetPropertyType(eItem));
|
||||
OSL_ASSERT(eType==PT_Paint);
|
||||
const sal_Int32 nIndex (GetIndex(eItem, eType));
|
||||
- const Theme& rTheme (GetCurrentTheme());
|
||||
- return rTheme.maPaints[nIndex];
|
||||
+ const Theme* pTheme (GetCurrentTheme());
|
||||
+ return pTheme->maPaints[nIndex];
|
||||
}
|
||||
|
||||
const Wallpaper Theme::GetWallpaper (const ThemeItem eItem)
|
||||
@@ -104,8 +105,8 @@ sal_Int32 Theme::GetInteger (const ThemeItem eItem)
|
||||
const PropertyType eType (GetPropertyType(eItem));
|
||||
OSL_ASSERT(eType==PT_Integer);
|
||||
const sal_Int32 nIndex (GetIndex(eItem, eType));
|
||||
- const Theme& rTheme (GetCurrentTheme());
|
||||
- return rTheme.maIntegers[nIndex];
|
||||
+ const Theme* pTheme (GetCurrentTheme());
|
||||
+ return pTheme->maIntegers[nIndex];
|
||||
}
|
||||
|
||||
bool Theme::GetBoolean (const ThemeItem eItem)
|
||||
@@ -113,28 +114,28 @@ bool Theme::GetBoolean (const ThemeItem eItem)
|
||||
const PropertyType eType (GetPropertyType(eItem));
|
||||
OSL_ASSERT(eType==PT_Boolean);
|
||||
const sal_Int32 nIndex (GetIndex(eItem, eType));
|
||||
- const Theme& rTheme (GetCurrentTheme());
|
||||
- return rTheme.maBooleans[nIndex];
|
||||
+ const Theme* pTheme (GetCurrentTheme());
|
||||
+ return pTheme->maBooleans[nIndex];
|
||||
}
|
||||
|
||||
bool Theme::IsHighContrastMode()
|
||||
{
|
||||
- const Theme& rTheme (GetCurrentTheme());
|
||||
- return rTheme.mbIsHighContrastMode;
|
||||
+ const Theme* pTheme (GetCurrentTheme());
|
||||
+ return pTheme->mbIsHighContrastMode;
|
||||
}
|
||||
|
||||
void Theme::HandleDataChange()
|
||||
{
|
||||
- Theme& rTheme (GetCurrentTheme());
|
||||
+ Theme* pTheme (GetCurrentTheme());
|
||||
|
||||
- if ( ! rTheme.mbIsHighContrastModeSetManually)
|
||||
+ if (!pTheme->mbIsHighContrastModeSetManually)
|
||||
{
|
||||
// Do not modify mbIsHighContrastMode when it was manually set.
|
||||
- GetCurrentTheme().mbIsHighContrastMode = Application::GetSettings().GetStyleSettings().GetHighContrastMode();
|
||||
- rTheme.maRawValues[Bool_IsHighContrastModeActive] <<= GetCurrentTheme().mbIsHighContrastMode;
|
||||
+ GetCurrentTheme()->mbIsHighContrastMode = Application::GetSettings().GetStyleSettings().GetHighContrastMode();
|
||||
+ pTheme->maRawValues[Bool_IsHighContrastModeActive] <<= GetCurrentTheme()->mbIsHighContrastMode;
|
||||
}
|
||||
|
||||
- GetCurrentTheme().UpdateTheme();
|
||||
+ GetCurrentTheme()->UpdateTheme();
|
||||
}
|
||||
|
||||
void Theme::InitializeTheme()
|
||||
@@ -369,7 +370,7 @@ void SAL_CALL Theme::disposing()
|
||||
|
||||
Reference<beans::XPropertySet> Theme::GetPropertySet()
|
||||
{
|
||||
- return Reference<beans::XPropertySet>(static_cast<XWeak*>(&GetCurrentTheme()), UNO_QUERY);
|
||||
+ return Reference<beans::XPropertySet>(static_cast<XWeak*>(GetCurrentTheme()), UNO_QUERY);
|
||||
}
|
||||
|
||||
Reference<beans::XPropertySetInfo> SAL_CALL Theme::getPropertySetInfo()
|
||||
--
|
||||
2.20.1
|
||||
|
@ -1,329 +0,0 @@
|
||||
From 2a34d8f44d3f45af7bf2394a93817a6ede75baba Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Fri, 6 Mar 2020 10:11:48 +0000
|
||||
Subject: [PATCH] rhbz#1810732 crash/assert inserting document with initial
|
||||
graphic
|
||||
|
||||
Change-Id: Idae665c926856922a25a1228ed34f3cae96e4bdd
|
||||
---
|
||||
sw/qa/extras/uiwriter/data/rhbz1810732.docx | Bin 0 -> 12107 bytes
|
||||
sw/qa/extras/uiwriter/uiwriter.cxx | 21 ++++++++++++++++++
|
||||
writerfilter/source/dmapper/DomainMapper.cxx | 4 +++-
|
||||
.../source/dmapper/DomainMapper_Impl.cxx | 4 ++++
|
||||
.../source/dmapper/DomainMapper_Impl.hxx | 1 +
|
||||
5 files changed, 29 insertions(+), 1 deletion(-)
|
||||
create mode 100644 sw/qa/extras/uiwriter/data/rhbz1810732.docx
|
||||
|
||||
diff --git a/sw/qa/extras/uiwriter/data/rhbz1810732.docx b/sw/qa/extras/uiwriter/data/rhbz1810732.docx
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..2bf1d574d4911c4d042b56ae0333d3d088c5cb12
|
||||
GIT binary patch
|
||||
literal 12107
|
||||
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
|
||||
|
||||
literal 0
|
||||
HcmV?d00001
|
||||
|
||||
diff --git a/sw/qa/extras/uiwriter/uiwriter.cxx b/sw/qa/extras/uiwriter/uiwriter.cxx
|
||||
index 0a646fd..93339d7 100644
|
||||
--- a/sw/qa/extras/uiwriter/uiwriter.cxx
|
||||
+++ b/sw/qa/extras/uiwriter/uiwriter.cxx
|
||||
@@ -319,6 +319,7 @@ public:
|
||||
void testCreateDocxAnnotation();
|
||||
void testTdf107976();
|
||||
void testTdf108524();
|
||||
+ void testRhbz1810732();
|
||||
#if HAVE_MORE_FONTS
|
||||
void testTableInSection();
|
||||
void testTableInNestedSection();
|
||||
@@ -527,6 +528,7 @@ public:
|
||||
CPPUNIT_TEST(testCreateDocxAnnotation);
|
||||
CPPUNIT_TEST(testTdf107976);
|
||||
CPPUNIT_TEST(testTdf108524);
|
||||
+ CPPUNIT_TEST(testRhbz1810732);
|
||||
#if HAVE_MORE_FONTS
|
||||
CPPUNIT_TEST(testTableInSection);
|
||||
CPPUNIT_TEST(testTableInNestedSection);
|
||||
@@ -6041,6 +6043,25 @@ void SwUiWriterTest::testTdf113877_Standard_style()
|
||||
CPPUNIT_ASSERT_EQUAL(listId1, listId3);
|
||||
}
|
||||
|
||||
+// just care that this does crash/assert
|
||||
+void SwUiWriterTest::testRhbz1810732()
|
||||
+{
|
||||
+ load(DATA_DIRECTORY, "tdf113877_blank.odt");
|
||||
+
|
||||
+ // set a page cursor into the end of the document
|
||||
+ uno::Reference<frame::XModel> xModel(mxComponent, uno::UNO_QUERY);
|
||||
+ uno::Reference<text::XTextViewCursorSupplier> xTextViewCursorSupplier(xModel->getCurrentController(), uno::UNO_QUERY);
|
||||
+ uno::Reference<text::XPageCursor> xCursor(xTextViewCursorSupplier->getViewCursor(), uno::UNO_QUERY);
|
||||
+ xCursor->jumpToEndOfPage();
|
||||
+
|
||||
+ // insert the same document at current cursor position
|
||||
+ {
|
||||
+ const OUString insertFileid = m_directories.getURLFromSrc(DATA_DIRECTORY) + "rhbz1810732.docx";
|
||||
+ uno::Sequence<beans::PropertyValue> aPropertyValues(comphelper::InitPropertySequence({ { "Name", uno::makeAny(insertFileid) } }));
|
||||
+ dispatchCommand(mxComponent, ".uno:InsertDoc", aPropertyValues);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
void SwUiWriterTest::testTdf108524()
|
||||
{
|
||||
createDoc("tdf108524.odt");
|
||||
diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx
|
||||
index 81193ea..4edc51a 100644
|
||||
--- a/writerfilter/source/dmapper/DomainMapper.cxx
|
||||
+++ b/writerfilter/source/dmapper/DomainMapper.cxx
|
||||
@@ -3744,7 +3744,9 @@ uno::Reference < lang::XMultiServiceFactory > const & DomainMapper::GetTextFacto
|
||||
|
||||
uno::Reference< text::XTextRange > DomainMapper::GetCurrentTextRange()
|
||||
{
|
||||
- return m_pImpl->GetTopTextAppend()->getEnd();
|
||||
+ if (m_pImpl->HasTopText())
|
||||
+ return m_pImpl->GetTopTextAppend()->getEnd();
|
||||
+ return m_pImpl->m_xInsertTextRange;
|
||||
}
|
||||
|
||||
OUString DomainMapper::getOrCreateCharStyle( PropertyValueVector_t& rCharProperties, bool bAlwaysCreate )
|
||||
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
|
||||
index 15c6ae130ecd..743c07de9959 100644
|
||||
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
|
||||
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
|
||||
@@ -667,6 +667,10 @@ PropertyMapPtr DomainMapper_Impl::GetTopContextOfType(ContextType eId)
|
||||
return pRet;
|
||||
}
|
||||
|
||||
+bool DomainMapper_Impl::HasTopText() const
|
||||
+{
|
||||
+ return !m_aTextAppendStack.empty();
|
||||
+}
|
||||
|
||||
uno::Reference< text::XTextAppend > const & DomainMapper_Impl::GetTopTextAppend()
|
||||
{
|
||||
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.hxx b/writerfilter/source/dmapper/DomainMapper_Impl.hxx
|
||||
index 456ab3df371e..fac34be0adac 100644
|
||||
--- a/writerfilter/source/dmapper/DomainMapper_Impl.hxx
|
||||
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.hxx
|
||||
@@ -684,6 +684,7 @@ public:
|
||||
}
|
||||
PropertyMapPtr GetTopContextOfType(ContextType eId);
|
||||
|
||||
+ bool HasTopText() const;
|
||||
css::uno::Reference<css::text::XTextAppend> const & GetTopTextAppend();
|
||||
FieldContextPtr const & GetTopFieldContext();
|
||||
|
||||
--
|
||||
2.24.1
|
||||
|
@ -1,26 +0,0 @@
|
||||
From 1a1a8a95d6f36411e1110bf9b6d27b7d58dd685b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Sat, 4 Apr 2020 19:27:41 +0100
|
||||
Subject: [PATCH] rhbz#1820868 deref of null xLayoutManager
|
||||
|
||||
Change-Id: Ib396ef9f5b019b08a181eeb5a8eb983bdb401db4
|
||||
---
|
||||
svx/source/dialog/srchdlg.cxx | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/svx/source/dialog/srchdlg.cxx b/svx/source/dialog/srchdlg.cxx
|
||||
index 1f95fbe21a7c..445bc318718b 100644
|
||||
--- a/svx/source/dialog/srchdlg.cxx
|
||||
+++ b/svx/source/dialog/srchdlg.cxx
|
||||
@@ -2440,6 +2440,8 @@ OUString SvxSearchDialogWrapper::GetSearchLabel()
|
||||
pViewFrame->GetFrame().GetFrameInterface(), css::uno::UNO_QUERY_THROW);
|
||||
css::uno::Reference< css::frame::XLayoutManager > xLayoutManager;
|
||||
xPropSet->getPropertyValue("LayoutManager") >>= xLayoutManager;
|
||||
+ if (!xLayoutManager.is())
|
||||
+ return;
|
||||
css::uno::Reference< css::ui::XUIElement > xUIElement =
|
||||
xLayoutManager->getElement("private:resource/toolbar/findbar");
|
||||
if (!xUIElement.is())
|
||||
--
|
||||
2.25.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,31 +0,0 @@
|
||||
From dc8db8308840516115a3f7cc9397a5c37bf99862 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Tue, 17 Mar 2020 20:14:17 +0000
|
||||
Subject: [PATCH] tdf#131069 always produce utf-8 from gettext
|
||||
|
||||
Change-Id: I311e647f08b4d541825e7790d971b98b5b5bfe40
|
||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90631
|
||||
Tested-by: Jenkins
|
||||
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
||||
---
|
||||
unotools/source/i18n/resmgr.cxx | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/unotools/source/i18n/resmgr.cxx b/unotools/source/i18n/resmgr.cxx
|
||||
index 47069489aa41..786c83df2e7b 100644
|
||||
--- a/unotools/source/i18n/resmgr.cxx
|
||||
+++ b/unotools/source/i18n/resmgr.cxx
|
||||
@@ -130,7 +130,10 @@ namespace Translate
|
||||
OString sPath(OUStringToOString(path, osl_getThreadTextEncoding()));
|
||||
gen.add_messages_path(sPath.getStr());
|
||||
#if defined UNX && !defined MACOSX && !defined IOS && !defined ANDROID
|
||||
+ // allow gettext to find these .mo files e.g. so gtk dialogs can use them
|
||||
bindtextdomain(pPrefixName, sPath.getStr());
|
||||
+ // tdf#131069 gtk, and anything sane, always wants utf-8 strings as output
|
||||
+ bind_textdomain_codeset(pPrefixName, "UTF-8");
|
||||
#endif
|
||||
gen.add_messages_domain(pPrefixName);
|
||||
|
||||
--
|
||||
2.25.4
|
||||
|
@ -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
|
||||
|
@ -1,46 +0,0 @@
|
||||
From 3ee652e1c18186a5de47797aa4b02defcb29c210 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Mon, 11 May 2020 17:02:50 +0100
|
||||
Subject: [PATCH] use the LinkManager persist to determine the Referer
|
||||
|
||||
Change-Id: I4e93878972492a93af368ffa0560412132431a24
|
||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94061
|
||||
Tested-by: Jenkins
|
||||
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
||||
---
|
||||
svx/source/svdraw/svdograf.cxx | 9 ++++++++-
|
||||
1 file changed, 8 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/svx/source/svdraw/svdograf.cxx b/svx/source/svdraw/svdograf.cxx
|
||||
index 7e14a6d3bdd9..53b3e00a35fc 100644
|
||||
--- a/svx/source/svdraw/svdograf.cxx
|
||||
+++ b/svx/source/svdraw/svdograf.cxx
|
||||
@@ -19,8 +19,10 @@
|
||||
|
||||
#include <unotools/streamwrap.hxx>
|
||||
|
||||
+#include <sfx2/docfile.hxx>
|
||||
#include <sfx2/lnkbase.hxx>
|
||||
#include <math.h>
|
||||
+#include <sfx2/objsh.hxx>
|
||||
#include <tools/helpers.hxx>
|
||||
#include <sot/exchange.hxx>
|
||||
#include <sot/formats.hxx>
|
||||
@@ -109,8 +111,13 @@ SdrGraphicLink::SdrGraphicLink(SdrGrafObj& rObj)
|
||||
{
|
||||
sfx2::LinkManager::GetDisplayNames( this, nullptr, &rGrafObj.aFileName, nullptr, &rGrafObj.aFilterName );
|
||||
|
||||
+ OUString sReferer(getReferer());
|
||||
+ SfxObjectShell * sh = pLinkManager->GetPersist();
|
||||
+ if (sh != nullptr && sh->HasName())
|
||||
+ sReferer = sh->GetMedium()->GetName();
|
||||
+
|
||||
Graphic aGraphic;
|
||||
- if (sfx2::LinkManager::GetGraphicFromAny(rMimeType, rValue, getReferer(), aGraphic, nullptr))
|
||||
+ if (sfx2::LinkManager::GetGraphicFromAny(rMimeType, rValue, sReferer, aGraphic, nullptr))
|
||||
{
|
||||
rGrafObj.ImpSetLinkedGraphic(aGraphic);
|
||||
}
|
||||
--
|
||||
2.25.4
|
||||
|
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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
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
|
||||
|
@ -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
|
||||
|
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
|
||||
|
@ -1,16 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQIzBAABCAAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAl6gIF4ACgkQ9DSh76/u
|
||||
rqN6sBAAyAGXPcw8Uyd3KCczDuYBJa+lDkO3RJj5CD+69XFCD4Mp+Wo1pGZWhJdT
|
||||
k1xU/KC+w5BkUP8B5Hf0HVXAt+nwAjZMafhUJssogKr2/2NTrjJ1xovo60/DVZCp
|
||||
eRu/pAudlR1b8B+giwrO0dDKJ1DvbrOUUIbdqXmKQcb2XA0Actyxa5zBcg19/iPN
|
||||
zL3Sv1ExsXTG67pqMU19ch/GfqcaQeH6KZCIpJTLFg8hfY6q3stJ1s7jpxPvPlcY
|
||||
fV9NR3bpO7GGvcOoo2SOr7oV95jCP3G3f/qUTLo7VgVsKIWOUGBPl5MfsHDNIxt+
|
||||
MAmlWaEMjxA82LZ8A1aGu4vvGS9ejytEiKv8tkEfaq6Ixaizh30iZecBoATJFA28
|
||||
CT3yTaHBImvHzot+zDc3TNMKXJjQ5MSTGNLRXN+gNpaa/NUPUgJ4csMgQVjTwwEP
|
||||
2qqSvJB23I+6DVJnxUJC/cHL7SV0JPJ08ccQi4kAAJ+9f45/hTCQsP24RG+ZHIlS
|
||||
wxsS55Py2jHOd7HySYjJzLHxXum9zSMRqDi4qGTi8TTUGJKLiANW/SdlS96UUgjG
|
||||
Xby+jHEvqClWBryygyj7MndlXjOYU4QS1YezIaO6lSFNb4IA+zYAOqfXr2aM2xZK
|
||||
GnhCCvJNFqe0IX+ZAYIjWBMaBTNZ2SJ61C9hM+4WncO0acekaMQ=
|
||||
=+JKG
|
||||
-----END PGP SIGNATURE-----
|
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/urqMFAl6gIGQACgkQ9DSh76/u
|
||||
rqPMoQ/+OpSwyMQ5fy2eaJF+tVRJWroNZw/PmyXpwoinNX2EQNe6f6Nswej4u+YA
|
||||
sYU1QCxmEMBY27LOli9Fa4ll5fAW2X8kThdxDiGPRs9+NMnZv7uEnf5eWvvjh9aT
|
||||
BZLF01BOR798u+ympR6w+6xBRs5sPIqE4Lv7oOafAr5P9nEFAmR7aF9KiIQZWgcK
|
||||
dUUBm8xhfXkd8/2uAFNJQg+SfMYgbipU18mImRorFwU27WLaNLCqrDTPbA76sdf/
|
||||
LvvXDJi8t49x+vvquWgOUND+96u/oESQhXveaRgXYLWUt+pFghw7E3P3BZPf6VOX
|
||||
3hWngv9llNyFccgVMpvUqRSkwbG9TYnWPAXlyYEPF+E6JUe+n3D4UAWn8rJquf6F
|
||||
ZdmHFNuqQR8XB8Vtc0fwsEu+l0MMg/OmF9R7oeYXx6orAe2WtnpLD45G6lxdoGDx
|
||||
JVAPvNAq8ys8Hj8xoIO3AuXR/QHeNdxQi3/VXoC8hjfowhsRfvL4TmvT2TIE+/J6
|
||||
fTyOP1gKeI5aBTYHlIwwTFoPntlOLQ56Kck8YlZMQl6KdaUN1CJRdYjg36HPgXHg
|
||||
cF9ZxR3rT4dxC8qmtnlAl8SWI37uvbiUM1IjyT9dmGSFBHPm5ph2dRaGeWWVE/Z3
|
||||
D3qdN2c0+AW7UXk4r0h5KVfFEvTBsbNUk2jPcup7sf3S8ZSXZ0o=
|
||||
=+b1s
|
||||
-----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/urqMFAl6gIGUACgkQ9DSh76/u
|
||||
rqPyqQ/9GeLFssbtcXE3IO2ZJMTgRQZyfAZ3bP0kI8LG8vYXskHj+HQdpe0qg0ik
|
||||
EKUZWh+gy37TTX88FhZqZ4FErZ67rSBAqW9yvq3+T17+bCSoxynEJzrDy2yhirru
|
||||
XHhkDC1QO0n1aY2Fe7p/Qw0cb5jzxnPyIf55fOH0gwWTq/ZQiA+qRej8TMvTd1vW
|
||||
zaOU9k4zd4rMxdaQg+WpOmwf/QuxK4jPbU9dB5dMFW7JxBYWjgplhH5DI4wVysvn
|
||||
8S3LVgwKB5t0mMK0SAm5jAa9urIDdH9F1ZDnPSsngGQ0PmiSIQnRcfA7SbfZ4IIA
|
||||
SehTcW0rNoqeCv6H+vOX5EIIVehtBun5bJXFZ/y9a3PHxPqDR0xtjF7H95a3+Vrq
|
||||
Yf0/52MowGpgEwPgLWrdLJId0xdVymhKw5k4rZu5l5DEGS0PteGUJ7C50P+HMeAm
|
||||
6RuP+CaSFW31+pEJMYCgMtmUK3s+ru9dj/rUdEDHXi5IUZQ8IEtCLou3Uwzs47Tb
|
||||
kf2m3r9a9jQIhv5Cba2yAluhIbsKC2WmZbRzioPwnHV7ULUDy+E/Pz1tEQ0Vy4/M
|
||||
Xed4RDoukZRy8VzsVqyneNOTMia22P1oy1xXtNzQ/CA+6vByQrByGTnt3ro3/frm
|
||||
jwbFTSyuYgWuX0l++nxjt6dSVxwczouqFjR0UJU/dADnxsHqMc8=
|
||||
=FOsh
|
||||
-----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-----
|
@ -3,7 +3,7 @@
|
||||
%global _python_bytecompile_extra 1
|
||||
|
||||
# download path contains version without the last (fourth) digit
|
||||
%global libo_version 6.3.6
|
||||
%global libo_version 6.4.7
|
||||
# Should contain .alphaX / .betaX, if this is pre-release (actually
|
||||
# pre-RC) version. The pre-release string is part of tarball file names,
|
||||
# so we need a way to define it easily at one place.
|
||||
@ -54,7 +54,7 @@ Summary: Free Software Productivity Suite
|
||||
Name: libreoffice
|
||||
Epoch: 1
|
||||
Version: %{libo_version}.2
|
||||
Release: 2%{?libo_prerelease}%{?dist}
|
||||
Release: 5%{?libo_prerelease}%{?dist}
|
||||
License: (MPLv1.1 or LGPLv3+) and LGPLv3 and LGPLv2+ and BSD and (MPLv1.1 or GPLv2 or LGPLv2 or Netscape) and Public Domain and ASL 2.0 and MPLv2.0 and CC0
|
||||
URL: http://www.libreoffice.org/
|
||||
|
||||
@ -77,7 +77,7 @@ Source11: %{external_url}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip
|
||||
#backwards compatability.
|
||||
Source12: %{external_url}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
|
||||
Source13: %{external_url}/884ed41809687c3e168fc7c19b16585149ff058eca79acbf3ee784f6630704cc-opens___.ttf
|
||||
%global bundling_options %{?bundling_options} --without-system-hsqldb --disable-libnumbertext
|
||||
%global bundling_options %{?bundling_options} --without-system-hsqldb
|
||||
|
||||
Provides: bundled(hsqldb) = 1.8.0
|
||||
%if 0%{?fedora}
|
||||
@ -140,8 +140,6 @@ BuildRequires: pkgconfig(epoxy)
|
||||
BuildRequires: pkgconfig(evolution-data-server-1.2)
|
||||
BuildRequires: pkgconfig(expat)
|
||||
BuildRequires: pkgconfig(freetype2)
|
||||
BuildRequires: pkgconfig(glew) >= 1.10.0
|
||||
BuildRequires: pkgconfig(glu)
|
||||
BuildRequires: pkgconfig(gobject-introspection-1.0)
|
||||
BuildRequires: pkgconfig(gstreamer-1.0)
|
||||
BuildRequires: pkgconfig(gstreamer-plugins-base-1.0)
|
||||
@ -209,12 +207,15 @@ BuildRequires: pkgconfig(harfbuzz)
|
||||
BuildRequires: pkgconfig(libeot)
|
||||
BuildRequires: pkgconfig(libepubgen-0.1)
|
||||
BuildRequires: pkgconfig(libqxp-0.0)
|
||||
BuildRequires: pkgconfig(liborcus-0.14)
|
||||
BuildRequires: pkgconfig(mdds-1.4)
|
||||
BuildRequires: pkgconfig(liborcus-0.15)
|
||||
BuildRequires: pkgconfig(mdds-1.5)
|
||||
BuildRequires: libnumbertext-devel
|
||||
|
||||
# java stuff
|
||||
BuildRequires: ant
|
||||
%if 0%{?fedora}
|
||||
BuildRequires: bsh
|
||||
%endif
|
||||
BuildRequires: java-devel
|
||||
BuildRequires: junit
|
||||
BuildRequires: pentaho-reporting-flow-engine
|
||||
@ -237,20 +238,35 @@ Requires: %{name}-emailmerge%{?_isa} = %{epoch}:%{version}-%{release}
|
||||
# not upstreamed: upstream wants an automatic restart after a crash; we
|
||||
# want a nice abrt report
|
||||
Patch0: 0001-don-t-suppress-crashes.patch
|
||||
# disable tip-of-the-day dialog by default
|
||||
Patch1: 0001-disble-tip-of-the-day-dialog-by-default.patch
|
||||
# rhbz#1736810 disable opencl by default again
|
||||
Patch2: 0001-Resolves-rhbz-1432468-disable-opencl-by-default.patch
|
||||
Patch3: 0001-rhbz-1775767-null-deref.patch
|
||||
Patch4: 0001-Adapt-SAL_WARN-to-C-20-deleted-ostream-for-sal_Unico.patch
|
||||
Patch5: 0001-rhbz-1810732-crash-assert-inserting-document-with-in.patch
|
||||
Patch6: 0001-AppendInfoBar-can-return-null.patch
|
||||
Patch7: 0001-General-Internet-Error-dialog-appearing-on-gio-mount.patch
|
||||
Patch8: 0001-rhbz-1820868-deref-of-null-xLayoutManager.patch
|
||||
Patch9: 0001-Resolves-tdf-132288-don-t-merge-adjacent-properties-.patch
|
||||
Patch10: 0001-tdf-131069-always-produce-utf-8-from-gettext.patch
|
||||
Patch11: 0001-Keep-order-of-GDK-input-events-intact.patch
|
||||
Patch12: 0001-Resolves-tdf-133411-drop-CONTENT_FLOWS_TO-from-dialo.patch
|
||||
Patch13: 0001-limit-forms-to-http-s.patch
|
||||
Patch14: 0001-use-the-LinkManager-persist-to-determine-the-Referer.patch
|
||||
# backported
|
||||
Patch3: 0001-replace-boost-bimap-in-sdext-pdfimport.patch
|
||||
Patch4: 0001-fix-detecting-qrcodegen.patch
|
||||
Patch5: 0001-Flatpak-Add-app-bin-libreoffice-app-libreoffice-prog.patch
|
||||
Patch6: 0001-Restructure-solenv-bin-assemble-flatpak.sh.patch
|
||||
Patch7: 0001-Related-tdf-127782-resize-the-print-dialog-to-its-op.patch
|
||||
Patch8: 0001-rhbz-1870501-crash-on-reexport-of-odg.patch
|
||||
Patch9: 0001-export-HYPERLINK-target-in-html-clipboard-export.patch
|
||||
Patch10: 0001-use-gdk_wayland_window_set_application_id-when-it-be.patch
|
||||
Patch11: 0001-tdf-137209-unparent-widgets-in-fragment-dtor.patch
|
||||
Patch12: 0001-rhbz-1891326-suggest-package-install-of-the-most-app.patch
|
||||
Patch13: 0001-0.5.1-is-sufficient.patch
|
||||
Patch14: 0001-munge-cmis-headers-to-remove-exception-specs.patch
|
||||
Patch15: 0001-1.2.25-is-sufficient.patch
|
||||
Patch16: 0001-replace-Palatino-Linotype-with-Liberation-Serif.patch
|
||||
Patch17: 0001-Revert-tdf-69060-lock-refreshing-font-data-when-load.patch
|
||||
Patch18: 0001-Resolves-rhbz-1893846-if-last-close-had-insert-index.patch
|
||||
Patch19: 0002-resource-leak.patch
|
||||
Patch20: 0003-copy_paste_error-data1-looks-like-a-copy-paste-error.patch
|
||||
Patch21: 0004-Fix-use-of-uninitialized-SwFEShell-bTableCopied.patch
|
||||
Patch22: 0005-cid-1460969-Uninitialized-scalar-field.patch
|
||||
Patch23: 0006-tdf-137897-scRetypePassInputDlg-re-allow-password-re.patch
|
||||
Patch24: 0007-tdf-137982-m_xFrame-is-already-disposed.patch
|
||||
Patch25: 0008-Resolves-tdf-137215-restore-original-modality-before.patch
|
||||
Patch26: 0001-rhbz-1882616-move-cursor-one-step-at-a-time-in-the-d.patch
|
||||
|
||||
%if 0%{?rhel}
|
||||
# not upstreamed
|
||||
@ -286,10 +302,8 @@ Summary: All import / export filters
|
||||
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release}
|
||||
Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release}
|
||||
Requires: %{name}-calc%{?_isa} = %{epoch}:%{version}-%{release}
|
||||
Requires: %{name}-draw%{?_isa} = %{epoch}:%{version}-%{release}
|
||||
Requires: %{name}-graphicfilter%{?_isa} = %{epoch}:%{version}-%{release}
|
||||
Requires: %{name}-impress%{?_isa} = %{epoch}:%{version}-%{release}
|
||||
Requires: %{name}-math%{?_isa} = %{epoch}:%{version}-%{release}
|
||||
Requires: %{name}-writer%{?_isa} = %{epoch}:%{version}-%{release}
|
||||
Requires: %{name}-xsltfilter%{?_isa} = %{epoch}:%{version}-%{release}
|
||||
|
||||
@ -310,6 +324,7 @@ Requires: %{name}-langpack-en = %{epoch}:%{version}-%{release}
|
||||
# rhbz#949106 libreoffice-core drags in both openjdk 1.7.0 and 1.8.0
|
||||
Requires: java-headless >= 1:1.6
|
||||
Obsoletes: libreoffice-headless < 1:4.4.0.0
|
||||
Obsoletes: libreoffice-math-debuginfo < 1:6.4.7.2
|
||||
Provides: libreoffice-headless = %{epoch}:%{version}-%{release}
|
||||
Provides: libreoffice-headless%{?_isa} = %{epoch}:%{version}-%{release}
|
||||
%if 0%{?rhel}
|
||||
@ -404,7 +419,6 @@ programming model when more complex, nonlinear programming is required.
|
||||
%package ogltrans
|
||||
Summary: 3D OpenGL slide transitions for LibreOffice
|
||||
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release}
|
||||
Requires: %{name}-impress%{?_isa} = %{epoch}:%{version}-%{release}
|
||||
Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release}
|
||||
|
||||
%description ogltrans
|
||||
@ -414,7 +428,6 @@ Requires good quality 3D support for your graphics card for best experience.
|
||||
%package pdfimport
|
||||
Summary: PDF Importer for LibreOffice Draw
|
||||
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release}
|
||||
Requires: %{name}-draw%{?_isa} = %{epoch}:%{version}-%{release}
|
||||
Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release}
|
||||
|
||||
%description pdfimport
|
||||
@ -476,6 +489,7 @@ The LibreOffice Drawing Application.
|
||||
Summary: LibreOffice Presentation Application
|
||||
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release}
|
||||
Requires: %{name}-data = %{epoch}:%{version}-%{release}
|
||||
Requires: %{name}-ogltrans%{?_isa} = %{epoch}:%{version}-%{release}
|
||||
Requires: %{name}-pdfimport%{?_isa} = %{epoch}:%{version}-%{release}
|
||||
Requires: %{name}-pyuno%{?_isa} = %{epoch}:%{version}-%{release}
|
||||
Requires: %{name}-graphicfilter%{?_isa} = %{epoch}:%{version}-%{release}
|
||||
@ -605,6 +619,7 @@ Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release}
|
||||
Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release}
|
||||
Requires: gstreamer1(element-gtksink)%{?mark64}
|
||||
Obsoletes: libreoffice-gtk2 < 1:6.2.0.0
|
||||
Obsoletes: libreoffice-gtk2-debuginfo < 1:6.2.0.0
|
||||
Supplements: (%{name}-core%{?_isa} and gtk3%{?_isa})
|
||||
|
||||
%description gtk3
|
||||
@ -740,7 +755,11 @@ This package provides gdb pretty printers for package %{name}.
|
||||
Summary: %{langname} language pack for LibreOffice \
|
||||
Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release} \
|
||||
%{-a:Requires: autocorr-%{-a*}}%{!-a:%{-A:Requires: autocorr-%{lang}}} \
|
||||
%if 0%{?rhel} && 0%{?rhel} < 9 \
|
||||
%{-f:Requires: font(:lang=%{-f*})}%{!-f:%{-F:Requires: font(:lang=%{lang})}} \
|
||||
%else \
|
||||
%{-f:Recommends: langpacks-%{-f*}}%{!-f:%{-F:Recommends: langpacks-%{lang}}} \
|
||||
%endif \
|
||||
%{-h:Requires: hunspell-%{-h*}}%{!-h:%{-H:Requires: hunspell-%{lang}}} \
|
||||
%{-m:Requires: mythes-%{-m*}}%{!-m:%{-M:Requires: mythes-%{lang}}} \
|
||||
%{-y:Requires: hyphen-%{-y*}}%{!-y:%{-Y:Requires: hyphen-%{lang}}} \
|
||||
@ -811,84 +830,85 @@ Rules for auto-correcting common %{langname} typing errors. \
|
||||
|
||||
%if %{with langpacks}
|
||||
|
||||
%langpack -l af -n Afrikaans -F -H -Y -A
|
||||
%langpack -l ar -n Arabic -F -H -s ctl -T
|
||||
%langpack -l as -n Assamese -F -H -Y
|
||||
%langpack -l af -n Afrikaans -F -H -Y -A -X
|
||||
%langpack -l ar -n Arabic -F -H -s ctl -T -X
|
||||
%langpack -l as -n Assamese -F -H -Y -X
|
||||
%langpack -l bg -n Bulgarian -F -H -Y -M -A -T -X
|
||||
%langpack -l bn -n Bengali -F -H -Y -T
|
||||
%langpack -l br -n Breton -F -H
|
||||
%langpack -l bn -n Bengali -F -H -Y -T -X
|
||||
%langpack -l br -n Breton -F -H -X
|
||||
%langpack -l ca -n Catalan -F -H -Y -M -A -T -X
|
||||
%langpack -l cs -n Czech -F -H -Y -M -A -T -X
|
||||
%langpack -l cy -n Welsh -F -H -Y
|
||||
%langpack -l cy -n Welsh -F -H -Y -X
|
||||
%langpack -l da -n Danish -F -H -Y -M -A -T -X
|
||||
%langpack -l de -n German -F -H -Y -M -A -T -X
|
||||
%langpack -l dz -n Dzongkha -F -s ctl -T
|
||||
%langpack -l el -n Greek -F -H -Y -M -T
|
||||
%langpack -l dz -n Dzongkha -F -s ctl -T -X
|
||||
%langpack -l el -n Greek -F -H -Y -M -T -X
|
||||
%langpack -l es -n Spanish -F -H -Y -M -A -T -X
|
||||
%langpack -l et -n Estonian -F -H -Y -T
|
||||
%langpack -l eu -n Basque -F -H -Y -T
|
||||
%langpack -l et -n Estonian -F -H -Y -T -X
|
||||
%langpack -l eu -n Basque -F -H -Y -T -X
|
||||
%langpack -l fa -n Farsi -A -H -Y -s ctl -X
|
||||
%langpack -l fi -n Finnish -F -r libreoffice-voikko -A -T -X
|
||||
%langpack -l fr -n French -F -H -Y -M -A -T -X
|
||||
%langpack -l ga -n Irish -F -H -Y -M -A
|
||||
%langpack -l gl -n Galician -F -H -Y -T
|
||||
%langpack -l gu -n Gujarati -F -H -Y -s ctl -T
|
||||
%langpack -l he -n Hebrew -F -H -s ctl -T
|
||||
%langpack -l ga -n Irish -F -H -Y -M -A -X
|
||||
%langpack -l gl -n Galician -F -H -Y -T -X
|
||||
%langpack -l gu -n Gujarati -F -H -Y -s ctl -T -X
|
||||
%langpack -l he -n Hebrew -F -H -s ctl -T -X
|
||||
%langpack -l hi -n Hindi -F -H -Y -s ctl -T -X
|
||||
%langpack -l hr -n Croatian -F -H -Y -A -T -X
|
||||
%langpack -l hu -n Hungarian -F -H -Y -M -A -T -X
|
||||
%{baseinstdir}/share/wordbook/hu_AkH11.dic
|
||||
%langpack -l id -n Indonesian -F -H -Y -T
|
||||
%langpack -l id -n Indonesian -F -H -Y -T -X
|
||||
%langpack -l it -n Italian -F -H -Y -M -A -T -X
|
||||
%langpack -l ja -n Japanese -F -A -s cjk -T -X
|
||||
%langpack -l kk -n Kazakh -F -H
|
||||
%langpack -l kn -n Kannada -F -H -Y
|
||||
%langpack -l kk -n Kazakh -F -H -X
|
||||
%langpack -l kn -n Kannada -F -H -Y -X
|
||||
%langpack -l ko -n Korean -F -H -A -s cjk -T -X
|
||||
%langpack -l lt -n Lithuanian -F -H -Y -A -T -X
|
||||
%langpack -l lv -n Latvian -F -H -Y -M -T
|
||||
%langpack -l mai -n Maithili -F
|
||||
%langpack -l ml -n Malayalam -F -H -Y
|
||||
%langpack -l mr -n Marathi -F -H -Y
|
||||
%langpack -l nb -n Bokmal -F -H -Y -M -T
|
||||
%langpack -l nl -n Dutch -F -H -Y -M -A -T -X
|
||||
%langpack -l lv -n Latvian -F -H -Y -M -T -X
|
||||
%langpack -l mai -n Maithili -F -X
|
||||
%langpack -l ml -n Malayalam -F -H -Y -X
|
||||
%langpack -l mr -n Marathi -F -H -Y -X
|
||||
%langpack -l nb -n Bokmal -F -H -Y -M -T -X
|
||||
%langpack -l nl -n Dutch -F -H -Y -M -A -T -X -X
|
||||
%langpack -l nn -n Nynorsk -F -H -Y -M -T
|
||||
%define langpack_lang Southern Ndebele
|
||||
%langpack -l nr -n %{langpack_lang} -F -H
|
||||
%langpack -l nr -n %{langpack_lang} -F -H -X
|
||||
%define langpack_lang Northern Sotho
|
||||
%langpack -l nso -n %{langpack_lang} -F -H
|
||||
%langpack -l or -n Odia -F -H -Y -s ctl
|
||||
%langpack -l pa -n Punjabi -F -H -Y -s ctl -L pa-IN -g pa_IN
|
||||
%langpack -l nso -n %{langpack_lang} -F -H -X
|
||||
%langpack -l or -n Odia -F -H -Y -s ctl -X
|
||||
%langpack -l pa -n Punjabi -F -H -Y -s ctl -L pa-IN -g pa_IN -X
|
||||
%langpack -l pl -n Polish -F -H -Y -M -A -T -X
|
||||
%define langpack_lang Brazilian Portuguese
|
||||
%langpack -l pt-BR -n %{langpack_lang} -f pt -h pt -y pt -m pt -a pt -p pt_BR -T -X -g pt_BR
|
||||
%langpack -l pt-PT -n Portuguese -f pt -h pt -y pt -m pt -a pt -p pt_PT -T -L pt -x pt
|
||||
%langpack -l ro -n Romanian -A -F -H -Y -M -T -X
|
||||
%langpack -l ru -n Russian -F -H -Y -M -A -T -X
|
||||
%langpack -l si -n Sinhalese -F -H -S ctl -T
|
||||
%langpack -l si -n Sinhalese -F -H -S ctl -T -X
|
||||
%langpack -l sk -n Slovak -F -H -Y -M -A -T -X
|
||||
%langpack -l sl -n Slovenian -F -H -Y -M -A -T -X
|
||||
%{baseinstdir}/share/wordbook/sl.dic
|
||||
|
||||
#rhbz#452379 clump serbian translations together
|
||||
%langpack -l sr -n Serbian -F -H -Y -A -i sr-Latn -k sr@latin -j sr_Latn
|
||||
%langpack -l ss -n Swati -F -H
|
||||
%langpack -l sr -n Serbian -F -H -Y -A -i sr-Latn -k sr@latin -j sr_Latn -x sr*
|
||||
%langpack -l ss -n Swati -F -H -X
|
||||
%define langpack_lang Southern Sotho
|
||||
%langpack -l st -n %{langpack_lang} -F -H
|
||||
# note that langpacks-st seems to be missing as of the time of writing, so no -F here
|
||||
%langpack -l st -n %{langpack_lang} -H -X
|
||||
%langpack -l sv -n Swedish -F -H -Y -M -A -T -X
|
||||
%langpack -l ta -n Tamil -F -H -Y -s ctl -T
|
||||
%langpack -l te -n Telugu -F -H -Y
|
||||
%langpack -l th -n Thai -F -H -s ctl -c ctlseqcheck_th
|
||||
%langpack -l tn -n Tswana -F -H
|
||||
%langpack -l ta -n Tamil -F -H -Y -s ctl -T -X
|
||||
%langpack -l te -n Telugu -F -H -Y -X
|
||||
%langpack -l th -n Thai -F -H -s ctl -c ctlseqcheck_th -X
|
||||
%langpack -l tn -n Tswana -F -H -X
|
||||
%langpack -l tr -n Turkish -F -A -T -X
|
||||
%langpack -l ts -n Tsonga -F -H
|
||||
%langpack -l uk -n Ukrainian -F -H -Y -M -T
|
||||
%langpack -l ve -n Venda -F -H
|
||||
%langpack -l xh -n Xhosa -F -H
|
||||
%langpack -l ts -n Tsonga -F -H -X
|
||||
%langpack -l uk -n Ukrainian -F -H -Y -M -T -X
|
||||
%langpack -l ve -n Venda -F -H -X
|
||||
%langpack -l xh -n Xhosa -F -H -X
|
||||
%define langpack_lang Simplified Chinese
|
||||
%langpack -l zh-Hans -n %{langpack_lang} -f zh-cn -a zh -p zh_CN -s cjk -T -L zh-CN -x zh-CN -g zh_CN
|
||||
%define langpack_lang Traditional Chinese
|
||||
%langpack -l zh-Hant -n %{langpack_lang} -f zh-tw -a zh -p zh_TW -s cjk -T -L zh-TW -x zh-TW -g zh_TW
|
||||
%langpack -l zu -n Zulu -F -H -Y
|
||||
%langpack -l zu -n Zulu -F -H -Y -X
|
||||
%undefine langpack_lang
|
||||
|
||||
%endif
|
||||
@ -998,6 +1018,8 @@ sed -i -e /CppunitTest_sw_ooxmlexport10/d sw/Module_sw.mk
|
||||
sed -i -e /CppunitTest_sw_uiwriter/d sw/Module_sw.mk
|
||||
sed -i -e /CppunitTest_sc_subsequent_filters_test/d sc/Module_sc.mk
|
||||
%endif
|
||||
sed -i -e /CppunitTest_sal_osl/d sal/Module_sal.mk
|
||||
|
||||
git commit -q -a -m 'temporarily disable failing tests'
|
||||
|
||||
# Seeing .git dir makes some of the build tools change their behavior.
|
||||
@ -1042,7 +1064,7 @@ SMP_MFLAGS=%{?_smp_mflags}
|
||||
SMP_MFLAGS=$[${SMP_MFLAGS/-j/}]
|
||||
|
||||
%if 0%{?flatpak}
|
||||
%define flatpakoptions --with-boost-libdir=%{_libdir} --with-jfreereport-jar=/app/share/java/flow-engine.jar --with-libbase-jar=/app/share/java/libbase.jar --with-libfonts-jar=/app/share/java/libfonts.jar --with-libformula-jar=/app/share/java/libformula.jar --with-liblayout-jar=/app/share/java/liblayout.jar --with-libloader-jar=/app/share/java/libloader.jar --with-librepository-jar=/app/share/java/librepository.jar --with-libserializer-jar=/app/share/java/libserializer.jar --with-libxml-jar=/app/share/java/libxml.jar FIREBIRDCONFIG=%{_libdir}/fb_config QT4INC=%{_includedir}
|
||||
%define flatpakoptions --with-boost-libdir=%{_libdir} --with-beanshell-jar=/app/share/java/bsh.jar --with-commons-logging-jar=/app/share/java/commons-logging.jar --with-external-dict-dir=/app/share/myspell --with-external-hyph-dir=/app/share/hyphen --with-external-thes-dir=/app/share/mythes --with-flute-jar=/app/share/java/flute.jar --with-jdk-home=/app/lib/jvm/java-1.8.0-openjdk --with-jfreereport-jar=/app/share/java/flow-engine.jar --with-libbase-jar=/app/share/java/libbase.jar --with-libfonts-jar=/app/share/java/libfonts.jar --with-libformula-jar=/app/share/java/libformula.jar --with-liblayout-jar=/app/share/java/liblayout.jar --with-libloader-jar=/app/share/java/libloader.jar --with-librepository-jar=/app/share/java/librepository.jar --with-libserializer-jar=/app/share/java/libserializer.jar --with-libxml-jar=/app/share/java/libxml.jar --with-sac-jar=/app/share/java/sac.jar FIREBIRDCONFIG=%{_libdir}/fb_config QT4INC=%{_includedir}
|
||||
%endif
|
||||
|
||||
# TODO: enable coinmp?
|
||||
@ -1057,8 +1079,7 @@ touch autogen.lastrun
|
||||
--disable-openssl \
|
||||
--disable-firebird-sdbc \
|
||||
--disable-pdfium \
|
||||
--disable-systray \
|
||||
--disable-gtk \
|
||||
--disable-qrcodegen \
|
||||
--enable-dconf \
|
||||
--enable-evolution2 \
|
||||
--enable-ext-nlpsolver \
|
||||
@ -1105,7 +1126,7 @@ pushd $WORKDIR/CustomTarget/sysui/share/libreoffice
|
||||
popd
|
||||
mkdir $WORKDIR/os-integration
|
||||
cp -pr $WORKDIR/CustomTarget/sysui/share/output/usr/share/* $WORKDIR/os-integration
|
||||
cp -pr $WORKDIR/CustomTarget/sysui/share/output/girepository-1.0/LOKDocView-%{girapiversion}.* $WORKDIR/os-integration
|
||||
cp -pr $WORKDIR/CustomTarget/sysui/share/libreoffice/LOKDocView-%{girapiversion}.* $WORKDIR/os-integration
|
||||
|
||||
%if %{with smallbuild}
|
||||
# remove the biggest offenders
|
||||
@ -1314,8 +1335,8 @@ for file in *.desktop; do
|
||||
-e "s/$PRODUCTVERSIONSHORT//g" \
|
||||
$file
|
||||
done
|
||||
# rhbz#156677 / rhbz#186515 do not show math and startcenter
|
||||
sed -i -e /NoDisplay/s/false/true/ math.desktop startcenter.desktop
|
||||
# rhbz#186515 do not show startcenter
|
||||
sed -i -e /NoDisplay/s/false/true/ startcenter.desktop
|
||||
# relocate the .desktop and icon files
|
||||
install -m 0755 -d %{buildroot}%{_datadir}/applications
|
||||
for app in base calc draw impress math startcenter writer xsltfilter; do
|
||||
@ -1324,6 +1345,13 @@ for app in base calc draw impress math startcenter writer xsltfilter; do
|
||||
install -m 0644 -p $app.desktop %{buildroot}%{_datadir}/applications/libreoffice-$app.desktop
|
||||
done
|
||||
popd
|
||||
%if 0%{?flatpak}
|
||||
# Transform the libreoffice-*.desktop files into
|
||||
# org.libreoffice.LibreOffice.*.desktop ones:
|
||||
solenv/bin/assemble-flatpak-desktop.sh %{buildroot}%{_datadir}/applications/ \
|
||||
%{buildroot}%{_datadir}/applications/
|
||||
rm %{buildroot}%{_datadir}/applications/libreoffice-*.desktop
|
||||
%endif
|
||||
|
||||
pushd $WORKDIR/os-integration
|
||||
#get rid of the gnome icons and other unneeded files
|
||||
@ -1344,7 +1372,7 @@ install -m 0644 -p mime/packages/libreoffice$PRODUCTVERSION.xml %{buildroot}%{_d
|
||||
|
||||
%if 0%{?fedora}
|
||||
# restrict abipkgdiff to shared objects that actually have a stable ABI
|
||||
for pkg in core base officebean ogltrans pdfimport calc writer impress math graphicfilter postgresql ure pyuno x11 gtk3 kde5 libreofficekit; do
|
||||
for pkg in core base officebean ogltrans pdfimport calc writer impress graphicfilter postgresql ure pyuno x11 gtk3 kde5 libreofficekit; do
|
||||
cat > %{buildroot}%{baseinstdir}/program/${pkg}.abignore << _EOF
|
||||
[suppress_file]
|
||||
file_name_not_regexp=.*\.so\.[0-9]+
|
||||
@ -1356,7 +1384,7 @@ done
|
||||
install -m 0755 -d %{buildroot}%{_libdir}/girepository-1.0
|
||||
install -m 0644 -p LOKDocView-%{girapiversion}.typelib %{buildroot}%{_libdir}/girepository-1.0/LOKDocView-%{girapiversion}.typelib
|
||||
install -m 0755 -d %{buildroot}%{_libdir}/gir-1.0
|
||||
install -m 0644 -p gir-1.0/LOKDocView-%{girapiversion}.gir %{buildroot}%{_libdir}/gir-1.0/LOKDocView-%{girapiversion}.gir
|
||||
install -m 0644 -p LOKDocView-%{girapiversion}.gir %{buildroot}%{_libdir}/gir-1.0/LOKDocView-%{girapiversion}.gir
|
||||
mv %{buildroot}%{baseinstdir}/program/liblibreofficekitgtk.so %{buildroot}%{_libdir}
|
||||
popd
|
||||
|
||||
@ -1395,6 +1423,19 @@ install -m 0644 -p %{SOURCE46} %{buildroot}%{_datadir}/icons/hicolor/symbolic/ap
|
||||
install -m 0644 -p %{SOURCE47} %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps
|
||||
install -m 0644 -p %{SOURCE48} %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps
|
||||
|
||||
%if 0%{?flatpak}
|
||||
# Duplicate icons/*/*/apps/libreoffice-* as
|
||||
# icons/*/*/apps/org.libreoffice.LibreOffice.* (so they end up "with both their
|
||||
# original libreoffice-* name as well as the org.libreoffice name needed by
|
||||
# Flatpak, which fixes the window icons", see <https://github.com/flathub/
|
||||
# org.libreoffice.LibreOffice/commit/945f6caad87658b1df1e8918bd5f64939058ab7f>
|
||||
# "clean up desktop integration"):
|
||||
for i in %{buildroot}%{_datadir}/icons/*/*/apps/libreoffice-*; do
|
||||
cp -a "$i" \
|
||||
"$(dirname "$i")"/org.libreoffice.LibreOffice."${i##*/apps/libreoffice-}"
|
||||
done
|
||||
%endif
|
||||
|
||||
# install man pages
|
||||
install -m 0755 -d %{buildroot}%{_mandir}/man1
|
||||
install -m 0644 -p sysui/desktop/man/*.1 %{buildroot}%{_mandir}/man1
|
||||
@ -1423,6 +1464,26 @@ appstream-util replace-screenshots %{buildroot}%{_datadir}/metainfo/libreoffice-
|
||||
appstream-util replace-screenshots %{buildroot}%{_datadir}/metainfo/libreoffice-impress.appdata.xml \
|
||||
https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/libreoffice-impress/a.png
|
||||
%endif
|
||||
%if 0%{?flatpak}
|
||||
# Assemble the libreoffice-*.appdata.xml files into a single
|
||||
# org.libreoffice.LibreOffice.appdata.xml; first create the single file:
|
||||
solenv/bin/assemble-flatpak-appdata-step1.sh \
|
||||
%{buildroot}%{_datadir}/metainfo/ 0
|
||||
%if 0%{?fedora}
|
||||
# ...then update the screenshots in the single file (see above):
|
||||
appstream-util replace-screenshots \
|
||||
%{buildroot}%{_datadir}/metainfo/org.libreoffice.LibreOffice.appdata.xml \
|
||||
https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/libreoffice-writer/a.png \
|
||||
https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/libreoffice-writer/b.png \
|
||||
https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/libreoffice-calc/a.png \
|
||||
https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/libreoffice-draw/a.png \
|
||||
https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/libreoffice-impress/a.png
|
||||
%endif
|
||||
# ...then append the original files to the single file:
|
||||
solenv/bin/assemble-flatpak-appdata-step2.sh \
|
||||
%{buildroot}%{_datadir}/metainfo/ %{buildroot}%{_datadir}/metainfo/
|
||||
rm %{buildroot}%{_datadir}/metainfo/libreoffice-*.appdata.xml
|
||||
%endif
|
||||
|
||||
# rhbz#1247399 - move stable API jars to noarch java location
|
||||
install -m 0755 -d %{buildroot}%{_javadir}/%{name}
|
||||
@ -1437,8 +1498,8 @@ for jar in %{buildroot}%{baseinstdir}/program/classes/*.jar; do
|
||||
done
|
||||
|
||||
%check
|
||||
%ifnarch ppc64 s390x aarch64
|
||||
# make
|
||||
%ifnarch ppc64 s390x aarch64 armv7hl
|
||||
make
|
||||
# we don't need this anymore
|
||||
rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar
|
||||
%endif
|
||||
@ -1503,7 +1564,7 @@ rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar
|
||||
%{baseinstdir}/program/libdbahsqllo.so
|
||||
%{baseinstdir}/program/libdbaselo.so
|
||||
%{baseinstdir}/program/libdbaxmllo.so
|
||||
%{baseinstdir}/program/libdbmmlo.so
|
||||
#{baseinstdir}/program/libdbmmlo.so
|
||||
%{baseinstdir}/program/libdbpool2.so
|
||||
%{baseinstdir}/program/libdbtoolslo.so
|
||||
%{baseinstdir}/program/libdbulo.so
|
||||
@ -1609,6 +1670,8 @@ rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar
|
||||
%{baseinstdir}/program/services/services.rdb
|
||||
%{baseinstdir}/program/libsimplecanvaslo.so
|
||||
%{baseinstdir}/program/libslideshowlo.so
|
||||
%{baseinstdir}/program/libsmlo.so
|
||||
%{baseinstdir}/program/libsmdlo.so
|
||||
%{baseinstdir}/program/libsofficeapp.so
|
||||
%{baseinstdir}/program/libstringresourcelo.so
|
||||
%{baseinstdir}/program/libsysshlo.so
|
||||
@ -1638,6 +1701,7 @@ rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar
|
||||
%dir %{baseinstdir}/share/config
|
||||
%{baseinstdir}/share/config/images_breeze.zip
|
||||
%{baseinstdir}/share/config/images_breeze_dark.zip
|
||||
%{baseinstdir}/share/config/images_breeze_dark_svg.zip
|
||||
%{baseinstdir}/share/config/images_colibre.zip
|
||||
%{baseinstdir}/share/config/images_elementary.zip
|
||||
%{baseinstdir}/share/config/images_helpimg.zip
|
||||
@ -1645,6 +1709,7 @@ rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar
|
||||
%{baseinstdir}/share/config/images_karasa_jaga_svg.zip
|
||||
%{baseinstdir}/share/config/images_sifr.zip
|
||||
%{baseinstdir}/share/config/images_sifr_dark.zip
|
||||
%{baseinstdir}/share/config/images_sifr_dark_svg.zip
|
||||
%{baseinstdir}/share/config/images_sifr_svg.zip
|
||||
%{baseinstdir}/share/config/images_tango.zip
|
||||
%{baseinstdir}/share/config/images_breeze_svg.zip
|
||||
@ -1669,9 +1734,11 @@ rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar
|
||||
%config %{baseinstdir}/share/psprint/psprint.conf
|
||||
%{baseinstdir}/share/psprint/driver
|
||||
%dir %{baseinstdir}/share/registry
|
||||
%{baseinstdir}/share/registry/draw.xcd
|
||||
%{baseinstdir}/share/registry/gnome.xcd
|
||||
%{baseinstdir}/share/registry/lingucomponent.xcd
|
||||
%{baseinstdir}/share/registry/main.xcd
|
||||
%{baseinstdir}/share/registry/math.xcd
|
||||
%{baseinstdir}/share/registry/oo-ad-ldap.xcd.sample
|
||||
%{baseinstdir}/share/registry/oo-ldap.xcd.sample
|
||||
%dir %{baseinstdir}/share/registry/res
|
||||
@ -1749,7 +1816,12 @@ rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar
|
||||
%{baseinstdir}/share/filter/vml-shape-types
|
||||
%{baseinstdir}/share/xdg/
|
||||
%{baseinstdir}/program/redirectrc
|
||||
%if 0%{?flatpak}
|
||||
%{_datadir}/metainfo/org.libreoffice.LibreOffice.appdata.xml
|
||||
%{_datadir}/applications/org.libreoffice.LibreOffice.desktop
|
||||
%else
|
||||
%{_datadir}/applications/libreoffice-startcenter.desktop
|
||||
%endif
|
||||
#launchers
|
||||
%{_bindir}/libreoffice
|
||||
%{_bindir}/openoffice.org
|
||||
@ -1767,6 +1839,7 @@ rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar
|
||||
%{baseinstdir}/program/classes/reportbuilder.jar
|
||||
%{baseinstdir}/program/classes/reportbuilderwizard.jar
|
||||
%{baseinstdir}/program/classes/sdbc_hsqldb.jar
|
||||
%{baseinstdir}/program/access2base.py
|
||||
%if 0%{?fedora}
|
||||
%{baseinstdir}/program/base.abignore
|
||||
%endif
|
||||
@ -1779,8 +1852,12 @@ rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar
|
||||
%{baseinstdir}/share/registry/base.xcd
|
||||
%{baseinstdir}/share/registry/reportbuilder.xcd
|
||||
%{baseinstdir}/program/sbase
|
||||
%if 0%{?flatpak}
|
||||
%{_datadir}/applications/org.libreoffice.LibreOffice.base.desktop
|
||||
%else
|
||||
%{_datadir}/metainfo/libreoffice-base.appdata.xml
|
||||
%{_datadir}/applications/libreoffice-base.desktop
|
||||
%endif
|
||||
%{_bindir}/oobase
|
||||
%{_mandir}/man1/oobase.1*
|
||||
|
||||
@ -1875,17 +1952,24 @@ rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar
|
||||
%{baseinstdir}/share/registry/calc.xcd
|
||||
%{baseinstdir}/program/pagein-calc
|
||||
%{baseinstdir}/program/scalc
|
||||
%if 0%{?flatpak}
|
||||
%{_datadir}/applications/org.libreoffice.LibreOffice.calc.desktop
|
||||
%else
|
||||
%{_datadir}/metainfo/libreoffice-calc.appdata.xml
|
||||
%{_datadir}/applications/libreoffice-calc.desktop
|
||||
%endif
|
||||
%{_bindir}/oocalc
|
||||
%{_mandir}/man1/oocalc.1*
|
||||
|
||||
%files draw
|
||||
%{baseinstdir}/share/registry/draw.xcd
|
||||
%{baseinstdir}/program/pagein-draw
|
||||
%{baseinstdir}/program/sdraw
|
||||
%if 0%{?flatpak}
|
||||
%{_datadir}/applications/org.libreoffice.LibreOffice.draw.desktop
|
||||
%else
|
||||
%{_datadir}/metainfo/libreoffice-draw.appdata.xml
|
||||
%{_datadir}/applications/libreoffice-draw.desktop
|
||||
%endif
|
||||
%{_bindir}/oodraw
|
||||
%{_mandir}/man1/oodraw.1*
|
||||
|
||||
@ -1909,8 +1993,12 @@ rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar
|
||||
%{baseinstdir}/share/registry/writer.xcd
|
||||
%{baseinstdir}/program/pagein-writer
|
||||
%{baseinstdir}/program/swriter
|
||||
%if 0%{?flatpak}
|
||||
%{_datadir}/applications/org.libreoffice.LibreOffice.writer.desktop
|
||||
%else
|
||||
%{_datadir}/metainfo/libreoffice-writer.appdata.xml
|
||||
%{_datadir}/applications/libreoffice-writer.desktop
|
||||
%endif
|
||||
%{_bindir}/oowriter
|
||||
%{_mandir}/man1/oowriter.1*
|
||||
|
||||
@ -1929,20 +2017,22 @@ rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar
|
||||
%{baseinstdir}/share/registry/impress.xcd
|
||||
%{baseinstdir}/program/pagein-impress
|
||||
%{baseinstdir}/program/simpress
|
||||
%if 0%{?flatpak}
|
||||
%{_datadir}/applications/org.libreoffice.LibreOffice.impress.desktop
|
||||
%else
|
||||
%{_datadir}/metainfo/libreoffice-impress.appdata.xml
|
||||
%{_datadir}/applications/libreoffice-impress.desktop
|
||||
%endif
|
||||
%{_bindir}/ooimpress
|
||||
%{_mandir}/man1/ooimpress.1*
|
||||
|
||||
%files math
|
||||
%if 0%{?fedora}
|
||||
%{baseinstdir}/program/math.abignore
|
||||
%endif
|
||||
%{baseinstdir}/program/libsmlo.so
|
||||
%{baseinstdir}/program/libsmdlo.so
|
||||
%{baseinstdir}/share/registry/math.xcd
|
||||
%{baseinstdir}/program/smath
|
||||
%if 0%{?flatpak}
|
||||
%{_datadir}/applications/org.libreoffice.LibreOffice.math.desktop
|
||||
%else
|
||||
%{_datadir}/applications/libreoffice-math.desktop
|
||||
%endif
|
||||
%{_bindir}/oomath
|
||||
%{_mandir}/man1/oomath.1*
|
||||
|
||||
@ -1959,7 +2049,11 @@ rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar
|
||||
%files xsltfilter
|
||||
%{baseinstdir}/share/xslt
|
||||
%{baseinstdir}/share/registry/xsltfilter.xcd
|
||||
%if 0%{?flatpak}
|
||||
%{_datadir}/applications/org.libreoffice.LibreOffice.xsltfilter.desktop
|
||||
%else
|
||||
%{_datadir}/applications/libreoffice-xsltfilter.desktop
|
||||
%endif
|
||||
|
||||
%files postgresql
|
||||
%if 0%{?fedora}
|
||||
@ -2082,6 +2176,10 @@ rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar
|
||||
%files data
|
||||
%{_datadir}/icons/hicolor/*/*/libreoffice*
|
||||
%{_datadir}/icons/locolor/*/*/libreoffice*
|
||||
%if 0%{?flatpak}
|
||||
%{_datadir}/icons/hicolor/*/*/org.libreoffice.LibreOffice.*
|
||||
%{_datadir}/icons/locolor/*/*/org.libreoffice.LibreOffice.*
|
||||
%endif
|
||||
%{_datadir}/mime-info/libreoffice.*
|
||||
%{_datadir}/mime/packages/libreoffice.xml
|
||||
# TODO: rename -data to -core-common?
|
||||
@ -2130,8 +2228,8 @@ done
|
||||
%if 0%{?fedora}
|
||||
%{baseinstdir}/program/kde5.abignore
|
||||
%endif
|
||||
%{baseinstdir}/program/libkde5be1lo.so
|
||||
%{baseinstdir}/program/libvclplug_kde5lo.so
|
||||
%{baseinstdir}/program/libkf5be1lo.so
|
||||
%{baseinstdir}/program/libvclplug_kf5lo.so
|
||||
%{baseinstdir}/program/libvclplug_qt5lo.so
|
||||
|
||||
%files kf5
|
||||
@ -2153,6 +2251,24 @@ done
|
||||
%{_includedir}/LibreOfficeKit
|
||||
|
||||
%changelog
|
||||
* Wed Feb 03 2021 Caolán McNamara <caolanm@redhat.com> - 1:6.4.7.2-5
|
||||
- Resolves: rhbz#1924619 bad insertion of emoji
|
||||
|
||||
* Mon Nov 09 2020 Caolán McNamara <caolanm@redhat.com> - 1:6.4.7.2-4
|
||||
- Resolves: rhbz#1889801 rebuild for poppler
|
||||
|
||||
* Thu Oct 29 2020 Caolán McNamara <caolanm@redhat.com> - 1:6.4.7.2-3
|
||||
- Related: rhbz#1874234 fix upgrade dependency problems
|
||||
|
||||
* Wed Oct 28 2020 Caolán McNamara <caolanm@redhat.com> - 1:6.4.7.2-2
|
||||
- Related: rhbz#1874234 hang in check
|
||||
|
||||
* Wed Oct 21 2020 Caolán McNamara <caolanm@redhat.com> - 1:6.4.7.2-1
|
||||
- Resolves: rhbz#1874234 latest stable release
|
||||
|
||||
* Wed Jul 08 2020 Caolán McNamara <caolanm@redhat.com> - 1:6.3.6.2-3
|
||||
- Obsoletes any libreoffice-gtk2-debuginfo along with libreoffice-gtk2
|
||||
|
||||
* Tue Jun 02 2020 Caolán McNamara <caolanm@redhat.com> - 1:6.3.6.2-2
|
||||
- Resolves: rhbz#1841907 always produce utf-8 from gettext
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user