From: Matthias Clasen Date: Mon, 4 Apr 2022 00:25:22 +0000 (-0400) Subject: gl: Don't leak big glyphs X-Git-Tag: archive/raspbian/4.8.3+ds-2+rpi1~3^2~20^2~4^2~264^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=48dbbbc0992bffa9d2167c37d8256d27fe4328a5;p=gtk4.git gl: Don't leak big glyphs 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. --- diff --git a/gsk/gl/gskgltexturelibrary.c b/gsk/gl/gskgltexturelibrary.c index 3e6463a848..9960985814 100644 --- a/gsk/gl/gskgltexturelibrary.c +++ b/gsk/gl/gskgltexturelibrary.c @@ -108,11 +108,17 @@ gsk_gl_texture_library_real_compact (GskGLTextureLibrary *self, 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; } }