[Libreoffice-commits] core.git: Branch 'libreoffice-4-0' - libvisio/libvisio-0.0.30-msvc.patch.1 libvisio/UnpackedTarball_visio.mk

Fridrich Å trba fridrich.strba at bluewin.ch
Sat Jul 13 11:40:07 PDT 2013


 libvisio/UnpackedTarball_visio.mk     |    4 ++++
 libvisio/libvisio-0.0.30-msvc.patch.1 |   12 ++++++++++++
 2 files changed, 16 insertions(+)

New commits:
commit 763b7edb7ac501a93e67e3c679734a74e766c7bf
Author: Fridrich Å trba <fridrich.strba at bluewin.ch>
Date:   Sat Jul 13 08:13:39 2013 +0200

    Fix some runtime exceptions with msvc-built libvisio
    
    The previous code was causing silent exceptions in some particular
    cases. Passing through a temporary works well.
    
    (cherry picked from commit ae9003af4c3942aa184b67c3cb7687f9dfc7dd5e)
    
    Conflicts:
    	libvisio/UnpackedTarball_libvisio.mk
    
    Change-Id: I71a9a58b98b5f392da4d8a4c8d08ddc1487ec79f
    Reviewed-on: https://gerrit.libreoffice.org/4879
    Reviewed-by: Norbert Thiebaud <nthiebaud at gmail.com>
    Tested-by: Norbert Thiebaud <nthiebaud at gmail.com>

diff --git a/libvisio/UnpackedTarball_visio.mk b/libvisio/UnpackedTarball_visio.mk
index aa9113b..20ed993 100644
--- a/libvisio/UnpackedTarball_visio.mk
+++ b/libvisio/UnpackedTarball_visio.mk
@@ -11,4 +11,8 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,visio))
 
 $(eval $(call gb_UnpackedTarball_set_tarball,visio,$(VISIO_TARBALL)))
 
+$(eval $(call gb_UnpackedTarball_add_patches,visio,\
+	libvisio/libvisio-0.0.30-msvc.patch.1 \
+))
+
 # vim: set noet sw=4 ts=4:
diff --git a/libvisio/libvisio-0.0.30-msvc.patch.1 b/libvisio/libvisio-0.0.30-msvc.patch.1
new file mode 100644
index 0000000..4483806
--- /dev/null
+++ b/libvisio/libvisio-0.0.30-msvc.patch.1
@@ -0,0 +1,12 @@
+--- a/src/lib/VSDContentCollector.cpp
++++ b/src/lib/VSDContentCollector.cpp
+@@ -655,7 +655,8 @@ void libvisio::VSDContentCollector::_flushText()
+       {
+         // Insert duplicate
+         std::vector<VSDCharStyle>::iterator charIt = m_charFormats.begin() + charIndex;
+-        m_charFormats.insert(charIt, m_charFormats[charIndex]);
++        VSDCharStyle tmpCharFormat = m_charFormats[charIndex];
++        m_charFormats.insert(charIt, tmpCharFormat);
+         m_charFormats[charIndex].charCount = paraCharCount;
+         m_charFormats[charIndex+1].charCount -= paraCharCount;
+       }


More information about the Libreoffice-commits mailing list