[gtk] render node: Optimize type checks



commit 69016825aa87534c734d44bbbe2b9b7607f41850
Author: Matthias Clasen <mclasen redhat com>
Date:   Sat Jun 1 21:25:55 2019 +0000

    render node: Optimize type checks
    
    The GSK_IS_RENDER_NODE macro is a bit silly,
    and not worth having in g_return_if_fail checks
    in trivial getters.

 gsk/gskrendernode.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)
---
diff --git a/gsk/gskrendernode.c b/gsk/gskrendernode.c
index 781eb797d1..bbf42975af 100644
--- a/gsk/gskrendernode.c
+++ b/gsk/gskrendernode.c
@@ -145,6 +145,13 @@ gsk_render_node_get_node_type (GskRenderNode *node)
   return node->node_class->node_type;
 }
 
+static inline
+GskRenderNodeType
+_gsk_render_node_get_node_type (GskRenderNode *node)
+{
+  return node->node_class->node_type;
+}
+
 /**
  * gsk_render_node_get_bounds:
  * @node: a #GskRenderNode
@@ -247,7 +254,7 @@ gsk_render_node_can_diff (GskRenderNode *node1,
   if (node1 == node2)
     return TRUE;
 
-  if (gsk_render_node_get_node_type (node1) != gsk_render_node_get_node_type (node2))
+  if (_gsk_render_node_get_node_type (node1) != _gsk_render_node_get_node_type (node2))
     return FALSE;
 
   return node1->node_class->can_diff (node1, node2);
@@ -301,7 +308,7 @@ gsk_render_node_diff (GskRenderNode  *node1,
   if (node1 == node2)
     return;
 
-  if (gsk_render_node_get_node_type (node1) != gsk_render_node_get_node_type (node2))
+  if (_gsk_render_node_get_node_type (node1) != _gsk_render_node_get_node_type (node2))
     return gsk_render_node_diff_impossible (node1, node2, region);
 
   return node1->node_class->diff (node1, node2, region);


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