[gegl] gegl: Assume GeglProcessor clients keep track of dirty regions



commit 0ed57a05daa8b2008dc3e08e6e3b20d5e619b717
Author: Martin Nordholts <martinn src gnome org>
Date:   Fri Jun 26 08:15:10 2009 +0200

    gegl: Assume GeglProcessor clients keep track of dirty regions
    
    Assume GeglProcessor clients that use gegl_processor_set_rectangle()
    keeps track of dirty regions, and reset valid_region whenever the
    rectangle changes.

 gegl/process/gegl-processor.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)
---
diff --git a/gegl/process/gegl-processor.c b/gegl/process/gegl-processor.c
index 99217b9..ac9d367 100644
--- a/gegl/process/gegl-processor.c
+++ b/gegl/process/gegl-processor.c
@@ -285,6 +285,14 @@ gegl_processor_set_rectangle (GeglProcessor       *processor,
         }
       g_slist_free (processor->dirty_rectangles);
       processor->dirty_rectangles = NULL;
+
+      /* We assume that the GeglProcessor client keeps track of dirty
+       * regions for us, so just clear the valid_region when the rect
+       * changes
+       */
+      if (processor->valid_region)
+        gegl_region_destroy (processor->valid_region);
+      processor->valid_region = gegl_region_new ();
     }
 
   /* if the node's operation is a sink and it needs the full content then



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