[gegl] buffer-source: invalidate the right rectangles when the buffer changes



commit 29f3b4d9354e4a1c140c8a6acbb3db1a99667ca8
Author: Michael Natterer <mitch gimp org>
Date:   Mon May 9 01:01:24 2016 +0200

    buffer-source: invalidate the right rectangles when the buffer changes
    
    When a buffer is set, we need to invalidate the whole extents of the
    old and new buffers eplicitly in set_property(). Any earlier or later
    invalidation will miss one of the rectangles.

 operations/common/buffer-source.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)
---
diff --git a/operations/common/buffer-source.c b/operations/common/buffer-source.c
index 72b08bb..c84cb3d 100644
--- a/operations/common/buffer-source.c
+++ b/operations/common/buffer-source.c
@@ -103,6 +103,10 @@ my_set_property (GObject      *object,
           g_assert (p->buffer_changed_handler > 0);
           g_signal_handler_disconnect (o->buffer, p->buffer_changed_handler);
           /* XXX: should decrement signal connected count */
+
+          buffer_changed (GEGL_BUFFER (o->buffer),
+                          gegl_buffer_get_extent (GEGL_BUFFER (o->buffer)),
+                          operation);
         }
 
       buffer = g_value_get_object (value);
@@ -113,6 +117,9 @@ my_set_property (GObject      *object,
             gegl_buffer_signal_connect (buffer, "changed",
                                         G_CALLBACK (buffer_changed),
                                         operation);
+
+          buffer_changed (buffer, gegl_buffer_get_extent (buffer),
+                          operation);
         }
       break;
 


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