summaryrefslogtreecommitdiff
path: root/media-gfx/synfig/files/01-workaround-to-implement.patch
diff options
context:
space:
mode:
authoreroen2018-04-06 19:09:20 +0200
committerErik Moen2019-08-28 19:26:46 +0200
commite92044fafd4838d845cbc08093d9831adadd4174 (patch)
treed0a86601d084da594f1cb8b88a9a5fbd10ae0394 /media-gfx/synfig/files/01-workaround-to-implement.patch
parent9a5aaaae3b2f88d0f32790adeecb5c18b072fd0d (diff)
downloaderoen-overlay-e92044fafd4838d845cbc08093d9831adadd4174.tar.gz
eroen-overlay-e92044fafd4838d845cbc08093d9831adadd4174.tar.bz2
eroen-overlay-e92044fafd4838d845cbc08093d9831adadd4174.tar.xz
synfig-1.2.1 - WIP new ebuild
Signed-off-by: Erik Moen <eroen-overlay@occam.eroen.eu>
Diffstat (limited to 'media-gfx/synfig/files/01-workaround-to-implement.patch')
-rw-r--r--media-gfx/synfig/files/01-workaround-to-implement.patch67
1 files changed, 67 insertions, 0 deletions
diff --git a/media-gfx/synfig/files/01-workaround-to-implement.patch b/media-gfx/synfig/files/01-workaround-to-implement.patch
new file mode 100644
index 00000000..2a846f41
--- /dev/null
+++ b/media-gfx/synfig/files/01-workaround-to-implement.patch
@@ -0,0 +1,67 @@
+Workaround to implement MagickCore's hidden InitializeExceptionInfo() method
+
+From: Matthew White <mehw.is.me@inventati.org>
+
+Since MagickCore version 7 deprecated methods have been removed.
+
+* synfig-core/src/modules/mod_magickpp/trgt_magickpp.cpp: Define
+ MagicCore's InitializeExceptionInfo() method, which indirectly calls
+ the hidden InitializeExceptionInfo() method.
+* synfig-core/src/modules/mod_magickpp/trgt_magickpp.cpp
+ (copy_image_list, ~magickpp_trgt): Call InitializeExceptionInfo()
+ rather than the deprecated GetExceptionInfo() method.
+
+References
+==========
+- GetExceptionInfo()
+ http://legacy.imagemagick.org/api/MagickCore/deprecate_8c.html#a7d788a94491285066ede5492babe205d
+- InitializeExceptionInfo()
+ http://legacy.imagemagick.org/api/MagickCore/exception_8c.html#aad9984b1b0d45c9fbac8f16a6192ef8f
+ http://www.imagemagick.org/api/MagickCore/exception_8c.html#aad9984b1b0d45c9fbac8f16a6192ef8f
+---
+ .../src/modules/mod_magickpp/trgt_magickpp.cpp | 18 ++++++++++++++++--
+ 1 file changed, 16 insertions(+), 2 deletions(-)
+
+diff --git a/synfig-core/src/modules/mod_magickpp/trgt_magickpp.cpp b/synfig-core/src/modules/mod_magickpp/trgt_magickpp.cpp
+index 7e537c9e7..312c5f3ed 100644
+--- a/synfig-core/src/modules/mod_magickpp/trgt_magickpp.cpp
++++ b/synfig-core/src/modules/mod_magickpp/trgt_magickpp.cpp
+@@ -54,6 +54,20 @@ SYNFIG_TARGET_SET_CVS_ID(magickpp_trgt,"$Id$");
+
+ /* === M E T H O D S ======================================================= */
+
++/*
++ * WORKAROUND
++ *
++ * Mimics the hidden MagickCore's InitializeExceptionInfo() method.
++ */
++namespace MagickCore {
++static void InitializeExceptionInfo(ExceptionInfo *exception)
++{
++ MagickCore::ExceptionInfo* exceptionInfo = AcquireExceptionInfo();
++ *exception = *exceptionInfo; // copy assignment, ExceptionInfo is a struct
++ MagickCore::DestroyExceptionInfo(exceptionInfo);
++}
++}
++
+ template <class Container>
+ MagickCore::Image* copy_image_list(Container& container)
+ {
+@@ -61,7 +75,7 @@ MagickCore::Image* copy_image_list(Container& container)
+ MagickCore::Image* previous = 0;
+ MagickCore::Image* first = NULL;
+ MagickCore::ExceptionInfo exceptionInfo;
+- MagickCore::GetExceptionInfo(&exceptionInfo);
++ MagickCore::InitializeExceptionInfo(&exceptionInfo);
+ for (Iter iter = container.begin(); iter != container.end(); ++iter)
+ {
+ MagickCore::Image* current;
+@@ -89,7 +103,7 @@ MagickCore::Image* copy_image_list(Container& container)
+ magickpp_trgt::~magickpp_trgt()
+ {
+ MagickCore::ExceptionInfo exceptionInfo;
+- MagickCore::GetExceptionInfo(&exceptionInfo);
++ MagickCore::InitializeExceptionInfo(&exceptionInfo);
+
+ try
+ {