mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-11-10 03:16:17 +01:00
GObject: Elaborate notify emission timing, options
We only said receiving ::notify doesn’t always guarantee that anything actually changed, but we didn’t explain how we can get that guarantee. https://bugzilla.gnome.org/show_bug.cgi?id=795096
This commit is contained in:
parent
ff0c30b516
commit
8db5542803
@ -477,11 +477,17 @@ g_object_do_class_init (GObjectClass *class)
|
||||
* @gobject: the object which received the signal.
|
||||
* @pspec: the #GParamSpec of the property which changed.
|
||||
*
|
||||
* The notify signal is emitted on an object when one of its
|
||||
* properties has been changed. Note that getting this signal
|
||||
* doesn't guarantee that the value of the property has actually
|
||||
* changed, it may also be emitted when the setter for the property
|
||||
* is called to reinstate the previous value.
|
||||
* The notify signal is emitted on an object when one of its properties has
|
||||
* its value set through g_object_set_property(), g_object_set(), et al.
|
||||
*
|
||||
* Note that getting this signal doesn’t itself guarantee that the value of
|
||||
* the property has actually changed. When it is emitted is determined by the
|
||||
* derived GObject class. If the implementor did not create the property with
|
||||
* %G_PARAM_EXPLICIT_NOTIFY, then any call to g_object_set_property() results
|
||||
* in ::notify being emitted, even if the new value is the same as the old.
|
||||
* If they did pass %G_PARAM_EXPLICIT_NOTIFY, then this signal is emitted only
|
||||
* when they explicitly call g_object_notify() or g_object_notify_by_pspec(),
|
||||
* and common practice is to avoid doing so if the value remained unchanged.
|
||||
*
|
||||
* This signal is typically used to obtain change notification for a
|
||||
* single property, by specifying the property name as a detail in the
|
||||
|
Loading…
Reference in New Issue
Block a user