[gtk/readonly-all-the-things: 1/2] Revert "inspector: Fix node recording"



commit d3431f569c15ca10ef0e32a89ed9cc22cfa351d8
Author: Matthias Clasen <mclasen redhat com>
Date:   Tue Oct 22 01:32:51 2019 -0400

    Revert "inspector: Fix node recording"
    
    This reverts commit ba7649b3889c823cdc16983c7552956bc655fa8a.

 gsk/gl/gskglrenderer.c     | 26 ++++++--------------------
 gsk/gskrendernodeimpl.c    | 18 ++----------------
 gsk/gskrendernodeprivate.h |  6 ++----
 3 files changed, 10 insertions(+), 40 deletions(-)
---
diff --git a/gsk/gl/gskglrenderer.c b/gsk/gl/gskglrenderer.c
index 5c6d8b3ad1..b39edcca4f 100644
--- a/gsk/gl/gskglrenderer.c
+++ b/gsk/gl/gskglrenderer.c
@@ -537,19 +537,18 @@ render_fallback_node (GskGLRenderer       *self,
 
 typedef struct {
   int timestamp;
-  int stored;
   GskGLCachedGlyph *glyphs[];
 } TextRenderData;
 
 static inline TextRenderData *
-get_render_data (GskRenderNode   *node,
-                 GskGLGlyphCache *cache)
+ensure_render_data (GskRenderNode *node,
+                    GskGLGlyphCache *cache)
 {
   TextRenderData *data;
   int num_glyphs;
 
   num_glyphs = gsk_text_node_get_num_glyphs (node);
-  data = gsk_text_node_get_render_data (node, cache);
+  data = gsk_text_node_get_render_data (node);
   if (data)
     {
       if (data->timestamp < cache->atlas_timestamp)
@@ -562,24 +561,13 @@ get_render_data (GskRenderNode   *node,
     {
       data = g_new0 (TextRenderData, sizeof (TextRenderData) + sizeof (gpointer) * num_glyphs);
       data->timestamp = cache->atlas_timestamp;
+
+      gsk_text_node_set_render_data (node, data);
     }
 
   return data;
 }
 
-static inline void
-set_render_data (GskRenderNode   *node,
-                 GskGLGlyphCache *cache,
-                 TextRenderData  *data)
-{
-  if (!data->stored)
-    {
-      data->stored = 1;
-      if (!gsk_text_node_set_render_data (node, cache, data))
-        g_free (data);
-    }
-}
-
 static inline void
 render_text_node (GskGLRenderer   *self,
                   GskRenderNode   *node,
@@ -610,7 +598,7 @@ render_text_node (GskGLRenderer   *self,
       ops_set_color (builder, color);
     }
 
-  render_data = get_render_data (node, self->glyph_cache);
+  render_data = ensure_render_data (node, self->glyph_cache);
 
   memset (&lookup, 0, sizeof (CacheKeyData));
   lookup.data.font = (PangoFont *)font;
@@ -675,8 +663,6 @@ render_text_node (GskGLRenderer   *self,
 next:
       x_position += gi->geometry.width;
     }
-
-  set_render_data (node, self->glyph_cache, render_data);
 }
 
 static inline void
diff --git a/gsk/gskrendernodeimpl.c b/gsk/gskrendernodeimpl.c
index 7625c68071..c362a6fa53 100644
--- a/gsk/gskrendernodeimpl.c
+++ b/gsk/gskrendernodeimpl.c
@@ -3414,9 +3414,7 @@ struct _GskTextNode
   GdkRGBA color;
   graphene_point_t offset;
 
-  gpointer render_key;
   gpointer render_data;
-
   guint num_glyphs;
   PangoGlyphInfo glyphs[];
 };
@@ -3549,7 +3547,6 @@ gsk_text_node_new (PangoFont              *font,
   self->has_color_glyphs = font_has_color_glyphs (font);
   self->color = *color;
   self->offset = *offset;
-  self->render_key = NULL;
   self->render_data = NULL;
   self->num_glyphs = glyphs->num_glyphs;
   memcpy (self->glyphs, glyphs->glyphs, sizeof (PangoGlyphInfo) * glyphs->num_glyphs);
@@ -3631,31 +3628,20 @@ gsk_text_node_get_offset (GskRenderNode *node)
   return &self->offset;
 }
 
-gboolean
+void
 gsk_text_node_set_render_data (GskRenderNode *node,
-                               gpointer       key,
                                gpointer       data)
 {
   GskTextNode *self = (GskTextNode *) node;
 
-  if (self->render_key != NULL)
-    return FALSE;
-
-  self->render_key = key;
   self->render_data = data;
-
-  return TRUE;
 }
 
 gpointer
-gsk_text_node_get_render_data (GskRenderNode *node,
-                               gpointer       key)
+gsk_text_node_get_render_data (GskRenderNode *node)
 {
   GskTextNode *self = (GskTextNode *) node;
 
-  if (self->render_key != key)
-    return NULL;
-
   return self->render_data;
 }
 
diff --git a/gsk/gskrendernodeprivate.h b/gsk/gskrendernodeprivate.h
index 9ab3358393..f2fe034444 100644
--- a/gsk/gskrendernodeprivate.h
+++ b/gsk/gskrendernodeprivate.h
@@ -46,11 +46,9 @@ void            gsk_render_node_diff             (GskRenderNode             *nod
 void            gsk_render_node_diff_impossible  (GskRenderNode             *node1,
                                                   GskRenderNode             *node2,
                                                   cairo_region_t            *region);
-gboolean        gsk_text_node_set_render_data    (GskRenderNode *node,
-                                                  gpointer       key,
+void            gsk_text_node_set_render_data    (GskRenderNode *node,
                                                   gpointer       data);
-gpointer        gsk_text_node_get_render_data    (GskRenderNode *node,
-                                                  gpointer       key);
+gpointer        gsk_text_node_get_render_data    (GskRenderNode *node);
                                                   
 
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]