[gegl] buffer: fix hot tile code that got clobbered in a revert commit



commit 755b27ae496d17fe05e745dd85f7ba1a6b14a057
Author: Øyvind Kolås <pippin gimp org>
Date:   Thu Jan 11 02:15:26 2018 +0100

    buffer: fix hot tile code that got clobbered in a revert commit

 gegl/buffer/gegl-buffer-access.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
---
diff --git a/gegl/buffer/gegl-buffer-access.c b/gegl/buffer/gegl-buffer-access.c
index 84a2388..136ab3e 100644
--- a/gegl/buffer/gegl-buffer-access.c
+++ b/gegl/buffer/gegl-buffer-access.c
@@ -127,16 +127,18 @@ gegl_buffer_get_pixel (GeglBuffer     *buffer,
     gint indice_x    = gegl_tile_indice (tiledx, tile_width);
     gint indice_y    = gegl_tile_indice (tiledy, tile_height);
 
-    GeglTile *tile = NULL;
+    GeglTile *tile = buffer->tile_storage->hot_tile;
     const Babl *fish = NULL;
 
     if (!(tile &&
           tile->x == indice_x &&
           tile->y == indice_y))
       {
+        _gegl_buffer_drop_hot_tile (buffer);
         tile = gegl_tile_source_get_tile ((GeglTileSource *) (buffer),
                                           indice_x, indice_y,
                                           0);
+        buffer->tile_storage->hot_tile = tile;
       }
 
     if (tile)
@@ -160,7 +162,6 @@ gegl_buffer_get_pixel (GeglBuffer     *buffer,
             tp = gegl_tile_get_data (tile) + (offsety * tile_width + offsetx) * px_size;
             memcpy (buf, tp, px_size);
           }
-        gegl_tile_unref (tile);
       }
   }
 


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