widget: Change callback scope
authorFlorian Müllner <fmuellner@gnome.org>
Wed, 28 Jul 2021 19:48:01 +0000 (21:48 +0200)
committerFlorian Müllner <fmuellner@gnome.org>
Wed, 28 Jul 2021 19:48:01 +0000 (21:48 +0200)
Look who changed his mind since commit 8e2ffb3b46 :-)

The "call" scope means that the callback is only used during the
function call itself (here: gtk_widget_class_install_action()).

That's clearly wrong here, as the callback is invoked every time
the action is activated.

Arguably the "notified" scope is a better match here, where the
lack of a GDestroyNotify parameter suggests that the callback may
be used forever (which is the case here).

Related: #3498

gtk/gtkwidget.c

index 724ee32eae647d560886fd9acbe10848dab1a6ae..61511601bb85735d97ecec55e464d950d7280f5a 100644 (file)
@@ -12465,7 +12465,7 @@ gtk_widget_class_add_action (GtkWidgetClass  *widget_class,
  * @widget_class: a `GtkWidgetClass`
  * @action_name: a prefixed action name, such as "clipboard.paste"
  * @parameter_type: (nullable): the parameter type
- * @activate: (scope call): callback to use when the action is activated
+ * @activate: (scope notified): callback to use when the action is activated
  *
  * This should be called at class initialization time to specify
  * actions to be added for all instances of this class.