[gnome-shell] Fixes for previous ShellAppSystem patch a138f59c



commit 95e6eae23b5f4a7ebc330f9ce1443d181a59c235
Author: Colin Walters <walters verbum org>
Date:   Tue Feb 8 14:37:22 2011 -0500

    Fixes for previous ShellAppSystem patch a138f59c
    
    Wasn't amended by mistake.

 src/shell-app-system.c     |    4 +---
 src/shell-window-tracker.c |   11 +++++++----
 2 files changed, 8 insertions(+), 7 deletions(-)
---
diff --git a/src/shell-app-system.c b/src/shell-app-system.c
index 0d54901..301fc3f 100644
--- a/src/shell-app-system.c
+++ b/src/shell-app-system.c
@@ -1303,14 +1303,12 @@ _gather_pid_callback (GDesktopAppInfo   *gapp,
                       gpointer           data)
 {
   ShellApp *app;
-  ShellAppSystem *appsys;
   ShellWindowTracker *tracker;
 
   g_return_if_fail (data != NULL);
 
   app = SHELL_APP (data);
   tracker = shell_window_tracker_get_default ();
-  appsys = shell_app_system_get_default ();
 
   _shell_window_tracker_add_child_process_app (tracker,
                                                pid,
@@ -1389,7 +1387,7 @@ shell_app_info_launch_full (ShellAppInfo *info,
                                         shell_app_info_get_id (info));
 
   ret = g_desktop_app_info_launch_uris_as_manager (gapp, uris,
-                                                   (GAppLaunchContext*) context,
+                                                   G_APP_LAUNCH_CONTEXT (context),
                                                    G_SPAWN_SEARCH_PATH | G_SPAWN_DO_NOT_REAP_CHILD,
                                                    NULL, NULL,
                                                    _gather_pid_callback, shell_app,
diff --git a/src/shell-window-tracker.c b/src/shell-window-tracker.c
index 61912bd..a0255b5 100644
--- a/src/shell-window-tracker.c
+++ b/src/shell-window-tracker.c
@@ -393,6 +393,9 @@ get_app_from_window_pid (ShellWindowTracker  *tracker,
 
   pid = meta_window_get_pid (window);
 
+  if (pid == -1)
+    return NULL;
+
   return g_hash_table_lookup (tracker->launched_pid_to_app, GINT_TO_POINTER (pid));
 }
 
@@ -844,18 +847,18 @@ _shell_window_tracker_add_child_process_app (ShellWindowTracker *tracker,
                                              GPid                pid,
                                              ShellApp           *app)
 {
-  int pid_int = (int) pid;
+  gpointer pid_ptr = GINT_TO_POINTER((int)pid);
 
   if (g_hash_table_lookup (tracker->launched_pid_to_app,
-                           &pid_int))
+                           &pid_ptr))
     return;
 
   g_hash_table_insert (tracker->launched_pid_to_app,
-                       GINT_TO_POINTER (pid_int),
+                       pid_ptr,
                        g_object_ref (app));
   g_child_watch_add (pid, on_child_exited, NULL);
   /* TODO: rescan unassociated windows
-   * Very unlikely in practice that the launched app gets ahead of us
+   * Unlikely in practice that the launched app gets ahead of us
    * enough to map an X window before we get scheduled after the fork(),
    * but adding this note for future reference.
    */



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