[gimp] app/core: do not offset cairo_path_data_t's headers



commit d697c0bdb9de5b2bb5b5572b8a04a4751b1947f9
Author: Massimo Valentini <mvalentini src gnome org>
Date:   Tue Jul 19 13:00:07 2011 +0200

    app/core: do not offset cairo_path_data_t's headers
    
    Stroking a rectangular selection doesn't work, for example.

 app/core/gimpbezierdesc.c |   13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)
---
diff --git a/app/core/gimpbezierdesc.c b/app/core/gimpbezierdesc.c
index 572498f..03ea2f0 100644
--- a/app/core/gimpbezierdesc.c
+++ b/app/core/gimpbezierdesc.c
@@ -168,15 +168,16 @@ gimp_bezier_desc_translate (GimpBezierDesc *desc,
                             gdouble         offset_x,
                             gdouble         offset_y)
 {
-  gint i;
+  gint i, j;
 
   g_return_if_fail (desc != NULL);
 
-  for (i = 0; i < desc->num_data; i++)
-    {
-      desc->data[i].point.x += offset_x;
-      desc->data[i].point.y += offset_y;
-    }
+  for (i = 0; i < desc->num_data; i += desc->data[i].header.length)
+    for (j = 1; j < desc->data[i].header.length; ++j)
+      {
+        desc->data[i+j].point.x += offset_x;
+        desc->data[i+j].point.y += offset_y;
+      }
 }
 
 GimpBezierDesc *



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