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