gegl r2400 - in trunk: . gegl/buffer



Author: ok
Date: Mon Jun  9 20:53:53 2008
New Revision: 2400
URL: http://svn.gnome.org/viewvc/gegl?rev=2400&view=rev

Log:
* gegl/buffer/gegl-buffer-iterator.c: (gegl_buffer_iterator_add),
(gegl_buffer_iterator_next): create a temporary sub buffer the size
of the roi for each buffer iterated over, this fixed roi problems.


Modified:
   trunk/ChangeLog
   trunk/gegl/buffer/gegl-buffer-iterator.c

Modified: trunk/gegl/buffer/gegl-buffer-iterator.c
==============================================================================
--- trunk/gegl/buffer/gegl-buffer-iterator.c	(original)
+++ trunk/gegl/buffer/gegl-buffer-iterator.c	Mon Jun  9 20:53:53 2008
@@ -335,7 +335,8 @@
 
   /* FIXME: handle roi == NULL, by copying from where it makes sense */
   i->rect[self]=*roi;
-  i->buffer[self]=buffer;
+
+  i->buffer[self]=gegl_buffer_create_sub_buffer (buffer, roi);
   if (format)
     i->format[self]=format;
   else
@@ -480,6 +481,7 @@
           if (i->buf[no])
             gegl_free (i->buf[no]);
           i->buf[no]=NULL;
+          g_object_unref (i->buffer[no]);
         }
       i->buf[0]=(void*)0xdeadbeef;
       g_free (i);



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