[gimp/gimp-2-10] app: pause/resume active tool when rotating canvas
- From: Ell <ell src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp/gimp-2-10] app: pause/resume active tool when rotating canvas
- Date: Thu, 14 May 2020 21:51:01 +0000 (UTC)
commit c4061c01aa2cb08a4f593cb83fbdeedc86dd3ce3
Author: Ell <ell_se yahoo com>
Date: Thu May 14 23:01:12 2020 +0300
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.
(cherry picked from commit cd5e4e99dd2f3ec4dae5425cd2bfe647f161061e)
app/display/gimpdisplayshell-rotate.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
---
diff --git a/app/display/gimpdisplayshell-rotate.c b/app/display/gimpdisplayshell-rotate.c
index e681e51423..d14f2a5e23 100644
--- a/app/display/gimpdisplayshell-rotate.c
+++ b/app/display/gimpdisplayshell-rotate.c
@@ -68,6 +68,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.
@@ -87,6 +90,9 @@ gimp_display_shell_flip (GimpDisplayShell *shell,
gimp_display_shell_restore_viewport_center (shell, cx, cy);
gimp_display_shell_expose_full (shell);
+
+ /* re-enable the active tool */
+ gimp_display_shell_resume (shell);
}
}
@@ -117,6 +123,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);
@@ -124,6 +133,9 @@ gimp_display_shell_rotate_to (GimpDisplayShell *shell,
gimp_display_shell_restore_viewport_center (shell, cx, cy);
gimp_display_shell_expose_full (shell);
+
+ /* re-enable the active tool */
+ gimp_display_shell_resume (shell);
}
void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]