From 98baab100d78552c0a5dfd9ae711975d7b5aefcd Mon Sep 17 00:00:00 2001 From: etienne Date: Tue, 1 Jul 2003 15:58:35 +0000 Subject: Correction de bug sur retours de fonction non scalaires. --- Perl/Zinc/TraceErrors.pm | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'Perl/Zinc') diff --git a/Perl/Zinc/TraceErrors.pm b/Perl/Zinc/TraceErrors.pm index 43c4e3d..0d1e64f 100644 --- a/Perl/Zinc/TraceErrors.pm +++ b/Perl/Zinc/TraceErrors.pm @@ -62,8 +62,12 @@ sub Tk::Zinc::WidgetMethod { $filename="" unless defined $filename; $line="" unless defined $line; # invoke function possibly overloaded in other modules - my $res; - eval {$res = &$WidgetMethodfunction(@_) if $WidgetMethodfunction;}; + my ($res, @res); + if (wantarray()) { + eval {@res = &$WidgetMethodfunction(@_) if $WidgetMethodfunction;}; + } else { + eval {$res = &$WidgetMethodfunction(@_) if $WidgetMethodfunction;}; + } if ($@) { print $bold."error:".$_bold." $filename line $line $name"; &printList (@args); @@ -71,7 +75,11 @@ sub Tk::Zinc::WidgetMethod { $msg =~ s/at .*//g; print " ".$bold."returns".$_bold." $msg\n"; } - return $res; + if (wantarray()) { + return @res; + } else { + return $res; + } } -- cgit v1.1