[gnome-screensaver/gnome-2-28] Make gs_window_cancel_unlock_request synchronous



commit 1904064cd0bb03e1433711475bcff919fb48ba65
Author: Ray Strode <rstrode redhat com>
Date:   Fri Feb 12 14:15:47 2010 -0500

    Make gs_window_cancel_unlock_request synchronous
    
    This way we know the cancel has finished before moving
    on in the code.
    
    Part of fix for
    https://bugzilla.gnome.org/show_bug.cgi?id=609789

 src/gs-window-x11.c |   28 +++++++++++++---------------
 1 files changed, 13 insertions(+), 15 deletions(-)
---
diff --git a/src/gs-window-x11.c b/src/gs-window-x11.c
index 4bdbf58..2319eb2 100644
--- a/src/gs-window-x11.c
+++ b/src/gs-window-x11.c
@@ -929,20 +929,7 @@ gs_window_destroy (GSWindow *window)
 {
         g_return_if_fail (GS_IS_WINDOW (window));
 
-        if (window->priv->lock_pid > 0) {
-                gs_window_dialog_finish (window);
-        }
-
-        remove_popup_dialog_idle (window);
-        remove_command_watches (window);
-        remove_watchdog_timer (window);
-
-        if (window->priv->lock_box != NULL) {
-                gtk_container_remove (GTK_CONTAINER (window->priv->vbox), GTK_WIDGET (window->priv->lock_box));
-                window->priv->lock_box = NULL;
-
-                g_signal_emit (window, signals [DIALOG_DOWN], 0);
-        }
+        gs_window_cancel_unlock_request (window);
 
         gtk_widget_destroy (GTK_WIDGET (window));
 }
@@ -1671,7 +1658,18 @@ gs_window_cancel_unlock_request (GSWindow  *window)
         }
 
         if (window->priv->lock_pid > 0) {
-                kill (window->priv->lock_pid, SIGTERM);
+                gs_window_dialog_finish (window);
+        }
+
+        remove_popup_dialog_idle (window);
+        remove_command_watches (window);
+        remove_watchdog_timer (window);
+
+        if (window->priv->lock_box != NULL) {
+                gtk_container_remove (GTK_CONTAINER (window->priv->vbox), GTK_WIDGET (window->priv->lock_box));
+                window->priv->lock_box = NULL;
+
+                g_signal_emit (window, signals [DIALOG_DOWN], 0);
         }
 }
 



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