[gegl] buffer-source: mark buffer as a non-inplace capable buffer



commit 4c784821cb6bae53654f0e2c2e1b1ff50a343e85
Author: Ãyvind KolÃs <pippin gimp org>
Date:   Mon Apr 30 20:26:59 2012 +0200

    buffer-source: mark buffer as a non-inplace capable buffer
    
    The buffer in the buffer source is not created by us, thus it should not
    be used for in-place processing. Perhaps this should be the default and
    buffers that can be in-place processed should be explicitly marked?

 operations/common/buffer-source.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)
---
diff --git a/operations/common/buffer-source.c b/operations/common/buffer-source.c
index a2d2d21..82eb83e 100644
--- a/operations/common/buffer-source.c
+++ b/operations/common/buffer-source.c
@@ -31,6 +31,8 @@ gegl_chant_object(buffer, _("Input buffer"),
 #define GEGL_CHANT_C_FILE       "buffer-source.c"
 
 #include "gegl-chant.h"
+#include <gegl.h>
+#include "graph/gegl-node.h"
 
 static void buffer_changed (GeglBuffer          *buffer,
                             const GeglRectangle *rect,
@@ -79,6 +81,10 @@ process (GeglOperation        *operation,
       /* override core behaviour, by resetting the buffer in the operation_context */
       gegl_operation_context_take_object (context, "output",
                                           G_OBJECT (o->buffer));
+      /* mark that this buffer should not be used for in-place
+       * processing.
+       */
+      gegl_object_set_has_forked (o->buffer);
     }
   return TRUE;
 }



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