app: pause/resume active tool when rotating canvas

In GimpDisplayShell, pause and restore the active tool when
rotating the canvas, similarly to scrolling and scaling.
This commit is contained in:
Ell 2020-05-14 23:01:12 +03:00
parent 1bf9d1ba53
commit cd5e4e99dd

View file

@ -69,6 +69,9 @@ gimp_display_shell_flip (GimpDisplayShell *shell,
/* Maintain the current center of the viewport. */
gimp_display_shell_save_viewport_center (shell, &cx, &cy);
/* freeze the active tool */
gimp_display_shell_pause (shell);
/* Adjust the rotation angle so that the image gets reflected across the
* horizontal, and/or vertical, axes in screen space, regardless of the
* current rotation.
@ -89,6 +92,9 @@ gimp_display_shell_flip (GimpDisplayShell *shell,
gimp_display_shell_expose_full (shell);
gimp_display_shell_render_invalidate_full (shell);
/* re-enable the active tool */
gimp_display_shell_resume (shell);
}
}
@ -119,6 +125,9 @@ gimp_display_shell_rotate_to (GimpDisplayShell *shell,
shell->rotate_angle = value;
/* freeze the active tool */
gimp_display_shell_pause (shell);
gimp_display_shell_scroll_clamp_and_update (shell);
gimp_display_shell_rotated (shell);
@ -127,6 +136,9 @@ gimp_display_shell_rotate_to (GimpDisplayShell *shell,
gimp_display_shell_expose_full (shell);
gimp_display_shell_render_invalidate_full (shell);
/* re-enable the active tool */
gimp_display_shell_resume (shell);
}
void