Workaround to implement MagickCore's hidden InitializeExceptionInfo() method From: Matthew White 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 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 {