We were never resetting the accessed bit of
glyphs that are big enough to be stored individually,
so these would just accumulate and never be dropped.
atlased++;
}
}
- else if (!entry->accessed)
+ else
{
- gsk_gl_driver_release_texture (self->driver, entry->texture);
- g_hash_table_iter_remove (&iter);
- dropped++;
+ if (!entry->accessed)
+ {
+ gsk_gl_driver_release_texture (self->driver, entry->texture);
+ g_hash_table_iter_remove (&iter);
+ dropped++;
+ }
+
+ if (periodic_scan)
+ entry->accessed = FALSE;
}
}