mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-05-08 06:56:52 +02:00
gparam: Use the new private instance data API
https://bugzilla.gnome.org/show_bug.cgi?id=700035
This commit is contained in:
parent
39ba7c8142
commit
aba80eea6c
@ -86,9 +86,14 @@ typedef struct
|
|||||||
} GParamSpecPrivate;
|
} GParamSpecPrivate;
|
||||||
|
|
||||||
static gint g_param_private_offset;
|
static gint g_param_private_offset;
|
||||||
#define PRIV(inst) (&G_STRUCT_MEMBER(GParamSpecPrivate, (inst), g_param_private_offset))
|
|
||||||
|
|
||||||
/* --- functions --- */
|
/* --- functions --- */
|
||||||
|
static inline GParamSpecPrivate *
|
||||||
|
g_param_spec_get_private (GParamSpec *pspec)
|
||||||
|
{
|
||||||
|
return &G_STRUCT_MEMBER (GParamSpecPrivate, pspec, g_param_private_offset);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
_g_param_type_init (void)
|
_g_param_type_init (void)
|
||||||
{
|
{
|
||||||
@ -132,6 +137,7 @@ _g_param_type_init (void)
|
|||||||
*/
|
*/
|
||||||
type = g_type_register_fundamental (G_TYPE_PARAM, g_intern_static_string ("GParam"), ¶m_spec_info, &finfo, G_TYPE_FLAG_ABSTRACT);
|
type = g_type_register_fundamental (G_TYPE_PARAM, g_intern_static_string ("GParam"), ¶m_spec_info, &finfo, G_TYPE_FLAG_ABSTRACT);
|
||||||
g_assert (type == G_TYPE_PARAM);
|
g_assert (type == G_TYPE_PARAM);
|
||||||
|
g_param_private_offset = g_type_add_instance_private (type, sizeof (GParamSpecPrivate));
|
||||||
g_value_register_transform_func (G_TYPE_PARAM, G_TYPE_PARAM, value_param_transform_value);
|
g_value_register_transform_func (G_TYPE_PARAM, G_TYPE_PARAM, value_param_transform_value);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -155,8 +161,7 @@ g_param_spec_class_init (GParamSpecClass *class,
|
|||||||
class->value_validate = NULL;
|
class->value_validate = NULL;
|
||||||
class->values_cmp = NULL;
|
class->values_cmp = NULL;
|
||||||
|
|
||||||
g_type_class_add_private (class, sizeof (GParamSpecPrivate));
|
g_type_class_adjust_private_offset (class, &g_param_private_offset);
|
||||||
g_param_private_offset = g_type_class_get_instance_private_offset (class);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -178,7 +183,7 @@ g_param_spec_init (GParamSpec *pspec,
|
|||||||
static void
|
static void
|
||||||
g_param_spec_finalize (GParamSpec *pspec)
|
g_param_spec_finalize (GParamSpec *pspec)
|
||||||
{
|
{
|
||||||
GParamSpecPrivate *priv = PRIV (pspec);
|
GParamSpecPrivate *priv = g_param_spec_get_private (pspec);
|
||||||
|
|
||||||
if (priv->default_value.g_type)
|
if (priv->default_value.g_type)
|
||||||
g_value_reset (&priv->default_value);
|
g_value_reset (&priv->default_value);
|
||||||
@ -1537,7 +1542,7 @@ g_value_dup_param (const GValue *value)
|
|||||||
const GValue *
|
const GValue *
|
||||||
g_param_spec_get_default_value (GParamSpec *pspec)
|
g_param_spec_get_default_value (GParamSpec *pspec)
|
||||||
{
|
{
|
||||||
GParamSpecPrivate *priv = PRIV (pspec);
|
GParamSpecPrivate *priv = g_param_spec_get_private (pspec);
|
||||||
|
|
||||||
/* We use the type field of the GValue as the key for the once because
|
/* We use the type field of the GValue as the key for the once because
|
||||||
* it will be zero before it is initialised and non-zero after. We
|
* it will be zero before it is initialised and non-zero after. We
|
||||||
|
Loading…
x
Reference in New Issue
Block a user