On 6/7/06, Toby Speight <[EMAIL PROTECTED]> wrote:
(Delurk: I'm a sporadic developer of plugins, some of which are almost
good enough to shove in the registry, and I've watched this list for a
One of my current projects is a multifrequency blend tool (inspired
by, but not based on, the enblend program), and as part of its
operation, it invokes a couple of other plugins (I don't see the point
in reinventing wheels!).
One thing that's not covered in any of the "how to write a plugin"
guides is how to poll for cancel. Of course, the plugin could have
its own cancel button, but then the user would have to know which
sub-plugin is running and find the correct cancel button! (I'm happy
to deal with the call to the sub-plugin returning GIMP_PDB_CANCEL).
So - how does a plugin poll the Gimp's cancel button? I couldn't find
any examples in the src/plug-ins directory...
"Cancelling" a plugin kills it unconditionally. It's been a few
months since I looked at that code, but I'm fairly sure that there is
no way for a plug-in to catch that it's been cancelled.
You really should check the value of each pdb call you make and make
sure that the return value is GIMP_PDB_SUCCESS. There is almost
certainly code out there that doesn't check the return value and just
assumes nothing wrong happened, but that doesn't mean it's the right
thing to do. :)
Which gives me an idea for a simple macro that causes the function to
return GIMP_EXECUTION_ERROR when given an error status, and does
Gimp-developer mailing list