[gnome-shell/wip/fmuellner/remove-app-menu: 4/7] app: Don't rely on app menu to check for GtkApplications



commit d8dd6cf763afbb23258aa5b6132be509c83bc364
Author: Florian Müllner <fmuellner gnome org>
Date:   Thu Oct 4 19:11:05 2018 +0200

    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

 src/shell-app.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)
---
diff --git a/src/shell-app.c b/src/shell-app.c
index 65c0b5574..0c656b84a 100644
--- a/src/shell-app.c
+++ b/src/shell-app.c
@@ -608,6 +608,7 @@ gboolean
 shell_app_can_open_new_window (ShellApp *app)
 {
   ShellAppRunningState *state;
+  MetaWindow *window;
 
   /* Apps that are not running can always open new windows, because
      activating them would open the first one */
@@ -641,11 +642,13 @@ shell_app_can_open_new_window (ShellApp *app)
      Activate() knows nothing about the other instances, so it will show a
      new window.
   */
-  if (state->remote_menu)
+
+  window = g_slist_nth_data (state->windows, 0);
+
+  if (state->unique_bus_name != NULL &&
+      meta_window_get_gtk_application_object_path (window) != NULL)
     {
-      const char *application_id;
-      application_id = meta_window_get_gtk_application_id (state->windows->data);
-      if (application_id != NULL)
+      if (meta_window_get_gtk_application_id (window) != NULL)
         return FALSE;
       else
         return TRUE;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]