clutter: avoid redundant _clutter_paint_node_init_types()
This only needs to be initialized once but is in the hot path of creating new paint nodes (for which we create many). Instead, do this as part of the clutter_init() workflow to keep it out of the hot path. https://gitlab.gnome.org/GNOME/mutter/merge_requests/1087
This commit is contained in:
parent
0c55e87d8f
commit
d327cedb83
@ -63,6 +63,7 @@
|
|||||||
#include "clutter-main.h"
|
#include "clutter-main.h"
|
||||||
#include "clutter-master-clock.h"
|
#include "clutter-master-clock.h"
|
||||||
#include "clutter-mutter.h"
|
#include "clutter-mutter.h"
|
||||||
|
#include "clutter-paint-node-private.h"
|
||||||
#include "clutter-private.h"
|
#include "clutter-private.h"
|
||||||
#include "clutter-settings-private.h"
|
#include "clutter-settings-private.h"
|
||||||
#include "clutter-stage-manager.h"
|
#include "clutter-stage-manager.h"
|
||||||
@ -970,6 +971,9 @@ clutter_init_real (GError **error)
|
|||||||
if (clutter_enable_accessibility)
|
if (clutter_enable_accessibility)
|
||||||
cally_accessibility_init ();
|
cally_accessibility_init ();
|
||||||
|
|
||||||
|
/* Initialize types required for paint nodes */
|
||||||
|
_clutter_paint_node_init_types ();
|
||||||
|
|
||||||
return CLUTTER_INIT_SUCCESS;
|
return CLUTTER_INIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1194,8 +1194,6 @@ _clutter_paint_node_create (GType gtype)
|
|||||||
{
|
{
|
||||||
g_return_val_if_fail (g_type_is_a (gtype, CLUTTER_TYPE_PAINT_NODE), NULL);
|
g_return_val_if_fail (g_type_is_a (gtype, CLUTTER_TYPE_PAINT_NODE), NULL);
|
||||||
|
|
||||||
_clutter_paint_node_init_types ();
|
|
||||||
|
|
||||||
return (gpointer) g_type_create_instance (gtype);
|
return (gpointer) g_type_create_instance (gtype);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user