Possible failure of "Repeat Last" with filters using drawables as maps
Submitted by Gino D
Link to original bug (#648090)
Description
When the most recently executed plug-in is a filter requiring one or more drawables as maps, if you eliminate, after the execution of the plug-in, at least one of the drawables which was selected on its last settings, then the "Repeat Last" command will fail, by returning various error messages.
Here is a list of the filters affected by this bug:
under the section "Light and Shadow": "Lighting Effects"
under the section "Combine": "Depth Merge" "Filmstrip"
under the section "Artistic": "Oilify" "Van Gogh" (LIC)
under the section "Map": "Bump Map" "Displace" "Warp"
Referring, for instance, to the "Warp" filter, the problem I have just reported can be reproduced by following these steps:
- create a new image;
- duplicate the layer named "Background", so as to get a second layer named "Background copy";
- launch the "Warp" filter through 'Filters -> Map -> Warp...' ;
- as a displacement map, select the "Background" layer in the drop-down list provided;
- execute the filter;
- remove the "Background" layer from the image;
- run 'Filters -> Repeat "Warp"'.
As a result, several error messages will be displayed, some of which redirected to 'stderr'.
Unlike the afore-mentioned plug-ins, there is a filter that, while using drawables as maps too, however seems always to work properly when invoking it through the "Repeat Last" command, even in the specific case described above: it is the "Flame" filter (under the 'Render -> Nature' submenu), which is fitted with the "Colormap" option, allowing to exploit the colors of any drawable currently open in the GIMP session. So I think it might be useful to refer to the source code of this plug-in in order to devise a patch capable to fix this bug, which involves all the other filters of the similar kind.
Version: 2.6.11