From: Tony Cook Date: Sun, 21 Aug 2011 10:36:16 +0000 (+1000) Subject: [rt #69877] don't leave t1 marked as initialized if re-init fails X-Git-Tag: v0.84_02~2 X-Git-Url: http://git.imager.perl.org/imager.git/commitdiff_plain/a3fd7df788804e3c5d7af676af91ebbe1bafb336 [rt #69877] don't leave t1 marked as initialized if re-init fails also, more error handling in Imager::init() --- diff --git a/Changes b/Changes index 470d8964..5d7f4f54 100644 --- a/Changes +++ b/Changes @@ -33,6 +33,10 @@ Bug fixes: them when available. https://rt.cpan.org/Ticket/Display.html?id=69147 + - if t1lib failed to reinitialize it would be left as marked + initialized. + https://rt.cpan.org/Ticket/Display.html?id=69877 + Imager 0.84_01 - 8 Aug 2011 ============== diff --git a/Imager.pm b/Imager.pm index 77106021..2ea30174 100644 --- a/Imager.pm +++ b/Imager.pm @@ -459,19 +459,26 @@ sub init_log { sub init { my %parms=(loglevel=>1,@_); - if ($parms{'log'}) { - Imager->open_log(log => $parms{log}, level => $parms{loglevel}); - } if (exists $parms{'warn_obsolete'}) { $warn_obsolete = $parms{'warn_obsolete'}; } + if ($parms{'log'}) { + Imager->open_log(log => $parms{log}, level => $parms{loglevel}) + or return; + } + if (exists $parms{'t1log'}) { if ($formats{t1}) { - Imager::Font::T1::i_init_t1($parms{'t1log'}); + if (Imager::Font::T1::i_init_t1($parms{'t1log'})) { + Imager->_set_error(Imager->_error_as_msg); + return; + } } } + + return 1; } { diff --git a/T1/imt1.c b/T1/imt1.c index 1c4a1a7b..9c19c53b 100644 --- a/T1/imt1.c +++ b/T1/imt1.c @@ -34,6 +34,7 @@ i_init_t1(int t1log) { if (t1_initialized) { T1_CloseLib(); + t1_initialized = 0; } if (t1log)