mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-11-11 11:56:16 +01:00
Merge branch 'gobject-speedup4' into 'main'
Don't inline deprecation warnings See merge request GNOME/glib!2715
This commit is contained in:
commit
b185f6e5d0
@ -1492,16 +1492,13 @@ g_object_thaw_notify (GObject *object)
|
||||
}
|
||||
|
||||
static void
|
||||
consider_issuing_property_deprecation_warning (const GParamSpec *pspec)
|
||||
maybe_issue_property_deprecation_warning (const GParamSpec *pspec)
|
||||
{
|
||||
static GHashTable *already_warned_table;
|
||||
static const gchar *enable_diagnostic;
|
||||
static GMutex already_warned_lock;
|
||||
gboolean already;
|
||||
|
||||
if (!(pspec->flags & G_PARAM_DEPRECATED))
|
||||
return;
|
||||
|
||||
if (g_once_init_enter (&enable_diagnostic))
|
||||
{
|
||||
const gchar *value = g_getenv ("G_ENABLE_DIAGNOSTIC");
|
||||
@ -1541,6 +1538,13 @@ consider_issuing_property_deprecation_warning (const GParamSpec *pspec)
|
||||
g_type_name (pspec->owner_type), pspec->name);
|
||||
}
|
||||
|
||||
static inline void
|
||||
consider_issuing_property_deprecation_warning (const GParamSpec *pspec)
|
||||
{
|
||||
if (G_UNLIKELY (pspec->flags & G_PARAM_DEPRECATED))
|
||||
maybe_issue_property_deprecation_warning (pspec);
|
||||
}
|
||||
|
||||
static inline void
|
||||
object_get_property (GObject *object,
|
||||
GParamSpec *pspec,
|
||||
@ -1588,6 +1592,8 @@ object_set_property (GObject *object,
|
||||
if (redirect)
|
||||
pspec = redirect;
|
||||
|
||||
consider_issuing_property_deprecation_warning (pspec);
|
||||
|
||||
pclass = G_PARAM_SPEC_GET_CLASS (pspec);
|
||||
if (g_value_type_compatible (G_VALUE_TYPE (value), pspec->value_type) &&
|
||||
(pclass->value_validate == NULL ||
|
||||
@ -2017,10 +2023,7 @@ g_object_new_with_custom_constructor (GObjectClass *class,
|
||||
/* set remaining properties */
|
||||
for (i = 0; i < n_params; i++)
|
||||
if (!(params[i].pspec->flags & (G_PARAM_CONSTRUCT | G_PARAM_CONSTRUCT_ONLY)))
|
||||
{
|
||||
consider_issuing_property_deprecation_warning (params[i].pspec);
|
||||
object_set_property (object, params[i].pspec, params[i].value, nqueue);
|
||||
}
|
||||
|
||||
/* If nqueue is non-NULL then we are frozen. Thaw it. */
|
||||
if (nqueue)
|
||||
@ -2068,7 +2071,6 @@ g_object_new_internal (GObjectClass *class,
|
||||
for (j = 0; j < n_params; j++)
|
||||
if (params[j].pspec == pspec)
|
||||
{
|
||||
consider_issuing_property_deprecation_warning (pspec);
|
||||
value = params[j].value;
|
||||
break;
|
||||
}
|
||||
@ -2094,10 +2096,7 @@ g_object_new_internal (GObjectClass *class,
|
||||
*/
|
||||
for (i = 0; i < n_params; i++)
|
||||
if (!(params[i].pspec->flags & (G_PARAM_CONSTRUCT | G_PARAM_CONSTRUCT_ONLY)))
|
||||
{
|
||||
consider_issuing_property_deprecation_warning (params[i].pspec);
|
||||
object_set_property (object, params[i].pspec, params[i].value, nqueue);
|
||||
}
|
||||
|
||||
g_object_notify_queue_thaw (object, nqueue);
|
||||
}
|
||||
@ -2515,7 +2514,6 @@ g_object_setv (GObject *object,
|
||||
if (!g_object_set_is_valid_property (object, pspec, names[i]))
|
||||
break;
|
||||
|
||||
consider_issuing_property_deprecation_warning (pspec);
|
||||
object_set_property (object, pspec, &values[i], nqueue);
|
||||
}
|
||||
|
||||
@ -2570,7 +2568,6 @@ g_object_set_valist (GObject *object,
|
||||
break;
|
||||
}
|
||||
|
||||
consider_issuing_property_deprecation_warning (pspec);
|
||||
object_set_property (object, pspec, &value, nqueue);
|
||||
|
||||
/* We open-code g_value_unset() here to avoid the
|
||||
|
Loading…
Reference in New Issue
Block a user