Found some time to get back to this.
The image in
viewtopic.php?f=8&t=1221&hilit=multifill&start=80#p99780 produces exactly the results I'd expect. The filter uses the identified colour (white) and treats everything else, including transparent areas as "not white" (as this was written initially to deal with scanned art which would have no transparency, typically). A workaround to get the results you want would be to run multi-fill, take the original copied layer and do "Alpha to selection" then invert the selection and on the multi-filled layer hit the delete key to delete the original transparent layers.
I'm changing the script to transfer the transparency of the source layer to the final layer, as this would "make sense" from a user perspective if there is transparency in the source layer:
Attachment:
mf_trans.png [ 32.71 KiB | Viewed 2941 times ]
The error
Unable to run GimpPdbProgress callback. The corresponding plug-in may have crashed.
appears to be a bug with the script-fu display window that randomly(?) occurs when calling "gimp-edit-blend" (as it ONLY happens with gradient modes). It is definitely repeatable, but random, since after adding additional debugging, it clearly happens for different sections even when rerunning on the same image repeated times.
If you runs the script and it causes this error, close the newly created image and rerun the script using ctrl+f (Filters->repeat) and it will run without the error... no matter how many times it is repeated (on my system) which is why I suspect the error is stemming from the gimp script-fu plugin when a script calls the gimp-edit-blend.
I also can't get it to happen from the scheme console, even when calling random fills in a tight loop, which lends more credence to the idea that it is a script-fu plugin GUI issue.
I'm changing the script to send errors to the error-log rather than the pop-up message box to the error is less intrusive.
Attached is an updated version - give it a try please and see if it does what you hope.-Rob A>