Commit 297efb10 authored by Øyvind Kolås's avatar Øyvind Kolås

Only send pyramid void messages for tile storages where the zoom

handler has seen a tile with z!=0.
* gegl/buffer/gegl-tile-handler-zoom.c: (get_tile):
* gegl/buffer/gegl-tile-storage.c: (gegl_tile_storage_constructor):
* gegl/buffer/gegl-tile-storage.h:
* gegl/buffer/gegl-tile.c: (gegl_tile_void_pyramid):

svn path=/trunk/; revision=2697
parent e69c8493
2008-11-04 Øyvind Kolås <pippin@gimp.org>
Only send pyramid void messages for tile storages where the zoom
handler has seen a tile with z!=0.
* gegl/buffer/gegl-tile-handler-zoom.c: (get_tile):
* gegl/buffer/gegl-tile-storage.c: (gegl_tile_storage_constructor):
* gegl/buffer/gegl-tile-storage.h:
* gegl/buffer/gegl-tile.c: (gegl_tile_void_pyramid):
2008-11-03 Øyvind Kolås <pippin@gimp.org>
* gegl/buffer/gegl-buffer-access.c: (gegl_buffer_iterate),
......
......@@ -35,6 +35,7 @@ enum
#include <babl/babl.h>
#include "gegl-tile-backend.h"
#include "gegl-tile-storage.h"
void gegl_tile_handler_cache_insert (GeglTileHandlerCache *cache,
GeglTile *tile,
......@@ -223,6 +224,7 @@ get_tile (GeglTileSource *gegl_tile_source,
{
return NULL;
}
zoom->tile_storage->seen_zoom = TRUE;
g_assert (zoom->backend);
g_object_get (zoom->backend, "tile-width", &tile_width,
......
......@@ -274,6 +274,7 @@ gegl_tile_storage_constructor (GType type,
tile_storage_idle,
tile_storage,
NULL);
tile_storage->seen_zoom = FALSE;
return object;
}
......
......@@ -40,6 +40,8 @@ struct _GeglTileStorage
gint width;
gint height;
gchar *path;
gboolean seen_zoom; /* if the storage has seen any tiles that are
not at level 0 */
guint idle_swapper;
};
......
......@@ -32,6 +32,7 @@
#include "gegl-buffer-private.h"
#include "gegl-tile.h"
#include "gegl-tile-source.h"
#include "gegl-tile-storage.h"
G_DEFINE_TYPE (GeglTile, gegl_tile, G_TYPE_OBJECT)
......@@ -293,6 +294,7 @@ static void
gegl_tile_void_pyramid (GeglTile *tile)
{
if (tile->tile_storage &&
tile->tile_storage->seen_zoom &&
tile->z == 0) /* we only accepting voiding the base level */
{
_gegl_tile_void_pyramid (GEGL_TILE_SOURCE (tile->tile_storage),
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment