diff options
author | Xisco Fauli <xiscofauli@libreoffice.org> | 2024-10-22 17:22:09 +0200 |
---|---|---|
committer | Xisco Fauli <xiscofauli@libreoffice.org> | 2024-10-22 23:48:27 +0200 |
commit | 0ffb4c73916321b12e7049e8f54b46ebc40a5266 (patch) | |
tree | 25e14417f3c117c66a1ab94a606c5098e9f70ba5 /external | |
parent | 95e7d7c2715b061409c84e1b7d2e1b750c47f8c7 (diff) |
libvisio: upgrade to 0.1.8
Generated with:
./autogen.sh
./configure
make dist-xz
Change-Id: I6ff112ab2669d8ca7903f685486b5cd0f0348fd2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175442
Tested-by: Jenkins
Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
Diffstat (limited to 'external')
-rw-r--r-- | external/libvisio/UnpackedTarball_libvisio.mk | 5 | ||||
-rw-r--r-- | external/libvisio/solid-fill-style.patch | 198 | ||||
-rw-r--r-- | external/libvisio/ubsan.patch | 11 |
3 files changed, 0 insertions, 214 deletions
diff --git a/external/libvisio/UnpackedTarball_libvisio.mk b/external/libvisio/UnpackedTarball_libvisio.mk index b5f530fb2763..b4a3d912ef63 100644 --- a/external/libvisio/UnpackedTarball_libvisio.mk +++ b/external/libvisio/UnpackedTarball_libvisio.mk @@ -15,9 +15,4 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,libvisio,0)) $(eval $(call gb_UnpackedTarball_update_autoconf_configs,libvisio)) -$(eval $(call gb_UnpackedTarball_add_patches,libvisio, \ - external/libvisio/ubsan.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 deleted file mode 100644 index 53dc6a405e71..000000000000 --- a/external/libvisio/solid-fill-style.patch +++ /dev/null @@ -1,198 +0,0 @@ ---- 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/ubsan.patch b/external/libvisio/ubsan.patch deleted file mode 100644 index c9ffbd98f4b6..000000000000 --- a/external/libvisio/ubsan.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- src/lib/VSDContentCollector.cpp -+++ src/lib/VSDContentCollector.cpp -@@ -3220,7 +3220,7 @@ - } - if (U_SUCCESS(status) && conv) - { -- const auto *src = (const char *)&characters[0]; -+ const auto *src = (const char *)characters.data(); - const char *srcLimit = (const char *)src + characters.size(); - while (src < srcLimit) - { |