Author: kelnos
Date: 2008-11-06 09:40:43 +0000 (Thu, 06 Nov 2008)
New Revision: 28625

Modified:
   xfce4-session/trunk/ChangeLog
   xfce4-session/trunk/NEWS
   xfce4-session/trunk/xfce4-session/xfsm-manager.c
Log:
        * xfce4-session/xfsm-manager.c: Fix a problem: client
          requests interaction -> client is granted interaction ->
          but now SM kills all other apps.  If the client then requests
          that the shutdown is canceled, the SM doesn't listen, and
          even if it did, nothing else would be running (including the
          WM).  Problem was in xfsm_manager_check_clients_saving(): it
          didn't consider a client waiting for interaction or interaction
          to be saving (bug 4284).

Modified: xfce4-session/trunk/ChangeLog
===================================================================
--- xfce4-session/trunk/ChangeLog       2008-11-06 09:40:32 UTC (rev 28624)
+++ xfce4-session/trunk/ChangeLog       2008-11-06 09:40:43 UTC (rev 28625)
@@ -1,5 +1,16 @@
 2008-11-06     Brian Tarricone <[EMAIL PROTECTED]>
 
+       * xfce4-session/xfsm-manager.c: Fix a problem: client
+         requests interaction -> client is granted interaction ->
+         but now SM kills all other apps.  If the client then requests
+         that the shutdown is canceled, the SM doesn't listen, and
+         even if it did, nothing else would be running (including the
+         WM).  Problem was in xfsm_manager_check_clients_saving(): it
+         didn't consider a client waiting for interaction or interaction
+         to be saving (bug 4284).
+
+2008-11-06     Brian Tarricone <[EMAIL PROTECTED]>
+
        * xfce4-session/xfsm-manager.c: Only one dbus ShutdownCancelled
          signal is enough, really.  And I guess it wouldn't get sent
          at all if <= 1 client was interacting.

Modified: xfce4-session/trunk/NEWS
===================================================================
--- xfce4-session/trunk/NEWS    2008-11-06 09:40:32 UTC (rev 28624)
+++ xfce4-session/trunk/NEWS    2008-11-06 09:40:43 UTC (rev 28625)
@@ -15,6 +15,10 @@
 - When restoring clients on startup, be sure to set their current
   working directory if the cwd was set as a part of their saved state.
 - Add SaveSession kiosk capability (bug 2998).
+- When a client requests interaction, don't continue to kill all other
+  clients while it's still interacting.  And then don't ignore it when
+  it wants to cancel shutdown.  Also fixes a similar problem when
+  interaction is requested during a phase 2 save-yourself (bug 4284).
 
 4.5.91
 ======

Modified: xfce4-session/trunk/xfce4-session/xfsm-manager.c
===================================================================
--- xfce4-session/trunk/xfce4-session/xfsm-manager.c    2008-11-06 09:40:32 UTC 
(rev 28624)
+++ xfce4-session/trunk/xfce4-session/xfsm-manager.c    2008-11-06 09:40:43 UTC 
(rev 28625)
@@ -1467,8 +1467,16 @@
        lp = lp->next)
     {
       XfsmClient *client = lp->data;
-      if (xfsm_client_get_state (client) == XFSM_CLIENT_SAVING)
-        return TRUE;
+      XfsmClientState state = xfsm_client_get_state (client);
+      switch (state)
+        {
+          case XFSM_CLIENT_SAVING:
+          case XFSM_CLIENT_WAITFORINTERACT:
+          case XFSM_CLIENT_INTERACTING:
+            return TRUE;
+          default:
+            break;
+        }
     }
   
   return FALSE;

_______________________________________________
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits

Reply via email to