gg@xxxxxxxxxxx wrote: > On Mon, 21 Apr 2008 20:58:36 +0200, Andrei Simion <ansi@xxxxxxxxxxxx> > wrote: > >> Hi, >> >> I previously reported a memory leak in Gimp 2.2. >> >> I was told to install version 2.4 and the issue doesn't go away. >> >> The problem is that I discovered something even worst and it does take >> place in both 2.2 and 2.4. >> >> If one runs a Gimp-Perl script for a number of times, enough to use the >> whole physical memory, then the Gimp server crashes, it does not create >> the swap. That's it, no swap file is created. >> >> I think there may be a configuration issue. >> >> If a test script is needed I can provide it. >> >> Thanks, >> Andrei > > That would certainly be worthwhile. > > pls post. > > /gg > #!/usr/bin/perl use Gimp qw(:auto); use Gimp::Fu; #use Gimp::Compat; sub logov1 { my($text, $font, $fontsize, $fontcolor, $outlinesize, $outlinecolor, $shadowoffset, $shadowblur, $embossamount, $glowamount, $bevelamount, $texture, $alignment, $bgfile, $logowidth, $logoheight,$usebgdim,$textoffset,$vertoffset,$glowopacity, $textureopacity,$buttontexture,$buttoncolor,$buttonstyle, $backimage,$outfile) = @_; gimp_context_push(); #print STDOUT "bgfile: <$bgfile>\n"; if ($bgfile ne "none") { $img = gimp_file_load($bgfile,$bgfile); } else { #print "creating background with $buttontexture,$buttonstyle\n"; $backgroundcolor = "#FFFFFF"; if ($backimage ne "") { $backgroundcolorimage = gimp_file_load($backimage,$backimage); # $backgroundcolor = gimp_image_pick_color($backgroundcolorimage,$drawable,1,1,1,0,0,1); } else { $backgroundcolor = "#FFFFFF"; } gimp_context_set_background($backgroundcolor); gimp_context_get_background(); $img = gimp_image_new($logowidth,$logoheight,RGB); $layer = gimp_layer_new($img,$logowidth,$logoheight,0,"Background",100,0); gimp_image_add_layer($img,$layer,0); gimp_layer_add_alpha($layer); gimp_selection_all($img); gimp_drawable_fill($layer,BACKGROUND_FILL); $buttonlayer = gimp_layer_new($img,$logowidth,$logoheight,0,"Button layer",100,0); gimp_image_add_layer($img,$buttonlayer,0); gimp_layer_add_alpha($buttonlayer); gimp_drawable_fill($buttonlayer,TRANSPARENT_FILL); gimp_selection_none($img); # start button style if ($buttonstyle =~ /round/i) { # select elipse and rectangle added together for rounded button gimp_ellipse_select($img,$logowidth-$logoheight,0,$logoheight,$logoheight,0,1,0,0); gimp_rect_select($img,0,0,$logowidth - $logoheight/2,$logoheight,0,0,0); } else { gimp_selection_all($img); } # button texture if ($buttontexture ne "none") { open(LOG1, ">>/home/build/gimp/logs/gimp_steve_pm.log"); print LOG1 "Button texture: <$buttontexture>\n"; close(LOG1); $success = 0; ($numPatterns, @pattern_list) = gimp_patterns_get_list(''); foreach $pattern (@pattern_list) { #print STDOUT $pattern . "\n"; if ($pattern eq $buttontexture) { $success = 1; #print STDOUT "\n\nsuccess [$buttontexture]\n\n"; break; } } if ($success) { gimp_context_set_pattern($buttontexture); #gimp_edit_bucket_fill($buttonlayer,PATTERN_FILL,0,100,0,0,0,0); gimp_edit_bucket_fill($buttonlayer,PATTERN_BUCKET_FILL,0,100,0,0,0,0); plug_in_colorify($img,$buttonlayer,$buttoncolor); } } if (0) { $success = 0; @pattern_list = gimp_patterns_get_list(); foreach $pattern (@pattern_list) { if ($pattern eq $buttontexture) { $success = 1; #print "\n\nsuccess $buttontexure\n\n"; break; } } if ($success) { $textureimg = gimp_image_new($logowidth,$logoheight,GRAY); $texturelayer = gimp_layer_new($textureimg,$logowidth,$logoheight,GRAY-IMAGE,"Texture layer",$textureopacity,0); $texturelayer2 = gimp_layer_new($img,$logowidth,$logoheight,RGB-IMAGE,"Texture layer",$textureopacity,0); gimp_drawable_fill($texturelayer,PATTERN_FILL); gimp_drawable_fill($texturelayer2,PATTERN_FILL); gimp_layer_add_alpha($texturelayer); gimp_layer_add_alpha($texturelayer2); gimp_context_set_pattern($buttontexture); gimp_edit_bucket_fill($texturelayer,2,0,$textureopacity,255,0,0,0); gimp_image_add_layer($textureimg,$texturelayer,0); gimp_image_convert_rgb($textureimg); gimp_selection_all($textureimg); gimp_edit_copy($texturelayer); $texturelayer2 = gimp_edit_paste($texturelayer2,0); gimp_selection_layer_alpha($buttonlayer); gimp_selection_invert($img); gimp_edit_cut($texturelayer2); gimp_selection_none($img); gimp_layer_set_opacity($texturelayer2,$textureopacity); $buttonlayer = gimp_image_merge_down($img,$texturelayer2,2); } } # end if buttontexture # end button texture $background = gimp_image_merge_visible_layers($img,1); } # end else not exist bgfile if ($usebgdim) { $logoheight = gimp_image_height($img); $logowidth = gimp_image_width($img); } if (! gimp_drawable_is_rgb(gimp_image_active_drawable($img)) ) { gimp_image_convert_rgb($img); } gimp_context_set_foreground($fontcolor); # Create the text layer. Using -1 as the drawable creates a new layer. my $text_layer = gimp_layer_new($img,$logowidth,$logoheight,0,"text_layer",0,0); gimp_image_add_layer($img,$text_layer,0); gimp_layer_add_alpha($text_layer); $img->gimp_selection_none; Gimp::Fu::save_image($img, $outfile); $img->gimp_image_delete; gimp_context_pop(); #return $img; } # register the script register "logov1", "logo", "logo", "A", "B", "1999-06-09", "<Toolbox>/Xtns/Web/SS Logo", "", [ [PF_STRING, "text", "text", "sitesell rules"], [PF_FONT, "font", "font", "Utopia Bold"], [PF_INT, "fontsize", "Font Size", "70"], [PF_COLOR, "fontcolor","Font Color", [255,200,0]], [PF_INT, "outlinesize", "Outline Size", "3"], [PF_COLOR, "outlinecolor", "Outline Color", [0,0,0]], [PF_INT, "shadowoffset", "Drop Shadow Offset", "0"], [PF_INT, "shadowblur", "Drop Shadow Blur","0"], [PF_INT, "embossamount", "Emboss Amount", "0"], [PF_INT, "glowamount", "Glow Amount", "0"], [PF_INT, "bevelamount", "Bevel Amount", "0"], [PF_STRING, "texture", "Texture", "none"], [PF_STRING, "alignment","Alignment", "left"], [PF_STRING, "bgfile", "Background file", "none"], [PF_INT, "width", "Width", "725"], [PF_INT, "height", "Height", "80"], [PF_INT, "usebgdim", "Use BG Image Dimensions", "0"], [PF_INT, "textoffset", "Offset for text to start", "0"], [PF_INT, "vertoffset", "Vertical offset for text to start", "0"], [PF_INT, "glowopacity", "Opacity of glow effect", "75"], [PF_INT, "textureopacity", "Opacity of texture", "50"], [PF_STRING, "buttontexture", "button texture", "none"], [PF_COLOR, "buttoncolor", "button color", [255,0,0]], [PF_STRING, "buttonstyle", "button style", "roundoutline"], [PF_STRING, "backimage","Background color file",""], [PF_STRING, "outfile", "Output file name","/tmp/logov1.gif"] ], \&logov1; # Handle over control to gimp exit main(); #main(); _______________________________________________ Gimp-developer mailing list Gimp-developer@xxxxxxxxxxxxxxxxxxxxxx https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer