Fix a crash with glyph caching
authorMatthias Clasen <mclasen@redhat.com>
Wed, 16 Oct 2019 02:52:28 +0000 (22:52 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Wed, 16 Oct 2019 02:52:28 +0000 (22:52 -0400)
We need to treat atlas-less cached glyphs like
atlases, when it comes to invalidating text node
render data.

gsk/gl/gskglglyphcache.c

index 5571293ee541582c4335d739c4f2eb1015c2dede..80216ab5be6cd731cb9aa045c4c9846d395e2511 100644 (file)
@@ -362,6 +362,12 @@ gsk_gl_glyph_cache_begin_frame (GskGLGlyphCache *self,
                 {
                   gsk_gl_driver_destroy_texture (driver, value->texture_id);
                   g_hash_table_iter_remove (&iter);
+
+                  /* Sadly, if we drop an atlas-less cached glyph, we
+                   * have to treat it like a dropped atlas and purge
+                   * text node render data.
+                   */
+                  self->atlas_timestamp++;
                 }
             }
           else