mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-01-12 15:36:17 +01:00
GApplication: add G_APPLICATION_NON_UNIQUE
Add a flag to essentially short-circuit g_application_register(). The application makes no attempt to acquire the bus name or check for existing instances with that name. The application is never considered as being 'remote' and all requests are handled locally. Closes #646985.
This commit is contained in:
parent
53389d963d
commit
9d204338f3
@ -1006,14 +1006,17 @@ g_application_register (GApplication *application,
|
||||
|
||||
if (!application->priv->is_registered)
|
||||
{
|
||||
application->priv->impl =
|
||||
g_application_impl_register (application, application->priv->id,
|
||||
application->priv->flags,
|
||||
&application->priv->remote_actions,
|
||||
cancellable, error);
|
||||
if (~application->priv->flags & G_APPLICATION_NON_UNIQUE)
|
||||
{
|
||||
application->priv->impl =
|
||||
g_application_impl_register (application, application->priv->id,
|
||||
application->priv->flags,
|
||||
&application->priv->remote_actions,
|
||||
cancellable, error);
|
||||
|
||||
if (application->priv->impl == NULL)
|
||||
return FALSE;
|
||||
if (application->priv->impl == NULL)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
application->priv->is_remote = application->priv->remote_actions != NULL;
|
||||
application->priv->is_registered = TRUE;
|
||||
|
@ -1265,6 +1265,11 @@ typedef enum
|
||||
* when editing a git commit message. The environment is available
|
||||
* to the #GApplication::command-line signal handler, via
|
||||
* g_application_command_line_getenv().
|
||||
* @G_APPLICATION_NON_UNIQUE: Make no attempts to do any of the typical
|
||||
* single-instance application negotiation. The application neither
|
||||
* attempts to become the owner of the application ID nor does it
|
||||
* check if an existing owner already exists. Everything occurs in
|
||||
* the local process. Since: 2.30.
|
||||
*
|
||||
* Flags used to define the behaviour of a #GApplication.
|
||||
*
|
||||
@ -1278,7 +1283,9 @@ typedef enum
|
||||
|
||||
G_APPLICATION_HANDLES_OPEN = (1 << 2),
|
||||
G_APPLICATION_HANDLES_COMMAND_LINE = (1 << 3),
|
||||
G_APPLICATION_SEND_ENVIRONMENT = (1 << 4)
|
||||
G_APPLICATION_SEND_ENVIRONMENT = (1 << 4),
|
||||
|
||||
G_APPLICATION_NON_UNIQUE = (1 << 5),
|
||||
} GApplicationFlags;
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user