diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 09:44:04 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 09:44:04 +0000 |
commit | eb358d77291eba677141bab113dc27d7aabb0f3e (patch) | |
tree | 2e96f3b5d0c79beaeb536bbf05c3b8564846e65f /external | |
parent | Adding debian version 4:24.2.1-4. (diff) | |
download | libreoffice-eb358d77291eba677141bab113dc27d7aabb0f3e.tar.xz libreoffice-eb358d77291eba677141bab113dc27d7aabb0f3e.zip |
Merging upstream version 4:24.2.2.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'external')
-rw-r--r-- | external/boost/UnpackedTarball_boost.mk | 1 | ||||
-rw-r--r-- | external/boost/windows-no-utf8-locales.patch.0 | 23 | ||||
-rw-r--r-- | external/expat/0001-Fix-compiler-warnings.patch | 47 | ||||
-rw-r--r-- | external/expat/UnpackedTarball_expat.mk | 3 | ||||
-rw-r--r-- | external/gpgmepp/ExternalPackage_gpgmepp.mk | 4 | ||||
-rw-r--r-- | external/gpgmepp/Library_gpgmepp.mk | 1 | ||||
-rw-r--r-- | external/gpgmepp/UnpackedTarball_gpgmepp.mk | 1 | ||||
-rwxr-xr-x | external/gpgmepp/Wincompatible-function-pointer-types.patch | 4 | ||||
-rw-r--r-- | external/gpgmepp/macos-tdf152524.patch | 102 | ||||
-rw-r--r-- | external/gpgmepp/w32-build-fixes.patch.1 | 19 | ||||
-rw-r--r-- | external/libvisio/UnpackedTarball_libvisio.mk | 2 | ||||
-rw-r--r-- | external/libvisio/solid-fill-style.patch | 198 | ||||
-rw-r--r-- | external/libvisio/tdf-77915-fix-import-of-default-shape-fill-color.patch | 13 | ||||
-rw-r--r-- | external/libxml2/UnpackedTarball_libxml2.mk | 2 | ||||
-rw-r--r-- | external/more_fonts/ExternalPackage_noto_kufi_arabic.mk | 4 | ||||
-rw-r--r-- | external/more_fonts/UnpackedTarball_noto_kufi_arabic.mk | 2 | ||||
-rw-r--r-- | external/skia/Library_skia.mk | 5 |
17 files changed, 356 insertions, 75 deletions
diff --git a/external/boost/UnpackedTarball_boost.mk b/external/boost/UnpackedTarball_boost.mk index d8bd131ac8..8ab4d79499 100644 --- a/external/boost/UnpackedTarball_boost.mk +++ b/external/boost/UnpackedTarball_boost.mk @@ -26,6 +26,7 @@ boost_patches += boost_1_59_0.property_tree.wreturn-type.patch boost_patches += clang-cl.patch.0 boost_patches += boost_1_63_0.undef.warning.patch.1 +boost_patches += windows-no-utf8-locales.patch.0 boost_patches += msvc2017.patch.0 diff --git a/external/boost/windows-no-utf8-locales.patch.0 b/external/boost/windows-no-utf8-locales.patch.0 new file mode 100644 index 0000000000..519d8bde2f --- /dev/null +++ b/external/boost/windows-no-utf8-locales.patch.0 @@ -0,0 +1,23 @@ +Don't ever attempt to initialise a std::locale with a UTF-8 locale on Windows -*- Mode: Diff -*- + +--- libs/locale/src/boost/locale/std/std_backend.cpp ++++ libs/locale/src/boost/locale/std/std_backend.cpp +@@ -86,6 +86,7 @@ + #endif + utf_mode_ = utf8_support::none; + } else { ++ #if !defined(BOOST_WINDOWS) + if(loadable(lid)) { + name_ = lid; + utf_mode_ = utf8_support::native_with_wide; +@@ -98,8 +99,8 @@ + utf_mode_ = utf8_support::from_wide; + #endif + } +-#if defined(BOOST_WINDOWS) +- else if(loadable(win_name)) ++ #else ++ if(loadable(win_name)) + { + name_ = win_name; + utf_mode_ = utf8_support::from_wide; diff --git a/external/expat/0001-Fix-compiler-warnings.patch b/external/expat/0001-Fix-compiler-warnings.patch deleted file mode 100644 index adec5ed0d9..0000000000 --- a/external/expat/0001-Fix-compiler-warnings.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 3f60a47cb5716bb810789a12ef6024c1dc448164 Mon Sep 17 00:00:00 2001 -From: Taichi Haradaguchi <20001722@ymail.ne.jp> -Date: Fri, 9 Feb 2024 19:28:35 +0900 -Subject: [PATCH] Fix compiler warnings - -> In file included from ./../lib/internal.h:149, -> from codepage.c:38: -> ./../lib/expat.h:1045:5: warning: "XML_GE" is not defined, evaluates to 0 [-Wundef] -> 1045 | #if XML_GE == 1 -> | ^~~~~~ -> ./../lib/internal.h:158:5: warning: "XML_GE" is not defined, evaluates to 0 [-Wundef] -> 158 | #if XML_GE == 1 -> | ^~~~~~ ---- - expat/lib/expat.h | 2 +- - expat/lib/internal.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/expat/lib/expat.h b/expat/lib/expat.h -index 95464b0d..79bbfb61 100644 ---- a/expat/lib/expat.h -+++ b/expat/lib/expat.h -@@ -1042,7 +1042,7 @@ typedef struct { - XMLPARSEAPI(const XML_Feature *) - XML_GetFeatureList(void); - --#if XML_GE == 1 -+#if defined(XML_GE) && XML_GE == 1 - /* Added in Expat 2.4.0 for XML_DTD defined and - * added in Expat 2.6.0 for XML_GE == 1. */ - XMLPARSEAPI(XML_Bool) -diff --git a/expat/lib/internal.h b/expat/lib/internal.h -index cce71e4c..208c6b67 100644 ---- a/expat/lib/internal.h -+++ b/expat/lib/internal.h -@@ -155,7 +155,7 @@ extern "C" { - void _INTERNAL_trim_to_complete_utf8_characters(const char *from, - const char **fromLimRef); - --#if XML_GE == 1 -+#if defined(XML_GE) && XML_GE == 1 - unsigned long long testingAccountingGetCountBytesDirect(XML_Parser parser); - unsigned long long testingAccountingGetCountBytesIndirect(XML_Parser parser); - const char *unsignedCharToPrintable(unsigned char c); --- -2.43.1 - diff --git a/external/expat/UnpackedTarball_expat.mk b/external/expat/UnpackedTarball_expat.mk index 465105f2ca..5d4f41f6d1 100644 --- a/external/expat/UnpackedTarball_expat.mk +++ b/external/expat/UnpackedTarball_expat.mk @@ -13,10 +13,7 @@ $(eval $(call gb_UnpackedTarball_set_tarball,expat,$(EXPAT_TARBALL))) $(eval $(call gb_UnpackedTarball_update_autoconf_configs,expat,conftools)) -# * external/expat/0001-Fix-compiler-warnings.patch was sent to upstream as -# <https://github.com/libexpat/libexpat/pull/819> "Fix compiler warnings": $(eval $(call gb_UnpackedTarball_add_patches,expat,\ - external/expat/0001-Fix-compiler-warnings.patch \ external/expat/expat-winapi.patch \ )) diff --git a/external/gpgmepp/ExternalPackage_gpgmepp.mk b/external/gpgmepp/ExternalPackage_gpgmepp.mk index ef49c398d2..be32afd6b3 100644 --- a/external/gpgmepp/ExternalPackage_gpgmepp.mk +++ b/external/gpgmepp/ExternalPackage_gpgmepp.mk @@ -15,8 +15,8 @@ ifneq ($(DISABLE_DYNLOADING),TRUE) ifeq ($(OS),LINUX) -$(eval $(call gb_ExternalPackage_add_file,gpgmepp,$(LIBO_LIB_FOLDER)/libgpgmepp.so.6,lang/cpp/src/.libs/libgpgmepp.so.6.17.0)) -$(eval $(call gb_ExternalPackage_add_file,gpgmepp,$(LIBO_LIB_FOLDER)/libgpgme.so.11,src/.libs/libgpgme.so.11.29.0)) +$(eval $(call gb_ExternalPackage_add_file,gpgmepp,$(LIBO_LIB_FOLDER)/libgpgmepp.so.6,lang/cpp/src/.libs/libgpgmepp.so.6.20.1)) +$(eval $(call gb_ExternalPackage_add_file,gpgmepp,$(LIBO_LIB_FOLDER)/libgpgme.so.11,src/.libs/libgpgme.so.11.32.1)) else ifeq ($(OS),MACOSX) diff --git a/external/gpgmepp/Library_gpgmepp.mk b/external/gpgmepp/Library_gpgmepp.mk index ac71cf8b90..8191e55d47 100644 --- a/external/gpgmepp/Library_gpgmepp.mk +++ b/external/gpgmepp/Library_gpgmepp.mk @@ -72,6 +72,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,gpgmepp,\ UnpackedTarball/gpgmepp/lang/cpp/src/keylistresult \ UnpackedTarball/gpgmepp/lang/cpp/src/scdgetinfoassuantransaction \ UnpackedTarball/gpgmepp/lang/cpp/src/signingresult \ + UnpackedTarball/gpgmepp/lang/cpp/src/statusconsumerassuantransaction \ UnpackedTarball/gpgmepp/lang/cpp/src/swdbresult \ UnpackedTarball/gpgmepp/lang/cpp/src/tofuinfo \ UnpackedTarball/gpgmepp/lang/cpp/src/trustitem \ diff --git a/external/gpgmepp/UnpackedTarball_gpgmepp.mk b/external/gpgmepp/UnpackedTarball_gpgmepp.mk index d7b7a8ab4d..dcbda38d59 100644 --- a/external/gpgmepp/UnpackedTarball_gpgmepp.mk +++ b/external/gpgmepp/UnpackedTarball_gpgmepp.mk @@ -34,5 +34,6 @@ $(eval $(call gb_UnpackedTarball_add_patches,gpgmepp, \ external/gpgmepp/w32-include.patch \ external/gpgmepp/Wincompatible-function-pointer-types.patch \ external/gpgmepp/macos-macports-path.patch \ + external/gpgmepp/macos-tdf152524.patch \ )) # vim: set noet sw=4 ts=4: diff --git a/external/gpgmepp/Wincompatible-function-pointer-types.patch b/external/gpgmepp/Wincompatible-function-pointer-types.patch index 050d2e55cf..cd4f1117fd 100755 --- a/external/gpgmepp/Wincompatible-function-pointer-types.patch +++ b/external/gpgmepp/Wincompatible-function-pointer-types.patch @@ -20,8 +20,8 @@ (void)ctx; --- src/gpgme-w32spawn.c +++ src/gpgme-w32spawn.c -@@ -243,7 +243,7 @@ - handle = LoadLibrary ("user32.dll"); +@@ -24,7 +249,7 @@ + handle = LoadLibraryA ("user32.dll"); if (handle) { - func = GetProcAddress (handle, "AllowSetForegroundWindow"); diff --git a/external/gpgmepp/macos-tdf152524.patch b/external/gpgmepp/macos-tdf152524.patch new file mode 100644 index 0000000000..c1cdd047db --- /dev/null +++ b/external/gpgmepp/macos-tdf152524.patch @@ -0,0 +1,102 @@ +--- src/posix-io.c 2023-02-01 11:50:48 ++++ src/posix-io.c 2024-03-21 09:50:24 +@@ -67,6 +67,13 @@ + #include "priv-io.h" + #include "sema.h" + #include "debug.h" ++ ++#if HAVE_MACOS_SYSTEM ++#include <dispatch/dispatch.h> ++#include <spawn.h> ++ ++extern char **environ; ++#endif + + + #ifdef USE_LINUX_GETDENTS +@@ -515,6 +522,15 @@ + } + return 0; + } ++ ++ ++#if HAVE_MACOS_SYSTEM ++static int ++_gpgme_io_spawn_macos (const char *path, char *const argv[], unsigned int flags, ++ struct spawn_fd_item_s *fd_list, ++ void (*atfork) (void *opaque, int reserved), ++ void *atforkvalue, pid_t *r_pid); ++#endif /*HAVE_MACOS_SYSTEM*/ + + + /* Returns 0 on success, -1 on error. */ +@@ -523,6 +539,35 @@ + struct spawn_fd_item_s *fd_list, + void (*atfork) (void *opaque, int reserved), + void *atforkvalue, pid_t *r_pid) ++#if HAVE_MACOS_SYSTEM ++{ ++ /* tdf#152524 fork() and exec() in a separate libdispatch queue ++ * This is another attempt to stop the crashing in libdispatch by ++ * running fork() and exec() within a libdispatch task that will ++ * run in a sequential queue in a non-main thread. */ ++ static dispatch_queue_t queue = NULL; ++ if (!queue) ++ queue = dispatch_queue_create ("gpgmepp", ++ DISPATCH_QUEUE_CONCURRENT); ++ if (!queue) ++ return -1; ++ ++ __block int ret = -1; ++ dispatch_sync(queue, ^{ ++ ret = _gpgme_io_spawn_macos (path, argv, flags, ++ fd_list, atfork, ++ atforkvalue, r_pid); ++ }); ++ ++ return ret; ++} ++ ++static int ++_gpgme_io_spawn_macos (const char *path, char *const argv[], unsigned int flags, ++ struct spawn_fd_item_s *fd_list, ++ void (*atfork) (void *opaque, int reserved), ++ void *atforkvalue, pid_t *r_pid) ++#endif /*HAVE_MACOS_SYSTEM*/ + { + pid_t pid; + int i; +@@ -552,8 +597,15 @@ + if (!pid) + { + /* Intermediate child to prevent zombie processes. */ ++#if HAVE_MACOS_SYSTEM ++ /* tdf#152524 fix crash by skipping second fork() ++ * Instead of calling a second fork() in the child process, replace ++ * execv() with posix_spawn(). posix_spawn() does not call any atfork ++ * handlers so the atfork handler that crashes will be skipped. */ ++#else /*HAVE_MACOS_SYSTEM*/ + if ((pid = fork ()) == 0) + { ++#endif /*HAVE_MACOS_SYSTEM*/ + /* Child. */ + int max_fds = -1; + int fd; +@@ -664,6 +716,9 @@ + close (fd); + } + ++#if HAVE_MACOS_SYSTEM ++ _exit(posix_spawn(NULL, path, NULL, NULL, argv, environ)); ++#else /*HAVE_MACOS_SYSTEM*/ + execv (path, (char *const *) argv); + /* Hmm: in that case we could write a special status code to the + status-pipe. */ +@@ -674,6 +729,7 @@ + _exit (1); + else + _exit (0); ++#endif /*HAVE_MACOS_SYSTEM*/ + } + + TRACE_LOG ("waiting for child process pid=%i", pid); diff --git a/external/gpgmepp/w32-build-fixes.patch.1 b/external/gpgmepp/w32-build-fixes.patch.1 index 4d9428781c..250b2022c5 100644 --- a/external/gpgmepp/w32-build-fixes.patch.1 +++ b/external/gpgmepp/w32-build-fixes.patch.1 @@ -24,6 +24,19 @@ diff -ru gpgme.orig/src/dirinfo.c gpgme/src/dirinfo.c /* Constants used internally to select the data. */ enum { +diff -ru gpgme.orig/src/gpgme-w32spawn.c gpgme/src/gpgme-w32spawn.c +--- gpgme.orig/src/gpgme-w32spawn.c 2023-10-27 21:27:30.000000000 +0900 ++++ gpgme/src/gpgme-w32spawn.c 2024-02-26 17:32:59.949338645 +0900 +@@ -52,6 +52,9 @@ + #define mystderr stderr + #endif + ++#ifdef _MSC_VER ++#define snwprintf _snwprintf ++#endif + + + static wchar_t * diff -ru gpgme.orig/src/mbox-util.c gpgme/src/mbox-util.c --- gpgme.orig/src/mbox-util.c 2016-11-16 13:22:41.000000000 +0100 +++ gpgme/src/mbox-util.c 2017-09-30 08:18:29.270567500 +0200 @@ -53,16 +66,16 @@ diff -ru gpgme.orig/src/priv-io.h gpgme/src/priv-io.h diff -ru gpgme.orig/src/util.h gpgme/src/util.h --- gpgme.orig/src/util.h 2017-03-28 11:41:30.000000000 +0200 +++ gpgme/src/util.h 2017-09-30 08:10:54.194049100 +0200 -@@ -35,6 +35,9 @@ - #ifdef HAVE_UNISTD_H +@@ -36,6 +36,9 @@ # include <unistd.h> #endif + #include <stdint.h> +#ifdef _MSC_VER +typedef int pid_t; +#endif - #include "gpgme.h" + #include "gpgme.h" diff -ru gpgme.orig/src/w32-util.c gpgme/src/w32-util.c --- gpgme.orig/src/w32-util.c 2017-03-09 09:01:10.000000000 +0100 +++ gpgme/src/w32-util.c 2017-09-30 08:32:02.114330500 +0200 diff --git a/external/libvisio/UnpackedTarball_libvisio.mk b/external/libvisio/UnpackedTarball_libvisio.mk index 85e356db88..b5f530fb27 100644 --- a/external/libvisio/UnpackedTarball_libvisio.mk +++ b/external/libvisio/UnpackedTarball_libvisio.mk @@ -17,7 +17,7 @@ $(eval $(call gb_UnpackedTarball_update_autoconf_configs,libvisio)) $(eval $(call gb_UnpackedTarball_add_patches,libvisio, \ external/libvisio/ubsan.patch \ - external/libvisio/tdf-77915-fix-import-of-default-shape-fill-color.patch \ + external/libvisio/solid-fill-style.patch \ )) # vim: set noet sw=4 ts=4: diff --git a/external/libvisio/solid-fill-style.patch b/external/libvisio/solid-fill-style.patch new file mode 100644 index 0000000000..53dc6a405e --- /dev/null +++ b/external/libvisio/solid-fill-style.patch @@ -0,0 +1,198 @@ +--- src/lib/VSDStyles.h ++++ src/lib/VSDStyles.h +@@ -179,14 +177,13 @@ struct VSDFillStyle + ASSIGN_OPTIONAL(style.qsFillMatrix, qsFillMatrix); + if (theme) + { +- if (!!style.qsFillColour && style.qsFillColour.get() >= 0) +- ASSIGN_OPTIONAL(theme->getThemeColour(style.qsFillColour.get()), fgColour); +- +- if (!!style.qsFillColour && style.qsFillColour.get() >= 0) +- ASSIGN_OPTIONAL(theme->getThemeColour(style.qsFillColour.get()), bgColour); +- +- if (!!style.qsShadowColour && style.qsShadowColour.get() >= 0) +- ASSIGN_OPTIONAL(theme->getThemeColour(style.qsShadowColour.get()), shadowFgColour); ++ // Quick Style Colour 100 is special. It is the default, ++ // and it is not saved explicitely in the VSDX file. ++ ASSIGN_OPTIONAL(theme->getThemeColour(style.qsFillColour.value_or(100)), fgColour); ++ ASSIGN_OPTIONAL(theme->getThemeColour(style.qsFillColour.value_or(100)), bgColour); ++ ASSIGN_OPTIONAL(theme->getThemeColour(style.qsShadowColour.value_or(100)), shadowFgColour); ++ if (!!style.qsFillMatrix && style.qsFillMatrix.get() >= 0) ++ ASSIGN_OPTIONAL(theme->getFillStyleColour(style.qsFillMatrix.get()), fgColour); + } + ASSIGN_OPTIONAL(style.fgColour, fgColour); + ASSIGN_OPTIONAL(style.bgColour, bgColour); +--- src/lib/VSDXTheme.cpp ++++ src/lib/VSDXTheme.cpp +@@ -63,7 +63,8 @@ libvisio::VSDXFontScheme::VSDXFontScheme() + + libvisio::VSDXTheme::VSDXTheme() + : m_clrScheme(), +- m_fontScheme() ++ m_fontScheme(), ++ m_fillStyleLst(std::vector<boost::optional<libvisio::Colour>>(6)) + { + } + +@@ -102,6 +103,9 @@ bool libvisio::VSDXTheme::parse(librevenge::RVNGInputStream *input) + case XML_A_FONTSCHEME: + readFontScheme(reader.get()); + break; ++ case XML_A_FMTSCHEME: ++ readFmtScheme(reader.get()); ++ break; + default: + break; + } +@@ -320,7 +324,7 @@ void libvisio::VSDXTheme::readClrScheme(xmlTextReaderPtr reader) + while ((XML_A_CLRSCHEME != tokenId || XML_READER_TYPE_END_ELEMENT != tokenType) && 1 == ret); + } + +-void libvisio::VSDXTheme::readThemeColour(xmlTextReaderPtr reader, int idToken, Colour &clr) ++bool libvisio::VSDXTheme::readThemeColour(xmlTextReaderPtr reader, int idToken, Colour &clr) + { + int ret = 1; + int tokenId = XML_TOKEN_INVALID; +@@ -350,7 +354,11 @@ void libvisio::VSDXTheme::readThemeColour(xmlTextReaderPtr reader, int idToken, + while ((idToken != tokenId || XML_READER_TYPE_END_ELEMENT != tokenType) && 1 == ret); + + if (colour) ++ { + clr = *colour; ++ return true; ++ } ++ return false; + } + + void libvisio::VSDXTheme::readVariationClrSchemeLst(xmlTextReaderPtr reader) +@@ -491,4 +499,96 @@ boost::optional<libvisio::Colour> libvisio::VSDXTheme::getThemeColour(unsigned v + return boost::optional<libvisio::Colour>(); + } + ++void libvisio::VSDXTheme::readFmtScheme(xmlTextReaderPtr reader) ++{ ++ VSD_DEBUG_MSG(("VSDXTheme::readFmtScheme\n")); ++ int ret = 1; ++ int tokenId = XML_TOKEN_INVALID; ++ int tokenType = -1; ++ do ++ { ++ ret = xmlTextReaderRead(reader); ++ tokenId = getElementToken(reader); ++ if (XML_TOKEN_INVALID == tokenId) ++ { ++ VSD_DEBUG_MSG(("VSDXTheme::readFmtScheme: unknown token %s\n", xmlTextReaderConstName(reader))); ++ } ++ tokenType = xmlTextReaderNodeType(reader); ++ switch (tokenId) ++ { ++ case XML_A_FILLSTYLELST: ++ { ++ readFillStyleLst(reader); ++ break; ++ } ++ default: ++ // Other style lists not implemented ++ break; ++ } ++ } while ((XML_A_FMTSCHEME != tokenId || XML_READER_TYPE_END_ELEMENT != tokenType) && 1 == ret); ++} ++ ++void libvisio::VSDXTheme::skipUnimplemented(xmlTextReaderPtr reader, int idToken) ++{ ++ int ret = 1; ++ int tokenId = XML_TOKEN_INVALID; ++ int tokenType = -1; ++ do ++ { ++ ret = xmlTextReaderRead(reader); ++ tokenId = getElementToken(reader); ++ if (XML_TOKEN_INVALID == tokenId) ++ { ++ VSD_DEBUG_MSG(("VSDXTheme::skipUnimplemented: unknown token %s\n", xmlTextReaderConstName(reader))); ++ } ++ tokenType = xmlTextReaderNodeType(reader); ++ } while ((idToken != tokenId || XML_READER_TYPE_END_ELEMENT != tokenType) && 1 == ret); ++} ++ ++void libvisio::VSDXTheme::readFillStyleLst(xmlTextReaderPtr reader) ++{ ++ VSD_DEBUG_MSG(("VSDXTheme::readFillStyleLst\n")); ++ int ret = xmlTextReaderRead(reader); ++ int tokenId = getElementToken(reader); ++ if (XML_TOKEN_INVALID == tokenId) ++ { ++ VSD_DEBUG_MSG(("VSDXTheme::readFillStyleLst: unknown token %s\n", xmlTextReaderConstName(reader))); ++ } ++ int tokenType = xmlTextReaderNodeType(reader); ++ int i = 0; ++ while ((XML_A_FILLSTYLELST != tokenId || XML_READER_TYPE_END_ELEMENT != tokenType) && 1 == ret) ++ { ++ switch (tokenId) ++ { ++ case XML_A_SOLIDFILL: ++ { ++ Colour colour; ++ if (readThemeColour(reader, tokenId, colour)) ++ { ++ m_fillStyleLst[i] = colour; ++ } ++ break; ++ } ++ default: ++ // Skip unimplemented fill type ++ skipUnimplemented(reader, tokenId); ++ break; ++ } ++ ret = xmlTextReaderRead(reader); ++ tokenId = getElementToken(reader); ++ if (XML_TOKEN_INVALID == tokenId) ++ { ++ VSD_DEBUG_MSG(("VSDXTheme::readFillStyleLst: unknown token %s\n", xmlTextReaderConstName(reader))); ++ } ++ tokenType = xmlTextReaderNodeType(reader); ++ } ++} ++ ++boost::optional<libvisio::Colour> libvisio::VSDXTheme::getFillStyleColour(unsigned value) const ++{ ++ if (value == 0 || value > m_fillStyleLst.size()) ++ return boost::optional<libvisio::Colour>(); ++ return m_fillStyleLst[value - 1]; ++} ++ + /* vim:set shiftwidth=2 softtabstop=2 expandtab: */ +--- src/lib/VSDXTheme.h ++++ src/lib/VSDXTheme.h +@@ -80,6 +80,7 @@ public: + ~VSDXTheme(); + bool parse(librevenge::RVNGInputStream *input); + boost::optional<Colour> getThemeColour(unsigned value, unsigned variationIndex = 0) const; ++ boost::optional<Colour> getFillStyleColour(unsigned value) const; + + private: + VSDXTheme(const VSDXTheme &); +@@ -89,18 +90,22 @@ private: + boost::optional<Colour> readSysClr(xmlTextReaderPtr reader); + + void readClrScheme(xmlTextReaderPtr reader); +- void readThemeColour(xmlTextReaderPtr reader, int idToken, Colour &clr); ++ bool readThemeColour(xmlTextReaderPtr reader, int idToken, Colour &clr); + void readVariationClrSchemeLst(xmlTextReaderPtr reader); + void readVariationClrScheme(xmlTextReaderPtr reader, VSDXVariationClrScheme &varClrSch); + void readFontScheme(xmlTextReaderPtr reader); + void readFont(xmlTextReaderPtr reader, int idToken, VSDXFont &font); + bool readTypeFace(xmlTextReaderPtr reader, librevenge::RVNGString &typeFace); + bool readTypeFace(xmlTextReaderPtr reader, int &script, librevenge::RVNGString &typeFace); ++ void readFmtScheme(xmlTextReaderPtr reader); ++ void readFillStyleLst(xmlTextReaderPtr reader); + + int getElementToken(xmlTextReaderPtr reader); ++ void skipUnimplemented(xmlTextReaderPtr reader, int idToken); + + VSDXClrScheme m_clrScheme; + VSDXFontScheme m_fontScheme; ++ std::vector<boost::optional<Colour>> m_fillStyleLst; + }; + + } // namespace libvisio diff --git a/external/libvisio/tdf-77915-fix-import-of-default-shape-fill-color.patch b/external/libvisio/tdf-77915-fix-import-of-default-shape-fill-color.patch deleted file mode 100644 index 68c0c2c88b..0000000000 --- a/external/libvisio/tdf-77915-fix-import-of-default-shape-fill-color.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- src/lib/VSDStyles.h -+++ src/lib/VSDStyles.h -@@ -129,7 +129,9 @@ struct VSDOptionalFillStyle - ASSIGN_OPTIONAL(style.qsFillColour, qsFillColour); - ASSIGN_OPTIONAL(style.qsShadowColour, qsShadowColour); - ASSIGN_OPTIONAL(style.qsFillMatrix, qsFillMatrix); -- ASSIGN_OPTIONAL(style.fgColour, fgColour); -+ // Colour 'Blue, Variant 1' is special. It is the default, -+ // and it is not saved explicitely in the VSDX file. -+ ASSIGN_OPTIONAL(style.fgColour, fgColour);else fgColour = Colour(0x5b, 0x9b, 0xd5, 0); - ASSIGN_OPTIONAL(style.bgColour, bgColour); - ASSIGN_OPTIONAL(style.shadowFgColour, shadowFgColour); - } diff --git a/external/libxml2/UnpackedTarball_libxml2.mk b/external/libxml2/UnpackedTarball_libxml2.mk index d50d52cbee..489fb00757 100644 --- a/external/libxml2/UnpackedTarball_libxml2.mk +++ b/external/libxml2/UnpackedTarball_libxml2.mk @@ -14,7 +14,7 @@ $(eval $(call gb_UnpackedTarball_set_tarball,libxml2,$(LIBXML_TARBALL),,libxml2) $(eval $(call gb_UnpackedTarball_update_autoconf_configs,libxml2)) $(eval $(call gb_UnpackedTarball_add_patches,libxml2,\ - external/libxml2/libxml2-global-symbols.patch \ + $(if $(filter SOLARIS,$(OS)),external/libxml2/libxml2-global-symbols.patch) \ external/libxml2/libxml2-vc10.patch \ external/libxml2/libxml2-XMLCALL-redefine.patch.0 \ $(if $(filter ANDROID,$(OS)),external/libxml2/libxml2-android.patch) \ diff --git a/external/more_fonts/ExternalPackage_noto_kufi_arabic.mk b/external/more_fonts/ExternalPackage_noto_kufi_arabic.mk index 300e0c8efb..2a9a053b48 100644 --- a/external/more_fonts/ExternalPackage_noto_kufi_arabic.mk +++ b/external/more_fonts/ExternalPackage_noto_kufi_arabic.mk @@ -10,8 +10,8 @@ $(eval $(call gb_ExternalPackage_ExternalPackage,fonts_noto_kufi_arabic,font_noto_kufi_arabic)) $(eval $(call gb_ExternalPackage_add_unpacked_files,fonts_noto_kufi_arabic,$(LIBO_SHARE_FOLDER)/fonts/truetype,\ - NotoKufiArabic-Bold.ttf \ - NotoKufiArabic-Regular.ttf \ + NotoKufiArabic/full/ttf/NotoKufiArabic-Bold.ttf \ + NotoKufiArabic/full/ttf/NotoKufiArabic-Regular.ttf \ )) # vim: set noet sw=4 ts=4: diff --git a/external/more_fonts/UnpackedTarball_noto_kufi_arabic.mk b/external/more_fonts/UnpackedTarball_noto_kufi_arabic.mk index 482727dd62..f5e70d0c5e 100644 --- a/external/more_fonts/UnpackedTarball_noto_kufi_arabic.mk +++ b/external/more_fonts/UnpackedTarball_noto_kufi_arabic.mk @@ -9,6 +9,6 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,font_noto_kufi_arabic)) -$(eval $(call gb_UnpackedTarball_set_tarball,font_noto_kufi_arabic,$(FONT_NOTO_KUFI_ARABIC_TARBALL))) +$(eval $(call gb_UnpackedTarball_set_tarball,font_noto_kufi_arabic,$(FONT_NOTO_KUFI_ARABIC_TARBALL),0)) # vim: set noet sw=4 ts=4: diff --git a/external/skia/Library_skia.mk b/external/skia/Library_skia.mk index c2163d2993..55af14cd2d 100644 --- a/external/skia/Library_skia.mk +++ b/external/skia/Library_skia.mk @@ -23,6 +23,7 @@ $(eval $(call gb_Library_add_defs,skia,\ -DSK_USER_CONFIG_HEADER="<$(BUILDDIR)/config_host/config_skia.h>" \ $(if $(filter INTEL,$(CPUNAME)),$(if $(filter WNT,$(OS)),-DSK_CPU_SSE_LEVEL=SK_CPU_SSE_LEVEL_SSE1,-DSK_CPU_SSE_LEVEL=0)) \ $(if $(filter X86_64,$(CPUNAME)),-DSK_CPU_SSE_LEVEL=SK_CPU_SSE_LEVEL_SSE2) \ + -DSK_ENABLE_SKSL_IN_RASTER_PIPELINE \ )) # SK_DEBUG controls runtime checks and is controlled by config_skia.h and depends on DBG_UTIL. @@ -565,6 +566,8 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\ UnpackedTarball/skia/src/sksl/analysis/SkSLReturnsInputAlpha \ UnpackedTarball/skia/src/sksl/analysis/SkSLSymbolTableStackBuilder \ UnpackedTarball/skia/src/sksl/analysis/SkSLSwitchCaseContainsExit \ + UnpackedTarball/skia/src/sksl/analysis/SkSLGetLoopControlFlowInfo \ + UnpackedTarball/skia/src/sksl/analysis/SkSLIsDynamicallyUniformExpression \ UnpackedTarball/skia/src/sksl/codegen/SkSLGLSLCodeGenerator \ UnpackedTarball/skia/src/sksl/codegen/SkSLMetalCodeGenerator \ UnpackedTarball/skia/src/sksl/codegen/SkSLPipelineStageCodeGenerator \ @@ -572,6 +575,8 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\ UnpackedTarball/skia/src/sksl/codegen/SkSLSPIRVtoHLSL \ UnpackedTarball/skia/src/sksl/codegen/SkSLVMCodeGenerator \ UnpackedTarball/skia/src/sksl/codegen/SkSLWGSLCodeGenerator \ + UnpackedTarball/skia/src/sksl/codegen/SkSLRasterPipelineBuilder \ + UnpackedTarball/skia/src/sksl/codegen/SkSLRasterPipelineCodeGenerator \ UnpackedTarball/skia/src/sksl/transform/SkSLAddConstToVarModifiers \ UnpackedTarball/skia/src/sksl/transform/SkSLEliminateDeadFunctions \ UnpackedTarball/skia/src/sksl/transform/SkSLEliminateDeadGlobalVariables \ |