[gimp] Bug 730550 - Layers incorrectly positioned on screen



commit 7647b0d3a07956888f51d41b410d37672eab9df6
Author: Michael Natterer <mitch gimp org>
Date:   Thu May 22 20:46:13 2014 +0200

    Bug 730550 - Layers incorrectly positioned on screen
    
    gimp_group_layer_update_size(): update the group layer's offset node
    before reallocating the group's projection, or we might render the
    group projection's buffer with the old offsets.

 app/core/gimpgrouplayer.c |   15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)
---
diff --git a/app/core/gimpgrouplayer.c b/app/core/gimpgrouplayer.c
index b132cfa..f7e3e99 100644
--- a/app/core/gimpgrouplayer.c
+++ b/app/core/gimpgrouplayer.c
@@ -1155,6 +1155,15 @@ gimp_group_layer_update_size (GimpGroupLayer *group)
       width  != old_width            ||
       height != old_height)
     {
+      /* set the offset first, so the graph is in the right state when
+       * the projection is reallocated, see bug #730550.
+       */
+      if (private->offset_node)
+        gegl_node_set (private->offset_node,
+                       "x", (gdouble) -x,
+                       "y", (gdouble) -y,
+                       NULL);
+
       if (private->reallocate_projection ||
           width  != old_width            ||
           height != old_height)
@@ -1195,12 +1204,6 @@ gimp_group_layer_update_size (GimpGroupLayer *group)
           gimp_projectable_invalidate (GIMP_PROJECTABLE (group),
                                        x, y, width, height);
         }
-
-      if (private->offset_node)
-        gegl_node_set (private->offset_node,
-                       "x", (gdouble) -x,
-                       "y", (gdouble) -y,
-                       NULL);
     }
 }
 


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