app: Don't rely on app menu to check for GtkApplications
As the app menu is being phased out, it is no longer a good indicator for GtkApplications. Instead, base the check directly on the appropriate D-Bus properties. https://gitlab.gnome.org/GNOME/gnome-shell/issues/624
This commit is contained in:
parent
62a3b9e6a3
commit
e355756758
@ -602,6 +602,7 @@ gboolean
|
|||||||
shell_app_can_open_new_window (ShellApp *app)
|
shell_app_can_open_new_window (ShellApp *app)
|
||||||
{
|
{
|
||||||
ShellAppRunningState *state;
|
ShellAppRunningState *state;
|
||||||
|
MetaWindow *window;
|
||||||
|
|
||||||
/* Apps that are not running can always open new windows, because
|
/* Apps that are not running can always open new windows, because
|
||||||
activating them would open the first one */
|
activating them would open the first one */
|
||||||
@ -635,11 +636,13 @@ shell_app_can_open_new_window (ShellApp *app)
|
|||||||
Activate() knows nothing about the other instances, so it will show a
|
Activate() knows nothing about the other instances, so it will show a
|
||||||
new window.
|
new window.
|
||||||
*/
|
*/
|
||||||
if (state->remote_menu)
|
|
||||||
|
window = state->windows->data;
|
||||||
|
|
||||||
|
if (state->unique_bus_name != NULL &&
|
||||||
|
meta_window_get_gtk_application_object_path (window) != NULL)
|
||||||
{
|
{
|
||||||
const char *application_id;
|
if (meta_window_get_gtk_application_id (window) != NULL)
|
||||||
application_id = meta_window_get_gtk_application_id (state->windows->data);
|
|
||||||
if (application_id != NULL)
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
else
|
else
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
Loading…
Reference in New Issue
Block a user