Merge branch 'gaction-group-activation-doc-fix' into 'master'

docs: update g_action_group_activate_action() remote activation semantics

See merge request GNOME/glib!1859
This commit is contained in:
Philip Withnall 2021-01-08 11:07:16 +00:00
commit 477905912a

View File

@ -589,6 +589,33 @@ g_action_group_change_action_state (GActionGroup *action_group,
* parameters then @parameter must be %NULL. See
* g_action_group_get_action_parameter_type().
*
* If the #GActionGroup implementation supports asynchronous remote
* activation over D-Bus, this call may return before the relevant
* D-Bus traffic has been sent, or any replies have been received. In
* order to block on such asynchronous activation calls,
* g_dbus_connection_flush() should be called prior to the code, which
* depends on the result of the action activation. Without flushing
* the D-Bus connection, there is no guarantee that the action would
* have been activated.
*
* The following code which runs in a remote app instance, shows an
* example of a "quit" action being activated on the primary app
* instance over D-Bus. Here g_dbus_connection_flush() is called
* before `exit()`. Without g_dbus_connection_flush(), the "quit" action
* may fail to be activated on the primary instance.
*
* |[<!-- language="C" -->
* // call "quit" action on primary instance
* g_action_group_activate_action (G_ACTION_GROUP (app), "quit", NULL);
*
* // make sure the action is activated now
* g_dbus_connection_flush (...);
*
* g_debug ("application has been terminated. exiting.");
*
* exit (0);
* ]|
*
* Since: 2.28
**/
void