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