Hello,

The attached patch should fix different bugs in different plugins
written in Perl in Gimp V 1.1.14. The patch is mostly an updated
version of the patch I send some weeks ago. The things the patch
should fix:

  - In the blowinout, innerbevel, randomblends, terral_text, and
    windify plugins the auto import tag was missing.

  - In the blowinout and the windify plugins different plugins were
    called with 1 for RUN_NONINTERACTIVE.

  - In the guidegrid plugin an update of the image was missing. I
    inserted a call to gimp_drawable_update.

  - Scripts in the logulator plugin which only had the arguments
    text_string, font_size_pixels, and font did not get defaults for
    this arguments.

  - In different Perl-plugins (logulator, xachlego, xachshadow, and
    xachvision) the plugins sparkle, nova, and grid were called with a
    wrong amount of arguments (or, in the xachshadow plugin, the
    arguments were wrong).

  - In the ditherize plugin a call to Gimp::set_trace(-1) was done.

  - In the frame_filter plugin the default expression could lead to a
    call to gauss_rle with a radius<1, which is not allowed anymore.

  - In the parasite-editor gimp_is_layer was called as
    gimp_layer. This PDB-Entry was renamed some time ago.

During fixing this bugs I found some other bugs (this ones are not
fixed by the attached patch):

  - In the Parasite Editor every click on Edit results in the error
    message "parasite-editor: Callback called exit.(ERROR)".

  - Firetext, Bricks, Map To Gradient, §D Outline, Chip Away, Comic
    Book, Glossy, and Textured give the error:
      "fire: Can't call method "add" on an undefined value at 
/usr/lib/perl5/site_perl/5.005/i586-linux/Gimp/UI.pm line 139. (ERROR)"
    This plug-ins all use PF_PATTERN or PF_GRADIENT.

  - Inner Bevel prints the message
    "innerbevel: Can't call method "set_preserve_trans" on an undefined value at 
/opt/gimp11//lib/gimp/1.1/plug-ins/innerbevel line 85. (ERROR)"
    and continues without problems.

  - Pixelmap gives the error:
    "pixelmap: dimension mismatch, pdl has dimension 4 but at 
/opt/gimp11//lib/gimp/1.1/plug-ins/pixelmap line 43 (ERROR)"
    This seems to be a problem with the default expression.

I used Perl versionn 5.005_02 and Gtk-Perl version 0.6123.

Regards,

  Frank
diff -ru orig/gimp-1.1.14/plug-ins/perl/examples/blowinout.pl 
gimp-1.1.14/plug-ins/perl/examples/blowinout.pl
--- orig/gimp-1.1.14/plug-ins/perl/examples/blowinout.pl        Sat Dec 18 19:34:52 
1999
+++ gimp-1.1.14/plug-ins/perl/examples/blowinout.pl     Sun Dec 19 23:02:38 1999
@@ -3,7 +3,7 @@
 # Blow In/Out
 # John Pitney
 
-use Gimp 1.06;
+use Gimp qw(:auto __ N_);
 use Gimp::Fu;
 
 # print "hello there\n";
@@ -44,11 +44,11 @@
         $i * $distance / $nsteps * sin($angle * 3.14159 / 180) :
         $distance ** ($i/$nsteps) * sin($angle * 3.14159 / 180);
     gimp_edit_clear($dmlayer);
-    plug_in_noisify(1, $dm, $dmlayer, 0, 255, 255, 255, 0);
+    plug_in_noisify($dm, $dmlayer, 0, 255, 255, 255, 0);
     gimp_levels($dmlayer, 0, 0, 255, 1.0, 128, 255);
     $drawable = gimp_layer_copy($drawable, 0);
     gimp_image_add_layer($img, $drawable, -1);
-    plug_in_displace(1, $img, $drawable, $xdist, $ydist, 1, 1, $dmlayer,
+    plug_in_displace($img, $drawable, $xdist, $ydist, 1, 1, $dmlayer,
         $dmlayer, 1);
     if ( $inmode == 1 )
     {
@@ -62,11 +62,11 @@
             $i * $distance / $nsteps * sin($angle * 3.14159 / 180) :
             $distance ** ($i/$nsteps) * sin($angle * 3.14159 / 180);
         gimp_edit_clear($dmlayer);
-        plug_in_noisify(1, $dm, $dmlayer, 0, 255, 255, 255, 0);
+        plug_in_noisify($dm, $dmlayer, 0, 255, 255, 255, 0);
         gimp_levels($dmlayer, 0, 0, 255, 1.0, 128, 255);
         $drawable = gimp_layer_copy($drawable, 0);
         gimp_image_add_layer($img, $drawable, -1);
-        plug_in_displace(1, $img, $drawable, $xdist, $ydist, 1, 1, $dmlayer,
+        plug_in_displace($img, $drawable, $xdist, $ydist, 1, 1, $dmlayer,
             $dmlayer, 1);
         if ( $inmode == 1 )
         {
diff -ru orig/gimp-1.1.14/plug-ins/perl/examples/ditherize.pl 
gimp-1.1.14/plug-ins/perl/examples/ditherize.pl
--- orig/gimp-1.1.14/plug-ins/perl/examples/ditherize.pl        Sat Dec 18 19:34:52 
1999
+++ gimp-1.1.14/plug-ins/perl/examples/ditherize.pl     Sun Dec 19 21:28:53 1999
@@ -37,7 +37,7 @@
          sub {
    my($image,$drawable,$dither,$colours)=@_;
 
-   Gimp::set_trace(-1);
+#   Gimp::set_trace(-1);
 
    $drawable->is_layer or die "this plug-in only works for layers";
 
diff -ru orig/gimp-1.1.14/plug-ins/perl/examples/frame_filter 
gimp-1.1.14/plug-ins/perl/examples/frame_filter
--- orig/gimp-1.1.14/plug-ins/perl/examples/frame_filter        Sat Dec 18 19:34:52 
1999
+++ gimp-1.1.14/plug-ins/perl/examples/frame_filter     Mon Dec 20 21:02:57 1999
@@ -13,7 +13,7 @@
                "*",
                [
                  [PF_TEXT,     "expr", "the perl expression to run for each layer",
-                                '$d->gauss_rle($P*100,1,1)'],
+                                '$d->gauss_rle($P*100+1,1,1)'],
                  [PF_DRAWABLE, "drawable2", "an optional extra drawable for use by 
the code"],
                ],
                 [],
diff -ru orig/gimp-1.1.14/plug-ins/perl/examples/guidegrid 
gimp-1.1.14/plug-ins/perl/examples/guidegrid
--- orig/gimp-1.1.14/plug-ins/perl/examples/guidegrid   Sat Dec 18 19:34:52 1999
+++ gimp-1.1.14/plug-ins/perl/examples/guidegrid        Sun Dec 19 04:13:53 1999
@@ -76,7 +76,9 @@
     ##
     #$img->selection_all();
     #$img->selection_none();
-    
+
+    $layer->update(0, 0, $img->height, $img->width);
+
     return();
   };
 exit main;
diff -ru orig/gimp-1.1.14/plug-ins/perl/examples/innerbevel 
gimp-1.1.14/plug-ins/perl/examples/innerbevel
--- orig/gimp-1.1.14/plug-ins/perl/examples/innerbevel  Sat Dec 18 19:34:52 1999
+++ gimp-1.1.14/plug-ins/perl/examples/innerbevel       Tue Dec 21 05:37:32 1999
@@ -7,7 +7,7 @@
 # working btw).  You can follow step by step with the website at 
 # http://tigert.gimp.org/gimp/tutorials/beveled_text/
 
-use Gimp;
+use Gimp qw(:auto __ N_);
 use Gimp::Fu;
 use Gimp::Util;
 
diff -ru orig/gimp-1.1.14/plug-ins/perl/examples/logulator 
gimp-1.1.14/plug-ins/perl/examples/logulator
--- orig/gimp-1.1.14/plug-ins/perl/examples/logulator   Sat Dec 18 19:34:52 1999
+++ gimp-1.1.14/plug-ins/perl/examples/logulator        Sun Dec 19 23:05:57 1999
@@ -54,7 +54,7 @@
       my($image,$drawable)=(shift,shift);
       $drawable->has_alpha or die "It makes no sense to call $menupath with a 
drawable lacking alpha!\n";
       $i=0;
-      while($i<@_) {
+      while($i<=@_) {
          if($i==$ti) {
             splice @_,$i,0,"-- Text --";
          } elsif ($i==$fsi) {
@@ -1232,7 +1232,8 @@
       plug_in_noisify ($img, $sparkle_layer, 0, 0.2, 0.2, 0.2, 0.0);
       plug_in_c_astretch ($img, $sparkle_layer);
       gimp_selection_none ($img);
-      plug_in_sparkle ($img, $sparkle_layer, 0.03, 0.45, min ($width, $height) / 2, 
6, 15);
+      plug_in_sparkle ($img, $sparkle_layer, 0.03, 0.45, min ($width, $height) / 2, 
+6, 15,
+                       1.0, 1.0, 0.0, 0.0, 0, 0, 0, 0);
       gimp_levels ($sparkle_layer, 1, 0, 255, 0.2, 0, 255);
       gimp_levels ($sparkle_layer, 2, 0, 255, 0.7, 0, 255);
       gimp_selection_layer_alpha ($sparkle_layer);
@@ -2191,7 +2192,7 @@
       gimp_palette_set_background ([255, 255, 255]);
       gimp_edit_fill ($layer_mask);
       gimp_selection_none ($img);
-      plug_in_nova ($img, $burst_layer, @{$burst_coords}[0], cdr ($burst_coords), 
$burst_color, $burstradius, 100);
+      plug_in_nova ($img, $burst_layer, @{$burst_coords}[0], cdr ($burst_coords), 
+$burst_color, $burstradius, 100, 0);
       gimp_selection_layer_alpha ($text_layer);
       gimp_palette_set_background ([0, 0, 0]);
       gimp_selection_feather ($img, $feather);
@@ -2327,7 +2328,7 @@
       gimp_palette_set_background ([31, 31, 31]);
       gimp_palette_set_foreground ([255, 255, 255]);
       gimp_blend ($text_layer, FG_BG_RGB, NORMAL_MODE, BILINEAR, 100, 0, REPEAT_NONE, 
0, 0, 0, $cx, $cy, $bx, $by);
-      plug_in_nova ($img, $glow_layer, $novax, $novay, $glow_color, $novaradius, 100);
+      plug_in_nova ($img, $glow_layer, $novax, $novay, $glow_color, $novaradius, 100, 
+0);
       gimp_selection_all ($img);
       gimp_patterns_set_pattern ("Stone");
       gimp_bucket_fill ($bump_channel, PATTERN_BUCKET_FILL, NORMAL_MODE, 100, 0, 0, 
0, 0);
@@ -2396,7 +2397,8 @@
       gimp_selection_border ($img, $edge_size);
       plug_in_noisify ($img, $sparkle_layer, 0, $hit_rate, $hit_rate, $hit_rate, 0.0);
       gimp_selection_none ($img);
-      plug_in_sparkle ($img, $sparkle_layer, 0.03, 0.45, $width, 6, 15);
+      plug_in_sparkle ($img, $sparkle_layer, 0.03, 0.45, $width, 6, 15,
+                       1.0, 1.0, 0.0, 0.0, 0, 0, 0, 0);
       gimp_selection_load ($selection);
       gimp_selection_shrink ($img, $edge_size);
       gimp_levels ($sparkle_layer, 0, 0, 255, 1.2, 0, 255);
diff -ru orig/gimp-1.1.14/plug-ins/perl/examples/parasite-editor 
gimp-1.1.14/plug-ins/perl/examples/parasite-editor
--- orig/gimp-1.1.14/plug-ins/perl/examples/parasite-editor     Sat Dec 18 19:34:52 
1999
+++ gimp-1.1.14/plug-ins/perl/examples/parasite-editor  Sun Dec 19 20:50:48 1999
@@ -240,7 +240,7 @@
          $attach_func = sub { shift->parasite_attach (shift) };
          $detach_func = sub { shift->parasite_detach (shift) };
          &$set_submenu(map [$_,$_->image->get_filename." / "
-                               .($_->layer ? $_->layer_get_name : 
$_->channel_get_name)],
+                               .($_->is_layer ? $_->layer_get_name : 
+$_->channel_get_name)],
                            map (($_->get_layers,$_->get_channels),Gimp->image_list));
       });
       $menu->append($item);
diff -ru orig/gimp-1.1.14/plug-ins/perl/examples/randomblends 
gimp-1.1.14/plug-ins/perl/examples/randomblends
--- orig/gimp-1.1.14/plug-ins/perl/examples/randomblends        Sat Dec 18 19:34:52 
1999
+++ gimp-1.1.14/plug-ins/perl/examples/randomblends     Sun Dec 19 23:02:47 1999
@@ -3,7 +3,7 @@
 # This is adrian's idea - take random blends and difference them.  You're
 # bound to come up w/ something cool eventually.
 
-use Gimp;
+use Gimp qw(:auto __ N_);
 use Gimp::Fu;
 use Gimp::Util;
 
diff -ru orig/gimp-1.1.14/plug-ins/perl/examples/terral_text 
gimp-1.1.14/plug-ins/perl/examples/terral_text
--- orig/gimp-1.1.14/plug-ins/perl/examples/terral_text Sat Dec 18 19:34:53 1999
+++ gimp-1.1.14/plug-ins/perl/examples/terral_text      Sun Dec 19 23:02:59 1999
@@ -26,7 +26,7 @@
 #[terral] input levels of 0, .24, 113                                    [22:11]
 #[terral] --end of script                                                [22:12]
 
-use Gimp 1.06;
+use Gimp qw(:auto __ N_);
 use Gimp::Fu;
 use Gimp::Util;
 
diff -ru orig/gimp-1.1.14/plug-ins/perl/examples/windify.pl 
gimp-1.1.14/plug-ins/perl/examples/windify.pl
--- orig/gimp-1.1.14/plug-ins/perl/examples/windify.pl  Sat Dec 18 19:34:53 1999
+++ gimp-1.1.14/plug-ins/perl/examples/windify.pl       Sun Dec 19 23:03:08 1999
@@ -3,7 +3,7 @@
 # sent to me by Seth Burgess <[EMAIL PROTECTED]>
 # small changes my Marc Lehmann <[EMAIL PROTECTED]>
 
-use Gimp;
+use Gimp qw(:auto __ N_);
 use Gimp::Fu;
 
 #Gimp::set_trace(TRACE_CALL);
@@ -21,11 +21,11 @@
        gimp_image_add_layer($out,$windlayer,0);
        my $windlayercopy = gimp_layer_copy($windlayer, 1);
        gimp_image_add_layer($out,$windlayercopy,0);
-       plug_in_noisify(1,$out,$windlayercopy,0,$density/255,
+       plug_in_noisify($out,$windlayercopy,0,$density/255,
                                                 $density/255,
                                                 $density/255,1);
 
-       plug_in_mblur(1,$out,$windlayercopy,0,15,$angle);
+       plug_in_mblur($out,$windlayercopy,0,15,$angle);
        gimp_layer_set_mode($windlayercopy, 10); # Lighten Only
        gimp_image_merge_visible_layers($out,0);
 
@@ -33,7 +33,7 @@
 # gimp_image_merge_visible_layers bug
 
        my $newlay = gimp_image_get_active_layer ($out);
-       plug_in_displace(1,$img,$drawable,-$distance*cos($angle*180/3.14159),
+       plug_in_displace($img,$drawable,-$distance*cos($angle*180/3.14159),
                                           $distance*sin($angle*180/3.14159),
                                          1,1, $newlay,$newlay, $wrap);
        gimp_image_remove_layer($out,$newlay);
diff -ru orig/gimp-1.1.14/plug-ins/perl/examples/xachlego.pl 
gimp-1.1.14/plug-ins/perl/examples/xachlego.pl
--- orig/gimp-1.1.14/plug-ins/perl/examples/xachlego.pl Sat Dec 18 19:34:53 1999
+++ gimp-1.1.14/plug-ins/perl/examples/xachlego.pl      Tue Dec 21 04:58:38 1999
@@ -71,7 +71,8 @@
        gimp_edit_clear($gridlayer);
        gimp_palette_set_background([255,255,255]);
        gimp_edit_fill($gridlayer);
-       $gridlayer->plug_in_grid($blocksize, $blocksize, 0, 0);
+       $gridlayer->plug_in_grid(1,$blocksize,-1,[0,0,0],255, 
+1,$blocksize,-1,[0,0,0],255,
+                                 0,0,0,[0,0,0],255);
        $gridlayer->plug_in_gauss_iir(0.7*$blocksize, 1, 1);
 
 #      threshold the 
@@ -93,7 +94,8 @@
                                  RGBA_IMAGE, "Grid 2", 100, 0);
        $img->add_layer($cleangrid,0);
        gimp_edit_fill($cleangrid);
-       $cleangrid->plug_in_grid($blocksize, $blocksize, 0, 0);
+       $cleangrid->plug_in_grid(1,$blocksize,-1,[0,0,0],255, 
+1,$blocksize,-1,[0,0,0],255,
+                                 0,0,0,[0,0,0],255);
        gimp_selection_load($selection);
        $drawable->plug_in_bump_map($cleangrid, 135, 45, 3, 0, 0, 0, 0, 1, 0, 0);
        $img->selection_all;    
diff -ru orig/gimp-1.1.14/plug-ins/perl/examples/xachshadow.pl 
gimp-1.1.14/plug-ins/perl/examples/xachshadow.pl
--- orig/gimp-1.1.14/plug-ins/perl/examples/xachshadow.pl       Sat Dec 18 19:34:53 
1999
+++ gimp-1.1.14/plug-ins/perl/examples/xachshadow.pl    Mon Dec 20 21:40:25 1999
@@ -70,7 +70,8 @@
        gimp_edit_clear($gridlayer);
        gimp_palette_set_background([255,255,255]);
        gimp_edit_fill($gridlayer);
-       $gridlayer->plug_in_grid((1, $blocksize, 0, "black", 0) x 3);
+       $gridlayer->plug_in_grid(1,$blocksize,-1,[0,0,0],255, 
+1,$blocksize,-1,[0,0,0],255,
+                                0,0,0,[0,0,0],255);
 
        gimp_layer_set_mode($gridlayer, 3);
 # Clean up stuff
diff -ru orig/gimp-1.1.14/plug-ins/perl/examples/xachvision.pl 
gimp-1.1.14/plug-ins/perl/examples/xachvision.pl
--- orig/gimp-1.1.14/plug-ins/perl/examples/xachvision.pl       Sat Dec 18 19:34:53 
1999
+++ gimp-1.1.14/plug-ins/perl/examples/xachvision.pl    Sun Dec 19 21:37:23 1999
@@ -41,7 +41,8 @@
        $midlayer->plug_in_noisify(1,$amt, $amt, $amt, $amt);
        $midmask = $midlayer->create_mask(0);
        $img->add_layer_mask($midlayer, $midmask);
-       $midmask->plug_in_grid($img->height * 3, 3, 0, 0);
+       $midmask->plug_in_grid(1,$img->height * 3,0,[0,0,0],255, 1,3,0,[0,0,0],255,
+                              0,0,0,[0,0,0],255 );
        $midmask->plug_in_gauss_iir(1.01, 1, 1);
 
        gimp_palette_set_background($oldbackground);

Reply via email to