Blame SOURCES/0001-clutter-avoid-redundant-_clutter_paint_node_init_typ.patch

f92192
From a9f9f9b36a03535480b31534547bea7c9f7cf4c1 Mon Sep 17 00:00:00 2001
f92192
From: Christian Hergert <chergert@redhat.com>
f92192
Date: Sun, 23 Feb 2020 17:27:08 -0800
f92192
Subject: [PATCH 1/3] clutter: avoid redundant _clutter_paint_node_init_types()
f92192
f92192
This only needs to be initialized once but is in the hot path of creating
f92192
new paint nodes (for which we create many). Instead, do this as part of
f92192
the clutter_init() workflow to keep it out of the hot path.
f92192
f92192
https://gitlab.gnome.org/GNOME/mutter/merge_requests/1087
f92192
---
f92192
 clutter/clutter/clutter-main.c       | 4 ++++
f92192
 clutter/clutter/clutter-paint-node.c | 2 --
f92192
 2 files changed, 4 insertions(+), 2 deletions(-)
f92192
f92192
diff --git a/clutter/clutter/clutter-main.c b/clutter/clutter/clutter-main.c
f92192
index 46537f322..8a465fdc2 100644
f92192
--- a/clutter/clutter/clutter-main.c
f92192
+++ b/clutter/clutter/clutter-main.c
f92192
@@ -63,6 +63,7 @@
f92192
 #include "clutter-main.h"
f92192
 #include "clutter-master-clock.h"
f92192
 #include "clutter-mutter.h"
f92192
+#include "clutter-paint-node-private.h"
f92192
 #include "clutter-private.h"
f92192
 #include "clutter-settings-private.h"
f92192
 #include "clutter-stage-manager.h"
f92192
@@ -1390,6 +1391,9 @@ clutter_init_real (GError **error)
f92192
   if (clutter_enable_accessibility)
f92192
     cally_accessibility_init ();
f92192
 
f92192
+  /* Initialize types required for paint nodes */
f92192
+  _clutter_paint_node_init_types ();
f92192
+
f92192
   return CLUTTER_INIT_SUCCESS;
f92192
 }
f92192
 
f92192
diff --git a/clutter/clutter/clutter-paint-node.c b/clutter/clutter/clutter-paint-node.c
f92192
index 391f48398..db68b7766 100644
f92192
--- a/clutter/clutter/clutter-paint-node.c
f92192
+++ b/clutter/clutter/clutter-paint-node.c
f92192
@@ -1113,8 +1113,6 @@ _clutter_paint_node_create (GType gtype)
f92192
 {
f92192
   g_return_val_if_fail (g_type_is_a (gtype, CLUTTER_TYPE_PAINT_NODE), NULL);
f92192
 
f92192
-  _clutter_paint_node_init_types ();
f92192
-
f92192
   return (gpointer) g_type_create_instance (gtype);
f92192
 }
f92192
 
f92192
-- 
f92192
2.26.0
f92192