static void destroy(openslide_t *osr) { struct leica_ops_data *data = osr->data; _openslide_tiffcache_destroy(data->tc); g_slice_free(struct leica_ops_data, data); for (int32_t i = 0; i < osr->level_count; i++) { destroy_level((struct level *) osr->levels[i]); } g_free(osr->levels); }
static void destroy_data(struct ventana_ops_data *data, struct level **levels, int32_t level_count) { _openslide_tiffcache_destroy(data->tc); g_slice_free(struct ventana_ops_data, data); for (int32_t i = 0; i < level_count; i++) { _openslide_grid_destroy(levels[i]->grid); g_slice_free(struct level, levels[i]); } g_free(levels); }
static void destroy(openslide_t *osr) { struct generic_tiff_ops_data *data = osr->data; _openslide_tiffcache_destroy(data->tc); g_slice_free(struct generic_tiff_ops_data, data); for (int32_t i = 0; i < osr->level_count; i++) { struct level *l = (struct level *) osr->levels[i]; _openslide_grid_destroy(l->grid); g_slice_free(struct level, l); } g_free(osr->levels); }
static void destroy_data(struct aperio_ops_data *data, struct level **levels, int32_t level_count) { if (data) { _openslide_tiffcache_destroy(data->tc); g_slice_free(struct aperio_ops_data, data); } if (levels) { for (int32_t i = 0; i < level_count; i++) { if (levels[i]) { if (levels[i]->missing_tiles) { g_hash_table_destroy(levels[i]->missing_tiles); } _openslide_grid_destroy(levels[i]->grid); g_slice_free(struct level, levels[i]); } } g_free(levels); } }