Re: calling script-fu from perl script

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thus spoke Marc Lehmann
> >    script_fu_old_photo($drawable, 0, 1, 1, 1, 0);
> 
> Ah, now it's clear: script_fu_old_photo _destroys_ the layer that is
> passed in. Using the drawable after that was a bug in your (original) code
> (this is a very common bug).

True.  Still, I fixed that bug and still needed a delay to prevent
crashing.  And the delay had to be at least 2 seconds - 1 second delays
caused strange results.

> The problem seems to be that old_photo calls flatten, and this might
> change a lot of internal structures. the right fix would be to make
> old-photo return the newly created layer/image/whatever, but AFAIK
> script-fu is unable to return anything to the caller (scirpt-fu was never
> designed to be called from the outside, obviously).

This would be better, but it still doesn't account for what I see happen -
which is the second plug-in getting called before the first has finished.

> This is highly unlikely. the current set of perl plug-ins call a lot of
> other plug-ins (including pelr ones) without a problem. I am quite certain
> it's either an uncommon operation or yet another script-fu-breakage, for
> example, script-fu is the only plug-in that stays in memory all the time,
> even if not used, and uses temporary pdb functions instead of normally
> registered calls (that's why it's so slow on startup). This could be the
> key...

I tried this test with perl-fu and C plug-in calls but couldn't reproduce it.
It may be limited to calls to Script-Fu plug-ins.  I'm not positive of this
because few of the perl-fu and C plug-ins 1) take very long to process *and*
2) generate additional layers in the manner of Old Photo.  

In any case, the problem is pretty consistant with Script-Fu scripts.  I
tried a number of them.
-- 
Michael J. Hammel           |
The Graphics Muse           |  If ignorance is bliss, why aren't more 
mjhammel@xxxxxxxxxxxxxxxxx  |  people happy?
http://www.graphics-muse.com 


[Index of Archives]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [GIMP for Windows]     [KDE]     [GEGL]     [Gimp's Home]     [Gimp on GUI]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux