AccelLabel: set_accel_closure() arg is nullable

This commit is contained in:
Daniel Boles
2017-08-07 10:32:13 +01:00
parent a42634c3e5
commit e29f39b66c

View File

@@ -553,16 +553,20 @@ check_accel_changed (GtkAccelGroup *accel_group,
/**
* gtk_accel_label_set_accel_closure:
* @accel_label: a #GtkAccelLabel
* @accel_closure: the closure to monitor for accelerator changes.
* @accel_closure: (nullable): the closure to monitor for accelerator changes,
* or %NULL
*
* Sets the closure to be monitored by this accelerator label. The closure
* must be connected to an accelerator group; see gtk_accel_group_connect().
* Passing %NULL for @accel_closure will dissociate @accel_label from its
* current closure, if any.
**/
void
gtk_accel_label_set_accel_closure (GtkAccelLabel *accel_label,
GClosure *accel_closure)
{
g_return_if_fail (GTK_IS_ACCEL_LABEL (accel_label));
if (accel_closure)
g_return_if_fail (gtk_accel_group_from_accel_closure (accel_closure) != NULL);
@@ -576,7 +580,9 @@ gtk_accel_label_set_accel_closure (GtkAccelLabel *accel_label,
accel_label->priv->accel_group = NULL;
g_closure_unref (accel_label->priv->accel_closure);
}
accel_label->priv->accel_closure = accel_closure;
if (accel_label->priv->accel_closure)
{
g_closure_ref (accel_label->priv->accel_closure);
@@ -585,6 +591,7 @@ gtk_accel_label_set_accel_closure (GtkAccelLabel *accel_label,
G_CALLBACK (check_accel_changed),
accel_label, 0);
}
gtk_accel_label_reset (accel_label);
g_object_notify_by_pspec (G_OBJECT (accel_label), props[PROP_ACCEL_CLOSURE]);
}