mirror of
https://abf.rosa.ru/djam/libreoffice.git
synced 2025-02-23 10:32:59 +00:00
Merge pull request #2 from import/libreoffice:rosa2016.1
Backports and update
This commit is contained in:
commit
c4adb52875
18 changed files with 808 additions and 2847 deletions
18
.abf.yml
18
.abf.yml
|
@ -1,31 +1,29 @@
|
|||
sources:
|
||||
048751f3271906db5126ab76870444c4-commons-codec-1.9-src.zip: 885cc4b6c9472d95e2515e777f6018a90657e974
|
||||
09ec2dac030e1dcd5ef7fa1692691dc0-Sun-ODF-Template-Pack-hu_1.0.0.oxt: 42c9235d7f876645ea6553770e7572c1b0b8609a
|
||||
17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip: 7168b0f40aa5c72267899601c116d2348d2f56ec
|
||||
185d60944ea767075d27247c3162b3bc-unowinreg.dll: 0619ed3a89644bef318df67db12045b2b590585b
|
||||
1be202fbbbc13f10592a98f70a4a87fb-OOOP-templates-pack-2.9.0.0.zip: 1dd5bd9962e851b5e487b0c2033b5a8951aaefad
|
||||
1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt: 206a371b46a3d991722b059b5d6f3bb29f1fc48b
|
||||
2c9b0f83ed5890af02c0df1c1776f39b-commons-httpclient-3.1-src.tar.gz: 5c604f102e0716597b3d2659ac3e77f80a02f22d
|
||||
35c94d2df8893241173de1d16b6034c0-swingExSrc.zip: 1acea86fd399ed7817879d36370d3d1f8b109050
|
||||
472ffb92d82cf502be039203c606643d-Sun-ODF-Template-Pack-en-US_1.0.0.oxt: d2b6a076b40d8d517075e52220ddd8f89f655c8f
|
||||
4ad003e7bbda5715f5f38fde1f707af2-Sun-ODF-Template-Pack-es_1.0.0.oxt: bf25bef71f72a4622089c85958bfd6c58d8516a6
|
||||
4b87018f7fff1d054939d19920b751a0-collada2gltf-master-cb1d97788a.tar.bz2: 1169780b4a0c515b23b96c913fd9bc52ceb7fb39
|
||||
53ca5e56ccd4cab3693ad32c6bd13343-Sun-ODF-Template-Pack-de_1.0.0.oxt: 4fea33622d89c7ac62053e5ee3616cfe504e0f14
|
||||
798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip: 8a90669029e107b61953b90ba11545fef586c2ca
|
||||
8ab049135b2d15313da5d9f0656894a1-commons-lang3-3.3.1-src.tar.gz: c78ddd06845e267ba5bec20a38430f66eec3e0e4
|
||||
884ed41809687c3e168fc7c19b16585149ff058eca79acbf3ee784f6630704cc-opens___.ttf: d336802a36ed2c87dd243e7c2f1d0542dace5cca
|
||||
Mandriva-Rosa_Icons.tar.bz2: 53448c079fcb3008d1fdec7f95305fe392460c1f
|
||||
OpenCOLLADA-master-6509aa13af.tar.bz2: c4f5760a1d21213dc52e2cf3ad9c0b9112585f36
|
||||
a53080dc876edcddb26eb4c3c7537469-Sun-ODF-Template-Pack-fr_1.0.0.oxt: d831314cf4c74f5afb3b37ee718dd58f981b97a8
|
||||
a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip: 2d49e11b0b711970f494294dc3698f05eb294853
|
||||
af9314c5972d95a5d6da23ffad818f68-OOOP-gallery-pack-2.8.0.0.zip: c71f095bf032e29ab0afc277fd2718e592ba6ba4
|
||||
apache-ant-1.10.5-bin.tar.bz2: 0a8b4cfc3c77bdd270fe1a618465de31e12fdbe5
|
||||
apache-ant-1.8.1-bin.tar.bz2: 0e0359f04b3d84fed75b3a1ab02cbc415c8864a1
|
||||
b33775feda3bcf823cad7ac361fd49a6-Sun-ODF-Template-Pack-it_1.0.0.oxt: 27847d6c320297905303ca7d2a45dbd0c492f705
|
||||
b632bdd25649cc4067bcb410bae23d2b-hunart_0.3.oxt: a476a199de32a32221132c8e77fad96c88616b08
|
||||
b63e6340a02ff1cacfeadb2c42286161-JLanguageTool-1.7.0.tar.bz2: aa8faa4f9e6721eed9bc6878862d74d0cb23251c
|
||||
b7cae45ad2c23551fd6ccb8ae2c1f59e-numbertext_0.9.5.oxt: bdec3915c01cd60e20892376aa5e5a0d3980c389
|
||||
commons-logging-1.2-src.tar.gz: 0a134d01e9aeb09b33f4c7450fb41abb7bed9db6
|
||||
libreoffice-6.0.7.3.tar.xz: d4add57e7fb837ae6376bdd418704530e4950aa2
|
||||
libreoffice-dictionaries-6.0.7.3.tar.xz: 92bf00132beb22abbb6515b7b0060347203ce08a
|
||||
libreoffice-help-6.0.7.3.tar.xz: 9ace766d0965cfe7f29d9893c1af5cc852b93db6
|
||||
libreoffice-translations-6.0.7.3.tar.xz: b364e99b615190256bfb271407c2ad4c184ffbfa
|
||||
pdfium-3235.tar.bz2: 10a6525bf0c014556766a19912fa6a80849a9117
|
||||
libreoffice-6.3.6.2.tar.xz: 79aa683b98c465ce570652852faead9f973f8d95
|
||||
libreoffice-dictionaries-6.3.6.2.tar.xz: 6c2741ecf0d37efc8413ffcd8b7d331b505b64be
|
||||
libreoffice-help-6.3.6.2.tar.xz: f6f94206dad1038c4369610a90e1727e4266ea80
|
||||
libreoffice-translations-6.3.6.2.tar.xz: 52b483e3d868345f7aa9ed187fd8b59d713d24fc
|
||||
lxml-4.1.1.tgz: 154279bc5939d7099697887ea15c5ca921abeaeb
|
||||
pdfium-3794.tar.bz2: 41ff3c2291c99db71ddca1873115b7fc0bfb5065
|
||||
|
|
31
0001-Force-icons-in-menus-in-GTK-3-VCLs.patch
Normal file
31
0001-Force-icons-in-menus-in-GTK-3-VCLs.patch
Normal file
|
@ -0,0 +1,31 @@
|
|||
From a1c8189f02ee694f049b2e04b9baffab3fafea22 Mon Sep 17 00:00:00 2001
|
||||
From: Mikhail Novosyolov <m.novosyolov@rosalinux.ru>
|
||||
Date: Sun, 5 Apr 2020 20:53:46 +0300
|
||||
Subject: [PATCH] Force icons in menus in GTK+3 VCLs
|
||||
|
||||
By default both IsSystemIconsInMenus and ShowIconsInMenues are true,
|
||||
but IsSystemIconsInMenus being true forces taking GTK 3 default to not show icons.
|
||||
|
||||
I beleive that icons help people to use menus.
|
||||
Also, we are migrating users from libreoffice-kde4 to libreoffice-gtk3-kde5,
|
||||
kde4 did show icons, so we would better keep them on.
|
||||
---
|
||||
officecfg/registry/schema/org/openoffice/Office/Common.xcs | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
|
||||
index 130726976..4b8c9055d 100644
|
||||
--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs
|
||||
+++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
|
||||
@@ -2909,7 +2909,7 @@
|
||||
<desc>Indicates whether icons in the office menus should
|
||||
shown/hidden by following the System theme.</desc>
|
||||
</info>
|
||||
- <value>true</value>
|
||||
+ <value>false</value>
|
||||
</prop>
|
||||
<prop oor:name="ShowIconsInMenues" oor:type="xs:boolean" oor:nillable="false">
|
||||
<!-- OldPath: General/View -->
|
||||
--
|
||||
2.20.1
|
||||
|
61
6fbfad6b00e8c35346ee59cd32a0d7ccc0d8c19c.patch
Normal file
61
6fbfad6b00e8c35346ee59cd32a0d7ccc0d8c19c.patch
Normal file
|
@ -0,0 +1,61 @@
|
|||
From 6fbfad6b00e8c35346ee59cd32a0d7ccc0d8c19c Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Bergmann <sbergman@redhat.com>
|
||||
Date: Sat, 22 Feb 2020 17:29:15 +0100
|
||||
Subject: [PATCH] Adapt o3tl::span to removal of std::span::cbegin et al
|
||||
|
||||
<https://cplusplus.github.io/LWG/issue3320> "span::cbegin/cend methods produce
|
||||
different results than std::[ranges::]cbegin/cend", as implemented now in
|
||||
<https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;a=commit;
|
||||
h=247f410b83797a1840573840cc2a539ef9d7f96b> "libstdc++: Remove std::span::cbegin
|
||||
and std::span::cend (LWG 3320)".
|
||||
|
||||
Turns out we only used the removed member functions in o3tl/qa/test-span.cxx.
|
||||
|
||||
Change-Id: I6c73797594b4e0e753a88840033d54961e271df5
|
||||
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89261
|
||||
Tested-by: Jenkins
|
||||
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
||||
---
|
||||
include/o3tl/span.hxx | 7 -------
|
||||
o3tl/qa/test-span.cxx | 6 ------
|
||||
2 files changed, 13 deletions(-)
|
||||
|
||||
--- libreoffice-6.3.5.2/include/o3tl/span.hxx.orig 2020-04-04 16:27:13.798399505 +0300
|
||||
+++ libreoffice-6.3.5.2/include/o3tl/span.hxx 2020-04-04 16:28:05.080888607 +0300
|
||||
@@ -60,18 +60,11 @@
|
||||
constexpr iterator begin() const noexcept { return data_; }
|
||||
constexpr iterator end() const noexcept { return begin() + size(); }
|
||||
|
||||
- constexpr const_iterator cbegin() const noexcept { return begin(); }
|
||||
- constexpr const_iterator cend() const noexcept { return end(); }
|
||||
-
|
||||
reverse_iterator rbegin() const noexcept
|
||||
{ return reverse_iterator(end()); }
|
||||
reverse_iterator rend() const noexcept
|
||||
{ return reverse_iterator(begin()); }
|
||||
|
||||
- constexpr const_reverse_iterator crbegin() const noexcept
|
||||
- { return rbegin(); }
|
||||
- constexpr const_reverse_iterator crend() const noexcept { return rend(); }
|
||||
-
|
||||
constexpr index_type size() const noexcept { return size_; }
|
||||
|
||||
constexpr reference operator [](index_type pos) const {
|
||||
--- libreoffice-6.3.5.2/o3tl/qa/test-span.cxx.orig 2020-04-04 16:27:13.802399388 +0300
|
||||
+++ libreoffice-6.3.5.2/o3tl/qa/test-span.cxx 2020-04-04 16:30:35.256474807 +0300
|
||||
@@ -33,15 +33,9 @@
|
||||
CPPUNIT_ASSERT_EQUAL(1, *v.begin());
|
||||
CPPUNIT_ASSERT_EQUAL(
|
||||
o3tl::span<int>::difference_type(3), v.end() - v.begin());
|
||||
- CPPUNIT_ASSERT_EQUAL(1, *v.cbegin());
|
||||
- CPPUNIT_ASSERT_EQUAL(
|
||||
- o3tl::span<int>::difference_type(3), v.cend() - v.cbegin());
|
||||
CPPUNIT_ASSERT_EQUAL(3, *v.rbegin());
|
||||
CPPUNIT_ASSERT_EQUAL(
|
||||
o3tl::span<int>::difference_type(3), v.rend() - v.rbegin());
|
||||
- CPPUNIT_ASSERT_EQUAL(3, *v.crbegin());
|
||||
- CPPUNIT_ASSERT_EQUAL(
|
||||
- o3tl::span<int>::difference_type(3), v.crend() - v.crbegin());
|
||||
CPPUNIT_ASSERT_EQUAL(o3tl::span<int>::index_type(3), v.size());
|
||||
CPPUNIT_ASSERT(!v.empty());
|
||||
CPPUNIT_ASSERT_EQUAL(2, v[1]);
|
|
@ -1,36 +0,0 @@
|
|||
Description: Explictly exclude LibreLogo from XScript usage
|
||||
Author: Caolán McNamara <caolanm@redhat.com>
|
||||
Upstream Commit: https://cgit.freedesktop.org/libreoffice/core/commit/?id=cb0024e3668979dfdef44db5aa15ddfaf035e695
|
||||
Bug: https://www.libreoffice.org/about-us/security/advisories/cve-2019-9848/
|
||||
|
||||
diff --git a/sfx2/source/doc/objmisc.cxx b/sfx2/source/doc/objmisc.cxx
|
||||
index a5e62da8c..02d79c356 100644
|
||||
--- a/sfx2/source/doc/objmisc.cxx
|
||||
+++ b/sfx2/source/doc/objmisc.cxx
|
||||
@@ -1347,6 +1347,16 @@ namespace
|
||||
}
|
||||
}
|
||||
|
||||
+namespace {
|
||||
+
|
||||
+// don't allow LibreLogo to be used with our mouseover/etc dom-alike events
|
||||
+bool UnTrustedScript(const OUString& rScriptURL)
|
||||
+{
|
||||
+ return rScriptURL.startsWithIgnoreAsciiCase("vnd.sun.star.script:LibreLogo");
|
||||
+}
|
||||
+
|
||||
+}
|
||||
+
|
||||
ErrCode SfxObjectShell::CallXScript( const Reference< XInterface >& _rxScriptContext, const OUString& _rScriptURL,
|
||||
const Sequence< Any >& aParams, Any& aRet, Sequence< sal_Int16 >& aOutParamIndex, Sequence< Any >& aOutParam, bool bRaiseError, const css::uno::Any* pCaller )
|
||||
{
|
||||
@@ -1359,6 +1369,9 @@ ErrCode SfxObjectShell::CallXScript( const Reference< XInterface >& _rxScriptCon
|
||||
if ( bIsDocumentScript && !lcl_isScriptAccessAllowed_nothrow( _rxScriptContext ) )
|
||||
return ERRCODE_IO_ACCESSDENIED;
|
||||
|
||||
+ if ( UnTrustedScript(_rScriptURL) )
|
||||
+ return ERRCODE_IO_ACCESSDENIED;
|
||||
+
|
||||
bool bCaughtException = false;
|
||||
Any aException;
|
||||
try
|
|
@ -1,141 +0,0 @@
|
|||
Description: More uses of referer URL with SvxBrushItem
|
||||
Author: Stephan Bergmann <sbergman@redhat.com>
|
||||
Upstream Commit: https://cgit.freedesktop.org/libreoffice/core/commit/?id=b518882de8213ef71a8003f95fbdf7689069c06d
|
||||
Bug: https://www.libreoffice.org/about-us/security/advisories/cve-2019-9849/
|
||||
|
||||
diff --git a/sw/inc/unosett.hxx b/sw/inc/unosett.hxx
|
||||
index 295eb06fe..185b5bcb4 100644
|
||||
--- a/sw/inc/unosett.hxx
|
||||
+++ b/sw/inc/unosett.hxx
|
||||
@@ -210,7 +210,7 @@ public:
|
||||
|
||||
static css::uno::Sequence<css::beans::PropertyValue> GetPropertiesForNumFormat(
|
||||
const SwNumFormat& rFormat, OUString const& rCharFormatName,
|
||||
- OUString const* pHeadingStyleName);
|
||||
+ OUString const* pHeadingStyleName, OUString const & referer);
|
||||
static void SetPropertiesToNumFormat(
|
||||
SwNumFormat & aFormat,
|
||||
OUString & rCharStyleName,
|
||||
diff --git a/sw/source/core/text/porfld.cxx b/sw/source/core/text/porfld.cxx
|
||||
index 777165819..b29cee3b5 100644
|
||||
--- a/sw/source/core/text/porfld.cxx
|
||||
+++ b/sw/source/core/text/porfld.cxx
|
||||
@@ -755,7 +755,7 @@ SwBulletPortion::SwBulletPortion( const sal_Unicode cBullet,
|
||||
|
||||
SwGrfNumPortion::SwGrfNumPortion(
|
||||
const OUString& rGraphicFollowedBy,
|
||||
- const SvxBrushItem* pGrfBrush,
|
||||
+ const SvxBrushItem* pGrfBrush, OUString const & referer,
|
||||
const SwFormatVertOrient* pGrfOrient, const Size& rGrfSize,
|
||||
const bool bLft, const bool bCntr, const sal_uInt16 nMinDst,
|
||||
const bool bLabelAlignmentPosAndSpaceModeActive ) :
|
||||
@@ -769,7 +769,7 @@ SwGrfNumPortion::SwGrfNumPortion(
|
||||
if( pGrfBrush )
|
||||
{
|
||||
*pBrush = *pGrfBrush;
|
||||
- const Graphic* pGraph = pGrfBrush->GetGraphic();
|
||||
+ const Graphic* pGraph = pGrfBrush->GetGraphic(referer);
|
||||
if( pGraph )
|
||||
SetAnimated( pGraph->IsAnimated() );
|
||||
else
|
||||
diff --git a/sw/source/core/text/porfld.hxx b/sw/source/core/text/porfld.hxx
|
||||
index 38fc08993..4ecf25e7d 100644
|
||||
--- a/sw/source/core/text/porfld.hxx
|
||||
+++ b/sw/source/core/text/porfld.hxx
|
||||
@@ -168,6 +168,7 @@ class SwGrfNumPortion : public SwNumberPortion
|
||||
public:
|
||||
SwGrfNumPortion( const OUString& rGraphicFollowedBy,
|
||||
const SvxBrushItem* pGrfBrush,
|
||||
+ OUString const & referer,
|
||||
const SwFormatVertOrient* pGrfOrient,
|
||||
const Size& rGrfSize,
|
||||
const bool bLeft,
|
||||
diff --git a/sw/source/core/text/txtfld.cxx b/sw/source/core/text/txtfld.cxx
|
||||
index 6b2b93886..14e396869 100644
|
||||
--- a/sw/source/core/text/txtfld.cxx
|
||||
+++ b/sw/source/core/text/txtfld.cxx
|
||||
@@ -52,6 +52,7 @@
|
||||
#include <flddat.hxx>
|
||||
#include <fmtautofmt.hxx>
|
||||
#include <IDocumentSettingAccess.hxx>
|
||||
+#include <sfx2/docfile.hxx>
|
||||
#include <svl/itemiter.hxx>
|
||||
|
||||
static bool lcl_IsInBody( SwFrame const *pFrame )
|
||||
@@ -478,8 +479,17 @@ SwNumberPortion *SwTextFormatter::NewNumberPortion( SwTextFormatInfo &rInf ) con
|
||||
|
||||
if( SVX_NUM_BITMAP == rNumFormat.GetNumberingType() )
|
||||
{
|
||||
+ OUString referer;
|
||||
+ if (auto const sh1 = rInf.GetVsh()) {
|
||||
+ if (auto const doc = sh1->GetDoc()) {
|
||||
+ auto const sh2 = doc->GetPersist();
|
||||
+ if (sh2 != nullptr && sh2->HasName()) {
|
||||
+ referer = sh2->GetMedium()->GetName();
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
pRet = new SwGrfNumPortion( pTextNd->GetLabelFollowedBy(),
|
||||
- rNumFormat.GetBrush(),
|
||||
+ rNumFormat.GetBrush(), referer,
|
||||
rNumFormat.GetGraphicOrientation(),
|
||||
rNumFormat.GetGraphicSize(),
|
||||
bLeft, bCenter, nMinDist,
|
||||
diff --git a/sw/source/core/unocore/unosett.cxx b/sw/source/core/unocore/unosett.cxx
|
||||
index f7376b936..218afbdd9 100644
|
||||
--- a/sw/source/core/unocore/unosett.cxx
|
||||
+++ b/sw/source/core/unocore/unosett.cxx
|
||||
@@ -57,6 +57,7 @@
|
||||
#include <vcl/font.hxx>
|
||||
#include <editeng/flstitem.hxx>
|
||||
#include <vcl/metric.hxx>
|
||||
+#include <sfx2/docfile.hxx>
|
||||
#include <svtools/ctrltool.hxx>
|
||||
#include <vcl/svapp.hxx>
|
||||
#include <toolkit/helper/vclunohelper.hxx>
|
||||
@@ -1316,13 +1317,21 @@ uno::Sequence<beans::PropertyValue> SwXNumberingRules::GetNumberingRuleByIndex(
|
||||
SwStyleNameMapper::FillProgName(sValue, aUString, SwGetPoolIdFromName::TxtColl);
|
||||
}
|
||||
|
||||
- return GetPropertiesForNumFormat(rFormat, CharStyleName, (pDocShell) ? & aUString : nullptr);
|
||||
+ OUString referer;
|
||||
+ if (pDoc != nullptr) {
|
||||
+ auto const sh = pDoc->GetPersist();
|
||||
+ if (sh != nullptr && sh->HasName()) {
|
||||
+ referer = sh->GetMedium()->GetName();
|
||||
+ }
|
||||
+ }
|
||||
+ return GetPropertiesForNumFormat(
|
||||
+ rFormat, CharStyleName, pDocShell ? & aUString : nullptr, referer);
|
||||
|
||||
}
|
||||
|
||||
uno::Sequence<beans::PropertyValue> SwXNumberingRules::GetPropertiesForNumFormat(
|
||||
const SwNumFormat& rFormat, OUString const& rCharFormatName,
|
||||
- OUString const*const pHeadingStyleName)
|
||||
+ OUString const*const pHeadingStyleName, OUString const & referer)
|
||||
{
|
||||
bool bChapterNum = pHeadingStyleName != nullptr;
|
||||
|
||||
@@ -1454,7 +1463,7 @@ uno::Sequence<beans::PropertyValue> SwXNumberingRules::GetPropertiesForNumFormat
|
||||
//graphicbitmap
|
||||
const Graphic* pGraphic = nullptr;
|
||||
if(pBrush )
|
||||
- pGraphic = pBrush->GetGraphic();
|
||||
+ pGraphic = pBrush->GetGraphic(referer);
|
||||
if(pGraphic)
|
||||
{
|
||||
uno::Reference<awt::XBitmap> xBmp = VCLUnoHelper::CreateBitmap( pGraphic->GetBitmapEx() );
|
||||
diff --git a/sw/source/uibase/config/StoredChapterNumbering.cxx b/sw/source/uibase/config/StoredChapterNumbering.cxx
|
||||
index c575863f0..b972ec5ed 100644
|
||||
--- a/sw/source/uibase/config/StoredChapterNumbering.cxx
|
||||
+++ b/sw/source/uibase/config/StoredChapterNumbering.cxx
|
||||
@@ -129,7 +129,7 @@ public:
|
||||
OUString dummy; // pass in empty HeadingStyleName - can't import anyway
|
||||
uno::Sequence<beans::PropertyValue> const ret(
|
||||
SwXNumberingRules::GetPropertiesForNumFormat(
|
||||
- *pNumFormat, *pCharStyleName, &dummy));
|
||||
+ *pNumFormat, *pCharStyleName, &dummy, ""));
|
||||
return uno::makeAny(ret);
|
||||
}
|
||||
|
|
@ -1,206 +0,0 @@
|
|||
Description: - expand LibreLogo check to global events
|
||||
- decode url escape codes and check each path segment
|
||||
- keep name percent-encoded
|
||||
- expand pyuno path separators
|
||||
- construct final url from parsed output
|
||||
Authors: - Caolán McNamara <caolanm@redhat.com>
|
||||
- Stephan Bergmann <sbergman@redhat.com>
|
||||
|
||||
diff --git a/include/sfx2/objsh.hxx b/include/sfx2/objsh.hxx
|
||||
index b51498905..35b3091e4 100644
|
||||
--- a/include/sfx2/objsh.hxx
|
||||
+++ b/include/sfx2/objsh.hxx
|
||||
@@ -397,6 +397,8 @@ public:
|
||||
*/
|
||||
bool AdjustMacroMode();
|
||||
|
||||
+ static bool UnTrustedScript(const OUString& rScriptURL);
|
||||
+
|
||||
SvKeyValueIterator* GetHeaderAttributes();
|
||||
void ClearHeaderAttributesForSourceViewHack();
|
||||
void SetHeaderAttributesForSourceViewHack();
|
||||
diff --git a/scripting/source/protocolhandler/scripthandler.cxx b/scripting/source/protocolhandler/scripthandler.cxx
|
||||
index 150ffa052..751099d92 100644
|
||||
--- a/scripting/source/protocolhandler/scripthandler.cxx
|
||||
+++ b/scripting/source/protocolhandler/scripthandler.cxx
|
||||
@@ -47,6 +47,7 @@
|
||||
|
||||
#include <com/sun/star/uno/XComponentContext.hpp>
|
||||
#include <com/sun/star/uri/XUriReference.hpp>
|
||||
+#include <com/sun/star/uri/XVndSunStarScriptUrlReference.hpp>
|
||||
#include <com/sun/star/uri/UriReferenceFactory.hpp>
|
||||
|
||||
#include <memory>
|
||||
@@ -133,8 +134,12 @@ void SAL_CALL ScriptProtocolHandler::dispatchWithNotification(
|
||||
{
|
||||
try
|
||||
{
|
||||
- bool bIsDocumentScript = ( aURL.Complete.indexOf( "document" ) !=-1 );
|
||||
- // TODO: isn't this somewhat strange? This should be a test for a location=document parameter, shouldn't it?
|
||||
+ css::uno::Reference<css::uri::XUriReferenceFactory> urifac(
|
||||
+ css::uri::UriReferenceFactory::create(m_xContext));
|
||||
+ css::uno::Reference<css::uri::XVndSunStarScriptUrlReference> uri(
|
||||
+ urifac->parse(aURL.Complete), css::uno::UNO_QUERY_THROW);
|
||||
+ auto const loc = uri->getParameter("location");
|
||||
+ bool bIsDocumentScript = loc == "document";
|
||||
|
||||
if ( bIsDocumentScript )
|
||||
{
|
||||
diff --git a/scripting/source/pyprov/pythonscript.py b/scripting/source/pyprov/pythonscript.py
|
||||
index f5aa21733..316c5012c 100644
|
||||
--- a/scripting/source/pyprov/pythonscript.py
|
||||
+++ b/scripting/source/pyprov/pythonscript.py
|
||||
@@ -219,10 +219,18 @@ class MyUriHelper:
|
||||
|
||||
# path to the .py file + "$functionname, arguments, etc
|
||||
xStorageUri = self.m_uriRefFac.parse(scriptURI)
|
||||
- sStorageUri = xStorageUri.getName().replace( "|", "/" );
|
||||
+ # getName will apply url-decoding to the name, so encode back
|
||||
+ sStorageUri = xStorageUri.getName().replace("%", "%25")
|
||||
+ sStorageUri = sStorageUri.replace( "|", "/" )
|
||||
|
||||
# path to the .py file, relative to the base
|
||||
- sFileUri = sStorageUri[0:sStorageUri.find("$")]
|
||||
+ funcNameStart = sStorageUri.find("$")
|
||||
+ if funcNameStart != -1:
|
||||
+ sFileUri = sStorageUri[0:funcNameStart]
|
||||
+ sFuncName = sStorageUri[funcNameStart+1:]
|
||||
+ else:
|
||||
+ sFileUri = sStorageUri
|
||||
+
|
||||
xFileUri = self.m_uriRefFac.parse(sFileUri)
|
||||
if not xFileUri:
|
||||
message = "pythonscript: invalid relative uri '" + sFileUri+ "'"
|
||||
@@ -239,7 +247,9 @@ class MyUriHelper:
|
||||
log.debug( message )
|
||||
raise RuntimeException( message )
|
||||
|
||||
- ret = sBaseUri + sStorageUri
|
||||
+ ret = sAbsScriptUri
|
||||
+ if funcNameStart != -1:
|
||||
+ ret = ret + "$" + sFuncName
|
||||
log.debug( "converting scriptURI="+scriptURI + " to storageURI=" + ret )
|
||||
return ret
|
||||
except UnoException as e:
|
||||
diff --git a/sfx2/source/doc/objmisc.cxx b/sfx2/source/doc/objmisc.cxx
|
||||
index 02d79c356..a508aea86 100644
|
||||
--- a/sfx2/source/doc/objmisc.cxx
|
||||
+++ b/sfx2/source/doc/objmisc.cxx
|
||||
@@ -41,6 +41,8 @@
|
||||
#include <com/sun/star/script/provider/XScriptProvider.hpp>
|
||||
#include <com/sun/star/script/provider/XScriptProviderSupplier.hpp>
|
||||
#include <com/sun/star/ucb/SimpleFileAccess.hpp>
|
||||
+#include <com/sun/star/uri/UriReferenceFactory.hpp>
|
||||
+#include <com/sun/star/uri/XVndSunStarScriptUrlReference.hpp>
|
||||
#include <com/sun/star/util/XModifiable.hpp>
|
||||
|
||||
#include <toolkit/helper/vclunohelper.hxx>
|
||||
@@ -1347,14 +1349,36 @@ namespace
|
||||
}
|
||||
}
|
||||
|
||||
-namespace {
|
||||
-
|
||||
// don't allow LibreLogo to be used with our mouseover/etc dom-alike events
|
||||
-bool UnTrustedScript(const OUString& rScriptURL)
|
||||
+bool SfxObjectShell::UnTrustedScript(const OUString& rScriptURL)
|
||||
{
|
||||
- return rScriptURL.startsWithIgnoreAsciiCase("vnd.sun.star.script:LibreLogo");
|
||||
-}
|
||||
+ if (!rScriptURL.startsWith("vnd.sun.star.script:"))
|
||||
+ return false;
|
||||
+
|
||||
+ // ensure URL Escape Codes are decoded
|
||||
+ css::uno::Reference<css::uri::XUriReference> uri(
|
||||
+ css::uri::UriReferenceFactory::create(comphelper::getProcessComponentContext())->parse(rScriptURL));
|
||||
+ css::uno::Reference<css::uri::XVndSunStarScriptUrl> sfUri(uri, css::uno::UNO_QUERY);
|
||||
+
|
||||
+ if (!sfUri.is())
|
||||
+ return false;
|
||||
+
|
||||
+ // pyuno encodes path separator as |
|
||||
+ OUString sScript = sfUri->getName().replace('|', '/');
|
||||
|
||||
+ // check if any path portion matches LibreLogo and ban it if it does
|
||||
+ sal_Int32 nIndex = 0;
|
||||
+ do
|
||||
+ {
|
||||
+ OUString aToken = sScript.getToken(0, '/', nIndex);
|
||||
+ if (aToken.startsWithIgnoreAsciiCase("LibreLogo"))
|
||||
+ {
|
||||
+ return true;
|
||||
+ }
|
||||
+ }
|
||||
+ while (nIndex >= 0);
|
||||
+
|
||||
+ return false;
|
||||
}
|
||||
|
||||
ErrCode SfxObjectShell::CallXScript( const Reference< XInterface >& _rxScriptContext, const OUString& _rScriptURL,
|
||||
@@ -1363,19 +1387,22 @@ ErrCode SfxObjectShell::CallXScript( const Reference< XInterface >& _rxScriptCon
|
||||
SAL_INFO("sfx", "in CallXScript" );
|
||||
ErrCode nErr = ERRCODE_NONE;
|
||||
|
||||
- bool bIsDocumentScript = ( _rScriptURL.indexOf( "location=document" ) >= 0 );
|
||||
- // TODO: we should parse the URL, and check whether there is a parameter with this name.
|
||||
- // Otherwise, we might find too much.
|
||||
- if ( bIsDocumentScript && !lcl_isScriptAccessAllowed_nothrow( _rxScriptContext ) )
|
||||
- return ERRCODE_IO_ACCESSDENIED;
|
||||
-
|
||||
- if ( UnTrustedScript(_rScriptURL) )
|
||||
- return ERRCODE_IO_ACCESSDENIED;
|
||||
-
|
||||
bool bCaughtException = false;
|
||||
Any aException;
|
||||
try
|
||||
{
|
||||
+ css::uno::Reference<css::uri::XUriReferenceFactory> urifac(
|
||||
+ css::uri::UriReferenceFactory::create(comphelper::getProcessComponentContext()));
|
||||
+ css::uno::Reference<css::uri::XVndSunStarScriptUrlReference> uri(
|
||||
+ urifac->parse(_rScriptURL), css::uno::UNO_QUERY_THROW);
|
||||
+ auto const loc = uri->getParameter("location");
|
||||
+ bool bIsDocumentScript = loc == "document";
|
||||
+ if ( bIsDocumentScript && !lcl_isScriptAccessAllowed_nothrow( _rxScriptContext ) )
|
||||
+ return ERRCODE_IO_ACCESSDENIED;
|
||||
+
|
||||
+ if ( UnTrustedScript(_rScriptURL) )
|
||||
+ return ERRCODE_IO_ACCESSDENIED;
|
||||
+
|
||||
// obtain/create a script provider
|
||||
Reference< provider::XScriptProvider > xScriptProvider;
|
||||
Reference< provider::XScriptProviderSupplier > xSPS( _rxScriptContext, UNO_QUERY );
|
||||
diff --git a/sfx2/source/notify/eventsupplier.cxx b/sfx2/source/notify/eventsupplier.cxx
|
||||
index 69076ad01..d18724d74 100644
|
||||
--- a/sfx2/source/notify/eventsupplier.cxx
|
||||
+++ b/sfx2/source/notify/eventsupplier.cxx
|
||||
@@ -209,18 +209,24 @@ void SfxEvents_Impl::Execute( uno::Any const & aEventData, const document::Docum
|
||||
else if (aType == "Service" ||
|
||||
aType == "Script")
|
||||
{
|
||||
- if ( !aScript.isEmpty() )
|
||||
+ bool bAllowed = false;
|
||||
+ util::URL aURL;
|
||||
+ if (!aScript.isEmpty())
|
||||
{
|
||||
- SfxViewFrame* pView = pDoc ?
|
||||
- SfxViewFrame::GetFirst( pDoc ) :
|
||||
- SfxViewFrame::Current();
|
||||
-
|
||||
uno::Reference < util::XURLTransformer > xTrans( util::URLTransformer::create( ::comphelper::getProcessComponentContext() ) );
|
||||
|
||||
- util::URL aURL;
|
||||
aURL.Complete = aScript;
|
||||
xTrans->parseStrict( aURL );
|
||||
|
||||
+ bAllowed = !SfxObjectShell::UnTrustedScript(aURL.Complete);
|
||||
+ }
|
||||
+
|
||||
+ if (bAllowed)
|
||||
+ {
|
||||
+ SfxViewFrame* pView = pDoc ?
|
||||
+ SfxViewFrame::GetFirst( pDoc ) :
|
||||
+ SfxViewFrame::Current();
|
||||
+
|
||||
uno::Reference
|
||||
< frame::XDispatchProvider > xProv;
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
Description: - an absolute uri is invalid input
|
||||
- improve check for absolute URI
|
||||
Authors: - Caolán McNamara <caolanm@redhat.com>
|
||||
- Stephan Bergmann <sbergman@redhat.com>
|
||||
|
||||
diff --git a/scripting/source/pyprov/pythonscript.py b/scripting/source/pyprov/pythonscript.py
|
||||
index 316c5012c..c46565949 100644
|
||||
--- a/scripting/source/pyprov/pythonscript.py
|
||||
+++ b/scripting/source/pyprov/pythonscript.py
|
||||
@@ -237,6 +237,11 @@ class MyUriHelper:
|
||||
log.debug( message )
|
||||
raise RuntimeException( message )
|
||||
|
||||
+ if not xFileUri.hasRelativePath():
|
||||
+ message = "pythonscript: an absolute uri is invalid '" + sFileUri+ "'"
|
||||
+ log.debug( message )
|
||||
+ raise RuntimeException( message )
|
||||
+
|
||||
# absolute path to the .py file
|
||||
xAbsScriptUri = self.m_uriRefFac.makeAbsolute(xBaseUri, xFileUri, True, RETAIN)
|
||||
sAbsScriptUri = xAbsScriptUri.getUriReference()
|
||||
diff --git a/sfx2/source/doc/objmisc.cxx b/sfx2/source/doc/objmisc.cxx
|
||||
index a508aea86..3ec10565b 100644
|
||||
--- a/sfx2/source/doc/objmisc.cxx
|
||||
+++ b/sfx2/source/doc/objmisc.cxx
|
||||
@@ -1371,7 +1371,7 @@ bool SfxObjectShell::UnTrustedScript(const OUString& rScriptURL)
|
||||
do
|
||||
{
|
||||
OUString aToken = sScript.getToken(0, '/', nIndex);
|
||||
- if (aToken.startsWithIgnoreAsciiCase("LibreLogo"))
|
||||
+ if (aToken.startsWithIgnoreAsciiCase("LibreLogo") || aToken.indexOf('~') != -1)
|
||||
{
|
||||
return true;
|
||||
}
|
21
gtk3_kde5-priority.patch
Normal file
21
gtk3_kde5-priority.patch
Normal file
|
@ -0,0 +1,21 @@
|
|||
--- libreoffice-6.3.5.2/vcl/source/app/salplug.cxx.orig2 2020-04-04 20:44:52.950045617 +0300
|
||||
+++ libreoffice-6.3.5.2/vcl/source/app/salplug.cxx 2020-04-04 20:44:55.713958634 +0300
|
||||
@@ -151,12 +151,15 @@
|
||||
{
|
||||
static const char* const pKDEFallbackList[] =
|
||||
{
|
||||
-#if ENABLE_KDE5
|
||||
- "kde5",
|
||||
-#endif
|
||||
#if ENABLE_GTK3_KDE5
|
||||
+// prefer gtk3_kde5 over kde5 because of maturity of gtk3 rendering;
|
||||
+// based on kde4 vcl experience, I don't trust kde5 VCL,
|
||||
+// and other people wrote about problems in it //mikhailnov
|
||||
"gtk3_kde5",
|
||||
#endif
|
||||
+#if ENABLE_KDE5
|
||||
+ "kde5",
|
||||
+#endif
|
||||
"gtk3", "gtk", "gen", nullptr
|
||||
};
|
||||
|
|
@ -5,8 +5,8 @@ diff -urN libreoffice-5.2.1.2/sysui/desktop/menus/base.desktop libreoffice-5.2.1
|
|||
Keywords=Data;SQL;
|
||||
InitialPreference=5
|
||||
StartupWMClass=libreoffice-base
|
||||
-X-KDE-Protocols=file,http,ftp,webdav
|
||||
+X-KDE-Protocols=file,http,webdav,smb,remote
|
||||
-X-KDE-Protocols=file,http,ftp,webdav,webdavs
|
||||
+X-KDE-Protocols=file,http,webdav,smb,remote,webdavs
|
||||
|
||||
Actions=NewDocument;
|
||||
[Desktop Action NewDocument]
|
||||
|
@ -17,8 +17,8 @@ diff -urN libreoffice-5.2.1.2/sysui/desktop/menus/calc.desktop libreoffice-5.2.1
|
|||
Keywords=Accounting;Stats;OpenDocument Spreadsheet;Chart;Microsoft Excel;Microsoft Works;OpenOffice Calc;ods;xls;xlsx;
|
||||
InitialPreference=5
|
||||
StartupWMClass=libreoffice-calc
|
||||
-X-KDE-Protocols=file,http,ftp,webdav
|
||||
+X-KDE-Protocols=file,http,webdav,smb,remote
|
||||
-X-KDE-Protocols=file,http,ftp,webdav,webdavs
|
||||
+X-KDE-Protocols=file,http,webdav,smb,remote,webdavs
|
||||
|
||||
Actions=NewDocument;
|
||||
[Desktop Action NewDocument]
|
||||
|
@ -29,8 +29,8 @@ diff -urN libreoffice-5.2.1.2/sysui/desktop/menus/draw.desktop libreoffice-5.2.1
|
|||
Keywords=Vector;Schema;Diagram;Layout;OpenDocument Graphics;Microsoft Publisher;Microsoft Visio;Corel Draw;cdr;odg;svg;pdf;vsd;
|
||||
InitialPreference=5
|
||||
StartupWMClass=libreoffice-draw
|
||||
-X-KDE-Protocols=file,http,ftp,webdav
|
||||
+X-KDE-Protocols=file,http,webdav,smb,remote
|
||||
-X-KDE-Protocols=file,http,ftp,webdav,webdavs
|
||||
+X-KDE-Protocols=file,http,webdav,smb,remote,webdavs
|
||||
|
||||
Actions=NewDocument;
|
||||
[Desktop Action NewDocument]
|
||||
|
@ -41,8 +41,8 @@ diff -urN libreoffice-5.2.1.2/sysui/desktop/menus/impress.desktop libreoffice-5.
|
|||
Keywords=Slideshow;Slides;OpenDocument Presentation;Microsoft PowerPoint;Microsoft Works;OpenOffice Impress;odp;ppt;pptx;
|
||||
InitialPreference=5
|
||||
StartupWMClass=libreoffice-impress
|
||||
-X-KDE-Protocols=file,http,ftp,webdav
|
||||
+X-KDE-Protocols=file,http,webdav,smb,remote
|
||||
-X-KDE-Protocols=file,http,ftp,webdav,webdavs
|
||||
+X-KDE-Protocols=file,http,webdav,smb,remote,webdavs
|
||||
|
||||
Actions=NewDocument;
|
||||
[Desktop Action NewDocument]
|
||||
|
@ -53,20 +53,11 @@ diff -urN libreoffice-5.2.1.2/sysui/desktop/menus/math.desktop libreoffice-5.2.1
|
|||
Keywords=Equation;OpenDocument Formula;Formula;odf;MathML;
|
||||
InitialPreference=5
|
||||
StartupWMClass=libreoffice-math
|
||||
-X-KDE-Protocols=file,http,ftp,webdav
|
||||
+X-KDE-Protocols=file,http,webdav,smb,remote
|
||||
-X-KDE-Protocols=file,http,ftp,webdav,webdavs
|
||||
+X-KDE-Protocols=file,http,webdav,smb,remote,webdavs
|
||||
|
||||
Actions=NewDocument;
|
||||
[Desktop Action NewDocument]
|
||||
diff -urN libreoffice-5.2.1.2/sysui/desktop/menus/qstart.desktop libreoffice-5.2.1.2-patched/sysui/desktop/menus/qstart.desktop
|
||||
--- libreoffice-5.2.1.2/sysui/desktop/menus/qstart.desktop 2016-08-25 10:26:36.000000000 +1000
|
||||
+++ libreoffice-5.2.1.2-patched/sysui/desktop/menus/qstart.desktop 2016-09-06 12:22:41.354727943 +1000
|
||||
@@ -25,4 +25,4 @@
|
||||
Name=%PRODUCTNAME Quickstarter
|
||||
Comment=Hook for quickstarter startup
|
||||
X-GIO-NoFuse=true
|
||||
-X-KDE-Protocols=file,http,ftp,webdav
|
||||
+X-KDE-Protocols=file,http,webdav,smb,remote
|
||||
diff -urN libreoffice-5.2.1.2/sysui/desktop/menus/startcenter.desktop libreoffice-5.2.1.2-patched/sysui/desktop/menus/startcenter.desktop
|
||||
--- libreoffice-5.2.1.2/sysui/desktop/menus/startcenter.desktop 2016-08-25 10:26:36.000000000 +1000
|
||||
+++ libreoffice-5.2.1.2-patched/sysui/desktop/menus/startcenter.desktop 2016-09-06 12:22:41.354727943 +1000
|
||||
|
@ -74,8 +65,8 @@ diff -urN libreoffice-5.2.1.2/sysui/desktop/menus/startcenter.desktop libreoffic
|
|||
StartupNotify=true
|
||||
X-GIO-NoFuse=true
|
||||
StartupWMClass=libreoffice-startcenter
|
||||
-X-KDE-Protocols=file,http,ftp,webdav
|
||||
+X-KDE-Protocols=file,http,webdav,smb,remote
|
||||
-X-KDE-Protocols=file,http,ftp,webdav,webdavs
|
||||
+X-KDE-Protocols=file,http,webdav,smb,remote,webdavs
|
||||
|
||||
##Define Actions
|
||||
Actions=Writer;Calc;Impress;Draw;Base;Math;
|
||||
|
@ -86,8 +77,8 @@ diff -urN libreoffice-5.2.1.2/sysui/desktop/menus/writer.desktop libreoffice-5.2
|
|||
Keywords=Text;Letter;Fax;Document;OpenDocument Text;Microsoft Word;Microsoft Works;Lotus WordPro;OpenOffice Writer;CV;odt;doc;docx;rtf;
|
||||
InitialPreference=5
|
||||
StartupWMClass=libreoffice-writer
|
||||
-X-KDE-Protocols=file,http,ftp,webdav
|
||||
+X-KDE-Protocols=file,http,webdav,smb,remote
|
||||
-X-KDE-Protocols=file,http,ftp,webdav,webdavs
|
||||
+X-KDE-Protocols=file,http,webdav,smb,remote,webdavs
|
||||
|
||||
Actions=NewDocument;
|
||||
[Desktop Action NewDocument]
|
||||
|
@ -98,5 +89,5 @@ diff -urN libreoffice-5.2.1.2/sysui/desktop/menus/xsltfilter.desktop libreoffice
|
|||
NoDisplay=true
|
||||
StartupNotify=true
|
||||
X-GIO-NoFuse=true
|
||||
-X-KDE-Protocols=file,http,ftp,webdav
|
||||
+X-KDE-Protocols=file,http,webdav,smb,remote
|
||||
-X-KDE-Protocols=file,http,ftp,webdav,webdavs
|
||||
+X-KDE-Protocols=file,http,webdav,smb,remote,webdavs
|
||||
|
|
|
@ -1,19 +0,0 @@
|
|||
diff -urN libreoffice-5.4.0.1/vcl/unx/kde4/KDESalGraphics.cxx libreoffice-5.4.0.1-patched/vcl/unx/kde4/KDESalGraphics.cxx
|
||||
--- libreoffice-5.4.0.1/vcl/unx/kde4/KDESalGraphics.cxx 2017-06-22 13:47:10.000000000 +0300
|
||||
+++ libreoffice-5.4.0.1-patched/vcl/unx/kde4/KDESalGraphics.cxx 2017-07-07 20:59:40.651469448 +0300
|
||||
@@ -138,8 +138,13 @@
|
||||
option->state |= state;
|
||||
option->rect = image->rect();
|
||||
|
||||
- QPainter painter(image);
|
||||
- QApplication::style()->drawComplexControl(element, option, &painter);
|
||||
+ // Hack: Don't display tiny useless scrollbars
|
||||
+ // Impress is known to crash when adding effects (segfault is triggered by 15x18 scrollbar)
|
||||
+ if (!((option->type == QStyleOption::SO_Slider) && ((option->rect.width() * option->rect.height()) < 300)))
|
||||
+ {
|
||||
+ QPainter painter(image);
|
||||
+ QApplication::style()->drawComplexControl(element, option, &painter);
|
||||
+ }
|
||||
}
|
||||
|
||||
void lcl_drawFrame( QStyle::PrimitiveElement element, QImage* image, QStyle::State const & state,
|
|
@ -1,12 +0,0 @@
|
|||
diff -urN libreoffice-5.4.3.1/vcl/source/app/IconThemeSelector.cxx libreoffice-5.4.3.1-patched/vcl/source/app/IconThemeSelector.cxx
|
||||
--- libreoffice-5.4.3.1/vcl/source/app/IconThemeSelector.cxx 2017-10-18 04:42:39.000000000 +1000
|
||||
+++ libreoffice-5.4.3.1-patched/vcl/source/app/IconThemeSelector.cxx 2017-11-16 00:25:30.922971263 +1000
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
namespace vcl {
|
||||
|
||||
-/*static*/ const OUStringLiteral IconThemeSelector::FALLBACK_ICON_THEME_ID("tango");
|
||||
+/*static*/ const OUStringLiteral IconThemeSelector::FALLBACK_ICON_THEME_ID("breeze");
|
||||
|
||||
namespace {
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
diff -urN libreoffice-5.3.1.1/sysui/desktop/menus/base.desktop libreoffice-5.3.1.1-patched/sysui/desktop/menus/base.desktop
|
||||
--- libreoffice-5.3.1.1/sysui/desktop/menus/base.desktop 2017-02-20 16:24:34.000000000 +0300
|
||||
+++ libreoffice-5.3.1.1-patched/sysui/desktop/menus/base.desktop 2017-03-12 14:41:46.552237494 +0300
|
||||
diff -urN libreoffice-6.2.8.2/sysui/desktop/menus/base.desktop libreoffice-6.2.8.2-patched/sysui/desktop/menus/base.desktop
|
||||
--- libreoffice-6.2.8.2/sysui/desktop/menus/base.desktop 2019-10-10 14:27:52.000000000 +0300
|
||||
+++ libreoffice-6.2.8.2-patched/sysui/desktop/menus/base.desktop 2019-10-15 15:22:51.862066911 +0300
|
||||
@@ -20,7 +20,7 @@
|
||||
Terminal=false
|
||||
Icon=base
|
||||
|
@ -10,9 +10,9 @@ diff -urN libreoffice-5.3.1.1/sysui/desktop/menus/base.desktop libreoffice-5.3.1
|
|||
Exec=${UNIXBASISROOTNAME} --base %%FILE%%
|
||||
MimeType=application/vnd.oasis.opendocument.database;application/vnd.sun.xml.base;
|
||||
Name=%PRODUCTNAME Base
|
||||
diff -Naur libreoffice-5.4.5.1/sysui/desktop/menus/calc.desktop-orig libreoffice-5.4.5.1/sysui/desktop/menus/calc.desktop
|
||||
--- libreoffice-5.4.5.1/sysui/desktop/menus/calc.desktop-orig 2018-01-30 20:22:07.000000000 +0300
|
||||
+++ libreoffice-5.4.5.1/sysui/desktop/menus/calc.desktop 2018-02-12 12:18:52.915474626 +0300
|
||||
diff -urN libreoffice-6.2.8.2/sysui/desktop/menus/calc.desktop libreoffice-6.2.8.2-patched/sysui/desktop/menus/calc.desktop
|
||||
--- libreoffice-6.2.8.2/sysui/desktop/menus/calc.desktop 2019-10-10 14:27:52.000000000 +0300
|
||||
+++ libreoffice-6.2.8.2-patched/sysui/desktop/menus/calc.desktop 2019-10-15 15:23:12.905195146 +0300
|
||||
@@ -20,7 +20,7 @@
|
||||
Terminal=false
|
||||
Icon=calc
|
||||
|
@ -22,9 +22,9 @@ diff -Naur libreoffice-5.4.5.1/sysui/desktop/menus/calc.desktop-orig libreoffice
|
|||
Exec=${UNIXBASISROOTNAME} --calc %%FILE%%
|
||||
MimeType=application/vnd.oasis.opendocument.spreadsheet;application/vnd.oasis.opendocument.spreadsheet-template;application/vnd.sun.xml.calc;application/vnd.sun.xml.calc.template;application/msexcel;application/vnd.ms-excel;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;application/vnd.ms-excel.sheet.macroEnabled.12;application/vnd.openxmlformats-officedocument.spreadsheetml.template;application/vnd.ms-excel.template.macroEnabled.12;application/vnd.ms-excel.sheet.binary.macroEnabled.12;text/csv;application/x-dbf;text/spreadsheet;application/csv;application/excel;application/tab-separated-values;application/vnd.lotus-1-2-3;application/vnd.oasis.opendocument.chart;application/vnd.oasis.opendocument.chart-template;application/x-dbase;application/x-dos_ms_excel;application/x-excel;application/x-msexcel;application/x-ms-excel;application/x-quattropro;application/x-123;text/comma-separated-values;text/tab-separated-values;text/x-comma-separated-values;text/x-csv;application/vnd.oasis.opendocument.spreadsheet-flat-xml;application/vnd.ms-works;application/clarisworks;application/x-iwork-numbers-sffnumbers;application/x-starcalc;
|
||||
Name=%PRODUCTNAME Calc
|
||||
diff -urN libreoffice-5.3.1.1/sysui/desktop/menus/draw.desktop libreoffice-5.3.1.1-patched/sysui/desktop/menus/draw.desktop
|
||||
--- libreoffice-5.3.1.1/sysui/desktop/menus/draw.desktop 2017-02-20 16:24:34.000000000 +0300
|
||||
+++ libreoffice-5.3.1.1-patched/sysui/desktop/menus/draw.desktop 2017-03-12 14:45:42.671234840 +0300
|
||||
diff -urN libreoffice-6.2.8.2/sysui/desktop/menus/draw.desktop libreoffice-6.2.8.2-patched/sysui/desktop/menus/draw.desktop
|
||||
--- libreoffice-6.2.8.2/sysui/desktop/menus/draw.desktop 2019-10-10 14:27:52.000000000 +0300
|
||||
+++ libreoffice-6.2.8.2-patched/sysui/desktop/menus/draw.desktop 2019-10-15 15:23:51.381487406 +0300
|
||||
@@ -20,7 +20,7 @@
|
||||
Terminal=false
|
||||
Icon=draw
|
||||
|
@ -32,11 +32,11 @@ diff -urN libreoffice-5.3.1.1/sysui/desktop/menus/draw.desktop libreoffice-5.3.1
|
|||
-Categories=Office;FlowChart;Graphics;2DGraphics;VectorGraphics;X-Red-Hat-Base;X-MandrivaLinux-Office-Drawing;
|
||||
+Categories=Office;FlowChart;
|
||||
Exec=${UNIXBASISROOTNAME} --draw %%FILE%%
|
||||
MimeType=application/vnd.oasis.opendocument.graphics;application/vnd.oasis.opendocument.graphics-flat-xml;application/vnd.oasis.opendocument.graphics-template;application/vnd.sun.xml.draw;application/vnd.sun.xml.draw.template;application/vnd.visio;application/x-wpg;application/vnd.corel-draw;application/vnd.ms-publisher;image/x-freehand;application/clarisworks;application/x-pagemaker;application/pdf;application/x-stardraw;
|
||||
MimeType=application/vnd.oasis.opendocument.graphics;application/vnd.oasis.opendocument.graphics-flat-xml;application/vnd.oasis.opendocument.graphics-template;application/vnd.sun.xml.draw;application/vnd.sun.xml.draw.template;application/vnd.visio;application/x-wpg;application/vnd.corel-draw;application/vnd.ms-publisher;image/x-freehand;application/clarisworks;application/x-pagemaker;application/pdf;application/x-stardraw;image/x-emf;image/x-wmf;
|
||||
Name=%PRODUCTNAME Draw
|
||||
diff -Naur libreoffice-5.4.5.1/sysui/desktop/menus/impress.desktop-orig libreoffice-5.4.5.1/sysui/desktop/menus/impress.desktop
|
||||
--- libreoffice-5.4.5.1/sysui/desktop/menus/impress.desktop-orig 2018-01-30 20:22:07.000000000 +0300
|
||||
+++ libreoffice-5.4.5.1/sysui/desktop/menus/impress.desktop 2018-02-12 12:25:14.439535365 +0300
|
||||
diff -urN libreoffice-6.2.8.2/sysui/desktop/menus/impress.desktop libreoffice-6.2.8.2-patched/sysui/desktop/menus/impress.desktop
|
||||
--- libreoffice-6.2.8.2/sysui/desktop/menus/impress.desktop 2019-10-10 14:27:52.000000000 +0300
|
||||
+++ libreoffice-6.2.8.2-patched/sysui/desktop/menus/impress.desktop 2019-10-15 15:24:15.991248327 +0300
|
||||
@@ -20,7 +20,7 @@
|
||||
Terminal=false
|
||||
Icon=impress
|
||||
|
@ -46,9 +46,9 @@ diff -Naur libreoffice-5.4.5.1/sysui/desktop/menus/impress.desktop-orig libreoff
|
|||
Exec=${UNIXBASISROOTNAME} --impress %%FILE%%
|
||||
MimeType=application/vnd.oasis.opendocument.presentation;application/vnd.oasis.opendocument.presentation-template;application/vnd.sun.xml.impress;application/vnd.sun.xml.impress.template;application/mspowerpoint;application/vnd.ms-powerpoint;application/vnd.openxmlformats-officedocument.presentationml.presentation;application/vnd.ms-powerpoint.presentation.macroEnabled.12;application/vnd.openxmlformats-officedocument.presentationml.template;application/vnd.ms-powerpoint.template.macroEnabled.12;application/vnd.openxmlformats-officedocument.presentationml.slide;application/vnd.openxmlformats-officedocument.presentationml.slideshow;application/vnd.ms-powerpoint.slideshow.macroEnabled.12;application/vnd.oasis.opendocument.presentation-flat-xml;application/x-iwork-keynote-sffkey;
|
||||
Name=%PRODUCTNAME Impress
|
||||
diff -urN libreoffice-5.3.1.1/sysui/desktop/menus/math.desktop libreoffice-5.3.1.1-patched/sysui/desktop/menus/math.desktop
|
||||
--- libreoffice-5.3.1.1/sysui/desktop/menus/math.desktop 2017-02-20 16:24:34.000000000 +0300
|
||||
+++ libreoffice-5.3.1.1-patched/sysui/desktop/menus/math.desktop 2017-03-12 14:45:15.964235140 +0300
|
||||
diff -urN libreoffice-6.2.8.2/sysui/desktop/menus/math.desktop libreoffice-6.2.8.2-patched/sysui/desktop/menus/math.desktop
|
||||
--- libreoffice-6.2.8.2/sysui/desktop/menus/math.desktop 2019-10-10 14:27:52.000000000 +0300
|
||||
+++ libreoffice-6.2.8.2-patched/sysui/desktop/menus/math.desktop 2019-10-15 15:26:38.666534230 +0300
|
||||
@@ -21,7 +21,7 @@
|
||||
NoDisplay=false
|
||||
Icon=math
|
||||
|
@ -58,9 +58,9 @@ diff -urN libreoffice-5.3.1.1/sysui/desktop/menus/math.desktop libreoffice-5.3.1
|
|||
Exec=${UNIXBASISROOTNAME} --math %%FILE%%
|
||||
MimeType=application/vnd.oasis.opendocument.formula;application/vnd.sun.xml.math;application/vnd.oasis.opendocument.formula-template;text/mathml;application/mathml+xml;
|
||||
Name=%PRODUCTNAME Math
|
||||
diff -urN libreoffice-5.3.1.1/sysui/desktop/menus/startcenter.desktop libreoffice-5.3.1.1-patched/sysui/desktop/menus/startcenter.desktop
|
||||
--- libreoffice-5.3.1.1/sysui/desktop/menus/startcenter.desktop 2017-02-20 16:24:34.000000000 +0300
|
||||
+++ libreoffice-5.3.1.1-patched/sysui/desktop/menus/startcenter.desktop 2017-03-12 14:46:27.341234338 +0300
|
||||
diff -urN libreoffice-6.2.8.2/sysui/desktop/menus/startcenter.desktop libreoffice-6.2.8.2-patched/sysui/desktop/menus/startcenter.desktop
|
||||
--- libreoffice-6.2.8.2/sysui/desktop/menus/startcenter.desktop 2019-10-10 14:27:52.000000000 +0300
|
||||
+++ libreoffice-6.2.8.2-patched/sysui/desktop/menus/startcenter.desktop 2019-10-15 15:27:32.279350728 +0300
|
||||
@@ -21,7 +21,7 @@
|
||||
NoDisplay=false
|
||||
Icon=startcenter
|
||||
|
@ -70,9 +70,9 @@ diff -urN libreoffice-5.3.1.1/sysui/desktop/menus/startcenter.desktop libreoffic
|
|||
Exec=${UNIXBASISROOTNAME} %%FILE%%
|
||||
MimeType=application/vnd.openofficeorg.extension;x-scheme-handler/vnd.libreoffice.cmis;
|
||||
Name=%PRODUCTNAME
|
||||
diff -Naur libreoffice-5.4.5.1/sysui/desktop/menus/writer.desktop-orig libreoffice-5.4.5.1/sysui/desktop/menus/writer.desktop
|
||||
--- libreoffice-5.4.5.1/sysui/desktop/menus/writer.desktop-orig 2018-01-30 20:22:07.000000000 +0300
|
||||
+++ libreoffice-5.4.5.1/sysui/desktop/menus/writer.desktop 2018-02-12 12:29:38.212419191 +0300
|
||||
diff -urN libreoffice-6.2.8.2/sysui/desktop/menus/writer.desktop libreoffice-6.2.8.2-patched/sysui/desktop/menus/writer.desktop
|
||||
--- libreoffice-6.2.8.2/sysui/desktop/menus/writer.desktop 2019-10-10 14:27:52.000000000 +0300
|
||||
+++ libreoffice-6.2.8.2-patched/sysui/desktop/menus/writer.desktop 2019-10-15 15:27:50.282510723 +0300
|
||||
@@ -20,7 +20,7 @@
|
||||
Terminal=false
|
||||
Icon=writer
|
203
libreoffice-6.3.5.2-kde4-detection.patch
Normal file
203
libreoffice-6.3.5.2-kde4-detection.patch
Normal file
|
@ -0,0 +1,203 @@
|
|||
diff -urN libreoffice-6.3.5.2/vcl/inc/unx/desktops.hxx libreoffice-6.3.5.2-patched/vcl/inc/unx/desktops.hxx
|
||||
--- libreoffice-6.3.5.2/vcl/inc/unx/desktops.hxx 2020-02-11 22:14:56.000000000 +1000
|
||||
+++ libreoffice-6.3.5.2-patched/vcl/inc/unx/desktops.hxx 2020-03-25 22:24:27.343432021 +1000
|
||||
@@ -31,6 +31,7 @@
|
||||
DESKTOP_UNITY,
|
||||
DESKTOP_XFCE,
|
||||
DESKTOP_MATE,
|
||||
+ DESKTOP_KDE4,
|
||||
DESKTOP_KDE5,
|
||||
DESKTOP_LXQT
|
||||
}; // keep in sync with desktop_strings[] in salplug.cxx
|
||||
diff -urN libreoffice-6.3.5.2/vcl/source/app/IconThemeSelector.cxx libreoffice-6.3.5.2-patched/vcl/source/app/IconThemeSelector.cxx
|
||||
--- libreoffice-6.3.5.2/vcl/source/app/IconThemeSelector.cxx 2020-02-11 22:14:56.000000000 +1000
|
||||
+++ libreoffice-6.3.5.2-patched/vcl/source/app/IconThemeSelector.cxx 2020-03-25 22:24:27.343432021 +1000
|
||||
@@ -56,7 +56,8 @@
|
||||
return OUString("colibre");
|
||||
#else
|
||||
OUString r;
|
||||
- if ( desktopEnvironment.equalsIgnoreAsciiCase("kde5") ||
|
||||
+ if ( desktopEnvironment.equalsIgnoreAsciiCase("kde4") ||
|
||||
+ desktopEnvironment.equalsIgnoreAsciiCase("kde5") ||
|
||||
desktopEnvironment.equalsIgnoreAsciiCase("lxqt") ) {
|
||||
r = "breeze";
|
||||
}
|
||||
diff -urN libreoffice-6.3.5.2/vcl/source/app/salplug.cxx libreoffice-6.3.5.2-patched/vcl/source/app/salplug.cxx
|
||||
--- libreoffice-6.3.5.2/vcl/source/app/salplug.cxx 2020-02-11 22:14:56.000000000 +1000
|
||||
+++ libreoffice-6.3.5.2-patched/vcl/source/app/salplug.cxx 2020-03-25 22:41:24.079451287 +1000
|
||||
@@ -95,6 +95,8 @@
|
||||
* not access the 'gnome_accessibility_module_shutdown' anymore.
|
||||
* So make sure libgtk+ & co are still mapped into memory when
|
||||
* atk-bridge's atexit handler gets called.
|
||||
+ * #i109007# KDE3 seems to have the same problem.
|
||||
+ * And same applies for KDE4.
|
||||
*/
|
||||
if( rModuleBase == "gtk" || rModuleBase == "gtk3" || rModuleBase == "gtk3_kde5" || rModuleBase == "win" )
|
||||
{
|
||||
@@ -185,7 +187,8 @@
|
||||
desktop == DESKTOP_XFCE ||
|
||||
desktop == DESKTOP_MATE )
|
||||
pList = pStandardFallbackList;
|
||||
- else if( desktop == DESKTOP_KDE5 ||
|
||||
+ else if( desktop == DESKTOP_KDE4 ||
|
||||
+ desktop == DESKTOP_KDE5 ||
|
||||
desktop == DESKTOP_LXQT )
|
||||
pList = pKDEFallbackList;
|
||||
|
||||
@@ -318,7 +321,8 @@
|
||||
// Order to match desktops.hxx' DesktopType
|
||||
static const char * const desktop_strings[] = {
|
||||
"none", "unknown", "GNOME", "UNITY",
|
||||
- "XFCE", "MATE", "KDE5", "LXQT" };
|
||||
+ "XFCE", "MATE", "KDE4", "KDE5",
|
||||
+ "LXQT" };
|
||||
static OUString aDesktopEnvironment;
|
||||
if( aDesktopEnvironment.isEmpty())
|
||||
{
|
||||
diff -urN libreoffice-6.3.5.2/vcl/unx/generic/desktopdetect/desktopdetector.cxx libreoffice-6.3.5.2-patched/vcl/unx/generic/desktopdetect/desktopdetector.cxx
|
||||
--- libreoffice-6.3.5.2/vcl/unx/generic/desktopdetect/desktopdetector.cxx 2020-02-11 22:14:56.000000000 +1000
|
||||
+++ libreoffice-6.3.5.2-patched/vcl/unx/generic/desktopdetect/desktopdetector.cxx 2020-03-25 22:28:24.099436507 +1000
|
||||
@@ -116,6 +116,80 @@
|
||||
}
|
||||
|
||||
|
||||
+static bool bWasXError = false;
|
||||
+
|
||||
+static bool WasXError()
|
||||
+{
|
||||
+ bool bRet = bWasXError;
|
||||
+ bWasXError = false;
|
||||
+ return bRet;
|
||||
+}
|
||||
+
|
||||
+extern "C"
|
||||
+{
|
||||
+ static int autodect_error_handler( Display*, XErrorEvent* )
|
||||
+ {
|
||||
+ bWasXError = true;
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+ typedef int(* XErrorHandler)(Display*,XErrorEvent*);
|
||||
+}
|
||||
+
|
||||
+static int KDEVersion( Display* pDisplay )
|
||||
+{
|
||||
+ int nRet = 0;
|
||||
+
|
||||
+ Atom nFullSession = XInternAtom( pDisplay, "KDE_FULL_SESSION", True );
|
||||
+ Atom nKDEVersion = XInternAtom( pDisplay, "KDE_SESSION_VERSION", True );
|
||||
+
|
||||
+ if( nFullSession )
|
||||
+ {
|
||||
+ if( !nKDEVersion )
|
||||
+ return 3;
|
||||
+
|
||||
+ Atom aRealType = None;
|
||||
+ int nFormat = 8;
|
||||
+ unsigned long nItems = 0;
|
||||
+ unsigned long nBytesLeft = 0;
|
||||
+ unsigned char* pProperty = nullptr;
|
||||
+ XGetWindowProperty( pDisplay,
|
||||
+ DefaultRootWindow( pDisplay ),
|
||||
+ nKDEVersion,
|
||||
+ 0, 1,
|
||||
+ False,
|
||||
+ AnyPropertyType,
|
||||
+ &aRealType,
|
||||
+ &nFormat,
|
||||
+ &nItems,
|
||||
+ &nBytesLeft,
|
||||
+ &pProperty );
|
||||
+ if( !WasXError() && nItems != 0 && pProperty )
|
||||
+ {
|
||||
+ nRet = *reinterpret_cast< sal_Int32* >( pProperty );
|
||||
+ }
|
||||
+ if( pProperty )
|
||||
+ {
|
||||
+ XFree( pProperty );
|
||||
+ pProperty = nullptr;
|
||||
+ }
|
||||
+ }
|
||||
+ return nRet;
|
||||
+}
|
||||
+
|
||||
+static bool is_kde4_desktop( Display* pDisplay )
|
||||
+{
|
||||
+ static const char * pFullVersion = getenv( "KDE_FULL_SESSION" );
|
||||
+ static const char * pSessionVersion = getenv( "KDE_SESSION_VERSION" );
|
||||
+ if ( pFullVersion && pSessionVersion && strcmp(pSessionVersion, "4") == 0 )
|
||||
+ return true;
|
||||
+
|
||||
+ if ( KDEVersion( pDisplay ) == 4 )
|
||||
+ return true;
|
||||
+
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
static bool is_kde5_desktop()
|
||||
{
|
||||
static const char * pFullVersion = getenv( "KDE_FULL_SESSION" );
|
||||
@@ -141,6 +215,8 @@
|
||||
return DESKTOP_LXQT;
|
||||
if ( aOver.equalsIgnoreAsciiCase( "kde5" ) )
|
||||
return DESKTOP_KDE5;
|
||||
+ if ( aOver.equalsIgnoreAsciiCase( "kde4" ) )
|
||||
+ return DESKTOP_KDE4;
|
||||
if ( aOver.equalsIgnoreAsciiCase( "gnome" ) )
|
||||
return DESKTOP_GNOME;
|
||||
if ( aOver.equalsIgnoreAsciiCase( "gnome-wayland" ) )
|
||||
@@ -248,10 +324,16 @@
|
||||
return DESKTOP_NONE;
|
||||
|
||||
DesktopType ret;
|
||||
- if ( is_gnome_desktop( pDisplay ) )
|
||||
- ret = DESKTOP_GNOME;
|
||||
- else
|
||||
- ret = DESKTOP_UNKNOWN;
|
||||
+ XErrorHandler pOldHdl = XSetErrorHandler( autodect_error_handler );
|
||||
+ if ( is_kde4_desktop( pDisplay ) )
|
||||
+ ret = DESKTOP_KDE4;
|
||||
+ else if ( is_gnome_desktop( pDisplay ) )
|
||||
+ ret = DESKTOP_GNOME;
|
||||
+ else
|
||||
+ ret = DESKTOP_UNKNOWN;
|
||||
+
|
||||
+ // set the default handler again
|
||||
+ XSetErrorHandler( pOldHdl );
|
||||
|
||||
XCloseDisplay( pDisplay );
|
||||
|
||||
diff -urN libreoffice-6.3.5.2/vcl/unx/gtk3_kde5/kde5_filepicker.cxx libreoffice-6.3.5.2-patched/vcl/unx/gtk3_kde5/kde5_filepicker.cxx
|
||||
--- libreoffice-6.3.5.2/vcl/unx/gtk3_kde5/kde5_filepicker.cxx 2020-02-11 22:14:56.000000000 +1000
|
||||
+++ libreoffice-6.3.5.2-patched/vcl/unx/gtk3_kde5/kde5_filepicker.cxx 2020-03-29 18:18:56.397261034 +1000
|
||||
@@ -248,7 +248,7 @@
|
||||
// dialog there in order not to lose the custom controls and insert the custom
|
||||
// widget in the layout returned by QFileDialog::layout()
|
||||
// (which returns nullptr for native file dialogs)
|
||||
- if (Application::GetDesktopEnvironment() == "KDE5")
|
||||
+ if (Application::GetDesktopEnvironment() == "KDE5" || Application::GetDesktopEnvironment() == "KDE4")
|
||||
{
|
||||
qApp->installEventFilter(this);
|
||||
}
|
||||
diff -urN libreoffice-6.3.5.2/vcl/unx/kde5/KDE5SalInstance.cxx libreoffice-6.3.5.2-patched/vcl/unx/kde5/KDE5SalInstance.cxx
|
||||
--- libreoffice-6.3.5.2/vcl/unx/kde5/KDE5SalInstance.cxx 2020-02-11 22:14:56.000000000 +1000
|
||||
+++ libreoffice-6.3.5.2-patched/vcl/unx/kde5/KDE5SalInstance.cxx 2020-03-29 18:16:44.371267490 +1000
|
||||
@@ -52,7 +52,7 @@
|
||||
|
||||
bool KDE5SalInstance::hasNativeFileSelection() const
|
||||
{
|
||||
- if (Application::GetDesktopEnvironment() == "KDE5")
|
||||
+ if (Application::GetDesktopEnvironment() == "KDE5" || Application::GetDesktopEnvironment() == "KDE4")
|
||||
return true;
|
||||
return Qt5Instance::hasNativeFileSelection();
|
||||
}
|
||||
@@ -73,7 +73,7 @@
|
||||
// In order to insert custom controls, KDE5FilePicker currently relies on KFileWidget
|
||||
// being used in the native file picker, which is only the case for KDE Plasma.
|
||||
// Therefore, return the plain qt5 one in order to not lose custom controls.
|
||||
- if (Application::GetDesktopEnvironment() == "KDE5")
|
||||
+ if (Application::GetDesktopEnvironment() == "KDE5" || Application::GetDesktopEnvironment() == "KDE4")
|
||||
return new KDE5FilePicker(context, eMode);
|
||||
return Qt5Instance::createPicker(context, eMode);
|
||||
}
|
67
libreoffice-help-package
Normal file
67
libreoffice-help-package
Normal file
|
@ -0,0 +1,67 @@
|
|||
#!/bin/sh
|
||||
l=`echo $1 |sed -e 's,-,_,g'`
|
||||
|
||||
case $1 in
|
||||
ar) ln="Arabic";;
|
||||
bg) ln="Bulgarian";;
|
||||
bn) ln="Bengali";;
|
||||
bs) ln="Bosnian";;
|
||||
ca) ln="Catalan";;
|
||||
cs) ln="Czech";;
|
||||
da) ln="Danish";;
|
||||
de) ln="German";;
|
||||
dz) ln="Dzongkha";;
|
||||
el) ln="Greek";;
|
||||
en-GB) ln="British English";;
|
||||
es) ln="Spanish";;
|
||||
et) ln="Estonian";;
|
||||
eu) ln="Basque";;
|
||||
fi) ln="Finnish";;
|
||||
fr) ln="French";;
|
||||
gl) ln="Galician";;
|
||||
gu) ln="Gujarati";;
|
||||
he) ln="Hebrew";;
|
||||
hi) ln="Hindi";;
|
||||
hr) ln="Croatian";;
|
||||
hu) ln="Hungarian";;
|
||||
it) ln="Italian";;
|
||||
lt) ln="Lithuanian";;
|
||||
lv) ln="Latvian";;
|
||||
ja) ln="Japanese";;
|
||||
ko) ln="Korean";;
|
||||
mk) ln="Macedonian";;
|
||||
nb) ln="Norwegian (Bokmal)";;
|
||||
nl) ln="Dutch";;
|
||||
nn) ln="Norwegian (Nynorsk)";;
|
||||
pl) ln="Polish";;
|
||||
pt) ln="Portuguese";;
|
||||
pt-BR) ln="Brazilian";;
|
||||
ro) ln="Romanian";;
|
||||
ru) ln="Russian";;
|
||||
si) ln="Sinhalese";;
|
||||
sk) ln="Slovak";;
|
||||
sl) ln="Slovenian";;
|
||||
sv) ln="Swedish";;
|
||||
ta) ln="Tamil";;
|
||||
tr) ln="Turkish";;
|
||||
uk) ln="Ukrainian";;
|
||||
zh-CN) ln="Simplified Chinese";;
|
||||
zh-TW) ln="Traditional Chinese";;
|
||||
en-US) ln="English";;
|
||||
*) ln="$l";;
|
||||
esac
|
||||
|
||||
cat <<EOF
|
||||
%package help-$l
|
||||
Summary: ${ln} help for LibreOffice
|
||||
Group: Office
|
||||
Provides: %{ooname}-help = %{EVRD}
|
||||
Provides: LibreOffice-help-${l} = %{EVRD}
|
||||
EOF
|
||||
[ "$l" != "en_US" ] && echo "Requires: %{ooname}-l10n-${l} = %{EVRD}"
|
||||
cat <<EOF
|
||||
%description help-${l}
|
||||
This package contains the localized help files of LibreOffice in
|
||||
${ln}
|
||||
EOF
|
||||
echo "%files help-$l -f file-lists/help_${l}_list.txt"
|
2623
libreoffice.spec
2623
libreoffice.spec
File diff suppressed because it is too large
Load diff
71
locales.csv
Normal file
71
locales.csv
Normal file
|
@ -0,0 +1,71 @@
|
|||
af;Afrikaans
|
||||
ar;Arabic
|
||||
as;Assamese
|
||||
bg;Bulgarian
|
||||
bn;Bengali
|
||||
br;Breton
|
||||
bs;Bosnian
|
||||
ca;Catalan
|
||||
cs;Czech
|
||||
cy;Welsh
|
||||
da;Danish
|
||||
de;German
|
||||
dz;Dzongkha
|
||||
el;Greek
|
||||
en_GB;British English
|
||||
en_US;American English
|
||||
es;Spanish
|
||||
et;Estonian
|
||||
eu;Basque
|
||||
fa;Farsi
|
||||
fi;Finnish
|
||||
fr;French
|
||||
ga;Irish
|
||||
gl;Galician
|
||||
gu;Gujarati
|
||||
he;Hebrew
|
||||
hi;Hindi
|
||||
hr;Croatian
|
||||
hu;Hungarian
|
||||
it;Italian
|
||||
ja;Japanese
|
||||
kn;Kannada
|
||||
ko;Korean
|
||||
lt;Lithuanian
|
||||
lv;Latvian
|
||||
mai;Maithili
|
||||
ml;Malayalam
|
||||
mk;Macedonian
|
||||
mr;Marathi
|
||||
nb;Norwegian Bokmal
|
||||
nl;Dutch
|
||||
nn;Norwegian Nynorsk
|
||||
nr;Ndebele
|
||||
nso;Northern Shoto
|
||||
or;Oriya
|
||||
pa_IN;Punjabi
|
||||
pl;Polish
|
||||
pt;Portuguese
|
||||
pt_BR;Portuguese Brazilian
|
||||
ro;Romanian
|
||||
ru;Russian
|
||||
shs;Secwepemctsin
|
||||
si;Sinhalese
|
||||
sk;Slovak
|
||||
sl;Slovenian
|
||||
sr;Serbian
|
||||
st;Sotho
|
||||
ss;Swati
|
||||
sv;Swedish
|
||||
ta;Tamil
|
||||
te;Telugu
|
||||
th;Thai
|
||||
tn;Tswana
|
||||
tr;Turkish
|
||||
ts;Tsonga
|
||||
uk;Ukrainian
|
||||
ve;Venda
|
||||
xh;Xhosa
|
||||
zh_CN;Chinese Simplified
|
||||
zh_TW;Chinese Traditional
|
||||
zu;Zulu
|
|
5
loffice-libcxx-wrapper.sh
Normal file
5
loffice-libcxx-wrapper.sh
Normal file
|
@ -0,0 +1,5 @@
|
|||
#!/bin/sh
|
||||
|
||||
linker_flags="$(echo "$@" | tr ' ' '\n' | grep '^\-l' | tr '\n' ' ')"
|
||||
|
||||
/usr/bin/clang++ "$@" $LIBCCX_LIBS $linker_flags
|
22
span-old-compilers.patch
Normal file
22
span-old-compilers.patch
Normal file
|
@ -0,0 +1,22 @@
|
|||
In rosa2016.1, we are building LibreOffice with clang 8 and libstdc++ from GCC 10.
|
||||
Seems that libstdc++-gcc-10 does have the span header, but clang 8 is not capable of std::span:
|
||||
"error: no member named 'span' in namespace 'std'"
|
||||
(I am not sure)
|
||||
include/o3tl/span.hxx tries to use system <span> when available and uses the built in implementation when it is not available.
|
||||
This patch tricks the compiler to always use the built in implementation.
|
||||
|
||||
TODO: maybe fix libstdc++-gcc10 so that it by default reports that <span> header does not exist.
|
||||
|
||||
// mikhailnov, 04.04.2020
|
||||
|
||||
--- libreoffice-6.3.5.2/include/o3tl/span.hxx.orig2 2020-04-04 17:41:58.575172521 +0300
|
||||
+++ libreoffice-6.3.5.2/include/o3tl/span.hxx 2020-04-04 18:17:09.141934433 +0300
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
#include <sal/config.h>
|
||||
|
||||
-#if __has_include(<span>)
|
||||
+#if 0
|
||||
|
||||
#include <span>
|
||||
|
Loading…
Add table
Reference in a new issue