mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-07-31 22:23:39 +02:00
Add a new GParamSpecOverride type that is a pointer to a different
Tue Oct 14 17:40:19 2003 Owen Taylor <otaylor@redhat.com> * gparamspecs.[ch]: Add a new GParamSpecOverride type that is a pointer to a different paramspec in a parent class or interface. * gparam.[ch]: Add g_paramspec_get_redirect_target() which follows GParamSpecOverride to the real property. Make g_param_spec_pool_list() hand redirections, properties on interfaces. * gobject.[ch] gobjectnotifyqueue.c: Add g_object_interface_install_property, g_object_interface_find_property, g_object_interface_list_properties(). Redirect virtually all publically exposed GParamSpec's to the redirect target if any. (->constructor is the exception.) (#105894)
This commit is contained in:
@@ -142,8 +142,14 @@ g_object_notify_queue_add (GObject *object,
|
||||
{
|
||||
if (pspec->flags & G_PARAM_READABLE)
|
||||
{
|
||||
GParamSpec *redirect;
|
||||
|
||||
g_return_if_fail (nqueue->n_pspecs < 65535);
|
||||
|
||||
|
||||
redirect = g_param_spec_get_redirect_target (pspec);
|
||||
if (redirect)
|
||||
pspec = redirect;
|
||||
|
||||
/* we do the deduping in _thaw */
|
||||
nqueue->pspecs = g_slist_prepend (nqueue->pspecs, pspec);
|
||||
nqueue->n_pspecs++;
|
||||
|
Reference in New Issue
Block a user