summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2021-04-10 20:26:45 -0400
committerMatthias Clasen <mclasen@redhat.com>2021-04-11 12:50:50 -0400
commitaaf17fd3d04f00b76b5c21ec5057c4c0b474ef07 (patch)
tree25184eb2b4e8c9020770f5cc0bd81a636cf43d85
parent678e6fc6d63fc9d9ba6d9d4e39796313d4028c93 (diff)
downloadgtk+-aaf17fd3d04f00b76b5c21ec5057c4c0b474ef07.tar.gz
ngl: Small optimization
We really want equality here.
-rw-r--r--gsk/ngl/gsknglrenderjob.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/gsk/ngl/gsknglrenderjob.c b/gsk/ngl/gsknglrenderjob.c
index 69c92ac80f..7c684164f3 100644
--- a/gsk/ngl/gsknglrenderjob.c
+++ b/gsk/ngl/gsknglrenderjob.c
@@ -212,6 +212,13 @@ node_is_invisible (const GskRenderNode *node)
node->bounds.size.height == 0.0f;
}
+static inline gboolean G_GNUC_PURE
+rounded_rect_equal (const GskRoundedRect *r1,
+ const GskRoundedRect *r2)
+{
+ return memcmp (r1, r2, sizeof (GskRoundedRect)) == 0;
+}
+
static inline void
gsk_rounded_rect_shrink_to_minimum (GskRoundedRect *self)
{
@@ -3474,8 +3481,8 @@ gsk_ngl_render_job_visit_node (GskNglRenderJob *job,
if (gsk_render_node_get_node_type (grandchild) == GSK_COLOR_NODE &&
gsk_render_node_get_node_type (child2) == GSK_BORDER_NODE &&
gsk_border_node_get_uniform_color (child2) &&
- gsk_rounded_rect_equal (gsk_rounded_clip_node_get_clip (child),
- gsk_border_node_get_outline (child2)))
+ rounded_rect_equal (gsk_rounded_clip_node_get_clip (child),
+ gsk_border_node_get_outline (child2)))
{
gsk_ngl_render_job_visit_css_background (job, child, child2);
i++; /* skip the border node */