Bug 793150 - gimp_display_get_image: assertion...

... 'GIMP_IS_DISPLAY (display)' failed.
This may happen when committing first a transform tool, then switching
to another tool. In this case, the tool manager will attempt to commit
again because gimp_tool_has_display() returns TRUE since status displays
were not cleared. Unfortunately transform tools don't handle very well
trying to commit when it was already done (hence both GimpTool and
GimpDrawTool displays are NULL).
The proposed solution is to clear the statuses after committing.
This commit is contained in:
Jehan 2018-02-11 01:23:08 +01:00
parent a5bc153343
commit 4ae8f5a7b4
1 changed files with 2 additions and 0 deletions

View File

@ -689,6 +689,8 @@ gimp_tool_control (GimpTool *tool,
*/
GIMP_TOOL_GET_CLASS (tool)->control (tool, action, display);
GIMP_TOOL_GET_CLASS (tool)->control (tool, GIMP_TOOL_ACTION_HALT, display);
gimp_tool_clear_status (tool);
break;
}
}