summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2022-04-05 03:15:53 +0000
committerMatthias Clasen <mclasen@redhat.com>2022-04-05 03:15:53 +0000
commitee7c83e15ad9bf933de8217dc15ce907f39452e0 (patch)
treed5c98018ebc4a6fbbd3b1461dd04b016187675d6
parentd75147db0acd7723732790155fd3a63688193c63 (diff)
parent48dbbbc0992bffa9d2167c37d8256d27fe4328a5 (diff)
downloadgtk+-ee7c83e15ad9bf933de8217dc15ce907f39452e0.tar.gz
Merge branch 'matthiasc/for-main' into 'main'
gl: Don't leak big glyphs See merge request GNOME/gtk!4622
-rw-r--r--gsk/gl/gskgltexturelibrary.c14
1 files changed, 10 insertions, 4 deletions
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;
}
}