[gegl/soc-2011-ops] Added plasma op (segfault now, will resolve tommorow)



commit fd49f2c655b6f434eeb395613da11324cd152560
Author: Robert Sasu <sasu robert gmail com>
Date:   Wed Jun 22 23:56:29 2011 +0300

    Added plasma op (segfault now, will resolve tommorow)

 operations/workshop/plasma.c |   19 +++++++++++++++----
 1 files changed, 15 insertions(+), 4 deletions(-)
---
diff --git a/operations/workshop/plasma.c b/operations/workshop/plasma.c
index 83f9790..139f124 100644
--- a/operations/workshop/plasma.c
+++ b/operations/workshop/plasma.c
@@ -318,6 +318,7 @@ do_plasma_big (GeglBuffer *input,
 
   GeglRectangle  roi = {0, 0, 0, 0};
   gfloat        *src_buf;
+  gboolean       toreturn;
 
   tl = ml = bl = mt = mm = mb = tr = mr = br = tmp
      = g_new0 (gfloat, floats_per_pixel);  
@@ -440,19 +441,29 @@ do_plasma_big (GeglBuffer *input,
         init_rect_buf (output, src_buf, &roi, x1, y1, xm, ym);
         do_plasma (src_buf, &roi, src_buf, &roi, x1, y1, xm, ym, depth - 1,
               scale_depth + 1, gr, op);
+        gegl_buffer_set (output, &roi, babl_format ("RGBA float"), src_buf,
+                        GEGL_AUTO_ROWSTRIDE);
         /*bottom-left*/
         init_rect_buf (output, src_buf, &roi, x1, ym, xm, y2);
         do_plasma (src_buf, &roi, src_buf, &roi, x1, ym, xm, y2, depth - 1,
                scale_depth + 1, gr, op);
+        gegl_buffer_set (output, &roi, babl_format ("RGBA float"), src_buf,
+                        GEGL_AUTO_ROWSTRIDE);
         /*top-right*/
         init_rect_buf (output, src_buf, &roi, xm, y1, x2, ym);
         do_plasma (src_buf, &roi, src_buf, &roi, xm, y1, x2, ym, depth - 1,
                scale_depth + 1, gr, op);
+        gegl_buffer_set (output, &roi, babl_format ("RGBA float"), src_buf,
+                        GEGL_AUTO_ROWSTRIDE);
         /*bottom-right*/
-        init_rect_buf (output, src_buf, &roi, xm, ym, x2, y2);
-        return do_plasma (src_buf, &roi, src_buf, &roi, xm, ym, x2, y2, depth - 1,
-                      scale_depth + 1, gr, op); 
-         }
+        init_rect_buf (output, src_buf, &roi, xm, ym, x2, y2); 
+        toreturn = do_plasma (src_buf, &roi, src_buf, &roi, xm, ym, x2, y2, depth - 1,
+                              scale_depth + 1, gr, op); 
+        gegl_buffer_set (output, &roi, babl_format ("RGBA float"), src_buf,
+                        GEGL_AUTO_ROWSTRIDE);
+   
+        return toreturn;
+        }
      else 
         {
         /*top-left*/



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