]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Landing Ask Bjoern Hansen's fix for bug #39159
authortara%tequilarista.org <>
Sun, 21 Jan 2001 00:58:32 +0000 (00:58 +0000)
committertara%tequilarista.org <>
Sun, 21 Jan 2001 00:58:32 +0000 (00:58 +0000)
reports.cgi

index b54a91b0ec5fdbdcada7f54a36ee6014d7b55a65..4efaba9de0c34b265a516fba3178980b4149c1dd 100755 (executable)
 use diagnostics;
 use strict;
 
-use GD;
+eval "use GD";
+my $use_gd = @ ? 0 : 1;
 eval "use Chart::Lines";
+$use_gd = 0 if $@;
 
 require "CGI.pl";
 use vars qw(%FORM); # globals from CGI.pl
@@ -157,9 +159,7 @@ PutFooter() if $FORM{banner};
 
 sub choose_product {
     my $product_popup = make_options (\@myproducts, $myproducts[0]);
-    my $charts = defined $Chart::Lines::VERSION && -d $dir ? "<option value=\"show_chart\">Bug Charts" : "";
-    # get rid of warning:
-    $Chart::Lines::VERSION = $Chart::Lines::VERSION;
+       my $charts = $use_gd && -d $dir ? "<option value=\"show_chart\">Bug Charts" : "";
 
     print <<FIN;
 <center>
@@ -486,6 +486,10 @@ sub daily_stats_filename {
 }
 
 sub show_chart {
+       # if we don't have the graphic mouldes don't even try to go
+       # here. Should probably return some decent error message.
+       return unless $use_gd;
+
     if (! is_legal_product ($FORM{'product'})) {
         &die_politely ("Unknown product: $FORM{'product'}");
     }
@@ -517,7 +521,9 @@ FIN
 sub chart_image_type {
     # what chart type should we be generating?
     my $testimg = Chart::Lines->new(2,2);
+       eval '$testimg->gif()';
     my $type = $testimg->can('gif') ? "gif" : "png";
+
     undef $testimg;
     return $type;
 }