[gimp/gimp-2-10] app: in GimpDrawTool, update widget on tool resume



commit bd00527fe5be51dc0cb9195a4afd6aec0e8584f4
Author: Ell <ell_se yahoo com>
Date:   Thu May 14 22:33:14 2020 +0300

    app: in GimpDrawTool, update widget on tool resume
    
    In GimpDrawTool, update the tool widget on GIMP_TOOL_ACTION_RESUME,
    so that it can respond to changes in the display-shell scale/
    offset.  We'd previously done that for individual tools/widgets,
    but let's just do it in one place.
    
    (cherry picked from commit c73710e410b663edee14bbfb1a0b96b7fbeb9047)

 app/display/gimptoolcompass.c        | 8 --------
 app/display/gimptoolrectangle.c      | 4 ----
 app/tools/gimpdrawtool.c             | 4 ++++
 app/tools/gimpperspectiveclonetool.c | 5 -----
 app/tools/gimptransformgridtool.c    | 4 ----
 app/tools/gimptransformtool.c        | 2 --
 6 files changed, 4 insertions(+), 23 deletions(-)
---
diff --git a/app/display/gimptoolcompass.c b/app/display/gimptoolcompass.c
index 472d57a6e4..9d47d8bd5d 100644
--- a/app/display/gimptoolcompass.c
+++ b/app/display/gimptoolcompass.c
@@ -297,20 +297,12 @@ gimp_tool_compass_constructed (GObject *object)
 {
   GimpToolCompass        *compass = GIMP_TOOL_COMPASS (object);
   GimpToolWidget         *widget  = GIMP_TOOL_WIDGET (object);
-  GimpDisplayShell       *shell   = gimp_tool_widget_get_shell (widget);
   GimpToolCompassPrivate *private = compass->private;
   GimpCanvasGroup        *stroke_group;
   gint                    i;
 
   G_OBJECT_CLASS (parent_class)->constructed (object);
 
-  g_signal_connect_object (shell, "scaled",
-                           G_CALLBACK (gimp_tool_compass_changed),
-                           compass, G_CONNECT_SWAPPED);
-  g_signal_connect_object (shell, "rotated",
-                           G_CALLBACK (gimp_tool_compass_changed),
-                           compass, G_CONNECT_SWAPPED);
-
   stroke_group = gimp_tool_widget_add_stroke_group (widget);
 
   gimp_tool_widget_push_group (widget, stroke_group);
diff --git a/app/display/gimptoolrectangle.c b/app/display/gimptoolrectangle.c
index 05ea765589..f39d1a5d3a 100644
--- a/app/display/gimptoolrectangle.c
+++ b/app/display/gimptoolrectangle.c
@@ -806,10 +806,6 @@ gimp_tool_rectangle_constructed (GObject *object)
       gimp_canvas_item_set_highlight (private->highlight_handles[i], TRUE);
     }
 
-  g_signal_connect_object (gimp_tool_widget_get_shell (widget), "scaled",
-                           G_CALLBACK (gimp_tool_rectangle_changed),
-                           widget, G_CONNECT_SWAPPED);
-
   gimp_tool_rectangle_changed (widget);
 }
 
diff --git a/app/tools/gimpdrawtool.c b/app/tools/gimpdrawtool.c
index b97e30a052..de6f7d7799 100644
--- a/app/tools/gimpdrawtool.c
+++ b/app/tools/gimpdrawtool.c
@@ -217,7 +217,11 @@ gimp_draw_tool_control (GimpTool       *tool,
   switch (action)
     {
     case GIMP_TOOL_ACTION_PAUSE:
+      break;
+
     case GIMP_TOOL_ACTION_RESUME:
+      if (draw_tool->widget)
+        gimp_tool_widget_changed (draw_tool->widget);
       break;
 
     case GIMP_TOOL_ACTION_HALT:
diff --git a/app/tools/gimpperspectiveclonetool.c b/app/tools/gimpperspectiveclonetool.c
index 548d26010a..ff57634f99 100644
--- a/app/tools/gimpperspectiveclonetool.c
+++ b/app/tools/gimpperspectiveclonetool.c
@@ -315,12 +315,7 @@ gimp_perspective_clone_tool_control (GimpTool       *tool,
   switch (action)
     {
     case GIMP_TOOL_ACTION_PAUSE:
-      break;
-
     case GIMP_TOOL_ACTION_RESUME:
-      /* only in the case that "Modify Polygon" mode is set " */
-      gimp_perspective_clone_tool_bounds (clone_tool, display);
-      gimp_perspective_clone_tool_recalc_matrix (clone_tool, clone_tool->widget);
       break;
 
     case GIMP_TOOL_ACTION_HALT:
diff --git a/app/tools/gimptransformgridtool.c b/app/tools/gimptransformgridtool.c
index e446bf5f52..87ade22635 100644
--- a/app/tools/gimptransformgridtool.c
+++ b/app/tools/gimptransformgridtool.c
@@ -404,16 +404,12 @@ gimp_transform_grid_tool_control (GimpTool       *tool,
                                   GimpToolAction  action,
                                   GimpDisplay    *display)
 {
-  GimpTransformTool     *tr_tool = GIMP_TRANSFORM_TOOL (tool);
   GimpTransformGridTool *tg_tool = GIMP_TRANSFORM_GRID_TOOL (tool);
 
   switch (action)
     {
     case GIMP_TOOL_ACTION_PAUSE:
-      break;
-
     case GIMP_TOOL_ACTION_RESUME:
-      gimp_transform_tool_recalc_matrix (tr_tool, display);
       break;
 
     case GIMP_TOOL_ACTION_HALT:
diff --git a/app/tools/gimptransformtool.c b/app/tools/gimptransformtool.c
index 52bf7f4eb3..3190e148a4 100644
--- a/app/tools/gimptransformtool.c
+++ b/app/tools/gimptransformtool.c
@@ -129,8 +129,6 @@ gimp_transform_tool_control (GimpTool       *tool,
   switch (action)
     {
     case GIMP_TOOL_ACTION_PAUSE:
-      break;
-
     case GIMP_TOOL_ACTION_RESUME:
       break;
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]