mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-08-20 07:38:54 +02:00
Merge branch 'gobject-speedup9' into 'main'
Avoid g_type_class_peek See merge request GNOME/glib!2723
This commit is contained in:
@@ -1550,16 +1550,17 @@ object_get_property (GObject *object,
|
|||||||
GParamSpec *pspec,
|
GParamSpec *pspec,
|
||||||
GValue *value)
|
GValue *value)
|
||||||
{
|
{
|
||||||
GObjectClass *class = g_type_class_peek (pspec->owner_type);
|
GTypeInstance *inst = (GTypeInstance *) object;
|
||||||
|
GObjectClass *class;
|
||||||
guint param_id = PARAM_SPEC_PARAM_ID (pspec);
|
guint param_id = PARAM_SPEC_PARAM_ID (pspec);
|
||||||
GParamSpec *redirect;
|
GParamSpec *redirect;
|
||||||
|
|
||||||
if (class == NULL)
|
if (G_LIKELY (inst->g_class->g_type == pspec->owner_type))
|
||||||
{
|
class = (GObjectClass *) inst->g_class;
|
||||||
g_warning ("'%s::%s' is not a valid property name; '%s' is not a GObject subtype",
|
else
|
||||||
g_type_name (pspec->owner_type), pspec->name, g_type_name (pspec->owner_type));
|
class = g_type_class_peek (pspec->owner_type);
|
||||||
return;
|
|
||||||
}
|
g_assert (class != NULL);
|
||||||
|
|
||||||
redirect = g_param_spec_get_redirect_target (pspec);
|
redirect = g_param_spec_get_redirect_target (pspec);
|
||||||
if (redirect)
|
if (redirect)
|
||||||
@@ -1576,17 +1577,18 @@ object_set_property (GObject *object,
|
|||||||
const GValue *value,
|
const GValue *value,
|
||||||
GObjectNotifyQueue *nqueue)
|
GObjectNotifyQueue *nqueue)
|
||||||
{
|
{
|
||||||
GObjectClass *class = g_type_class_peek (pspec->owner_type);
|
GTypeInstance *inst = (GTypeInstance *) object;
|
||||||
|
GObjectClass *class;
|
||||||
GParamSpecClass *pclass;
|
GParamSpecClass *pclass;
|
||||||
guint param_id = PARAM_SPEC_PARAM_ID (pspec);
|
guint param_id = PARAM_SPEC_PARAM_ID (pspec);
|
||||||
GParamSpec *redirect;
|
GParamSpec *redirect;
|
||||||
|
|
||||||
if (G_UNLIKELY (class == NULL))
|
if (G_LIKELY (inst->g_class->g_type == pspec->owner_type))
|
||||||
{
|
class = (GObjectClass *) inst->g_class;
|
||||||
g_warning ("'%s::%s' is not a valid property name; '%s' is not a GObject subtype",
|
else
|
||||||
g_type_name (pspec->owner_type), pspec->name, g_type_name (pspec->owner_type));
|
class = g_type_class_peek (pspec->owner_type);
|
||||||
return;
|
|
||||||
}
|
g_assert (class != NULL);
|
||||||
|
|
||||||
redirect = g_param_spec_get_redirect_target (pspec);
|
redirect = g_param_spec_get_redirect_target (pspec);
|
||||||
if (redirect)
|
if (redirect)
|
||||||
|
Reference in New Issue
Block a user