[gimp/gimp-2-10] app: do not try to copy a buffer result from a canceled GEGL operation.



commit 81fb595ca010ff8e282caf4a20e59bcab75558e2
Author: Jehan <jehan girinstud io>
Date:   Mon May 18 11:17:41 2020 +0200

    app: do not try to copy a buffer result from a canceled GEGL operation.
    
    This fixes:
    > GEGL-WARNING: (../../src/gegl/gegl/buffer/gegl-tile.c:127):gegl_tile_dup: runtime check failed: (! 
src->damage)
    
    Which happened when a GEGL operation was running and you canceled it in
    the middle, say with the ESC key (easy to reproduce with long operations
    such as "Color to Gray"). In such case, obviously don't try to copy the
    unfinished operation result into the dest buffer.
    
    (cherry picked from commit 2b764c65427e1635240dc5ca6bfa4ef5ca4a2ae5)

 app/gegl/gimp-gegl-apply-operation.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
---
diff --git a/app/gegl/gimp-gegl-apply-operation.c b/app/gegl/gimp-gegl-apply-operation.c
index 1772bb067b..d76b3b1428 100644
--- a/app/gegl/gimp-gegl-apply-operation.c
+++ b/app/gegl/gimp-gegl-apply-operation.c
@@ -345,8 +345,9 @@ gimp_gegl_apply_cached_operation (GeglBuffer          *src_buffer,
 
   if (result_buffer != dest_buffer)
     {
-      gimp_gegl_buffer_copy (result_buffer, dest_rect, GEGL_ABYSS_NONE,
-                             dest_buffer,   dest_rect);
+      if (! cancel)
+        gimp_gegl_buffer_copy (result_buffer, dest_rect, GEGL_ABYSS_NONE,
+                               dest_buffer,   dest_rect);
 
       g_object_unref (result_buffer);
     }


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