Commit f3d82410 authored by Vincent Untz's avatar Vincent Untz Committed by Vincent Untz

Actually allow XSMP clients to interact during the logout. It works quite

2009-03-25  Vincent Untz  <vuntz@gnome.org>

	Actually allow XSMP clients to interact during the logout. It works
	quite well with the inhibitor infrastructure since a JIT inhibitor will
	be created.
	Note that the user will get two dialogs: eg, when gedit has an unsaved
	document, the user will see the gedit save/cancel dialog and the
	inhibit dialog. That's actually a good thing since the save/cancel
	dialog from gedit might be in another workspace, and so the inhibit
	dialog makes sure the user knows what's going on.

	* gnome-session/gsm-xsmp-client.c: (xsmp_interact): uncomment
	(interact_request_callback): stop cancelling the session when a client
	wants to interact, and allow the client to interact.

svn path=/trunk/; revision=5358
parent 27a02075
2009-03-25 Vincent Untz <vuntz@gnome.org>
Actually allow XSMP clients to interact during the logout. It works
quite well with the inhibitor infrastructure since a JIT inhibitor will
be created.
Note that the user will get two dialogs: eg, when gedit has an unsaved
document, the user will see the gedit save/cancel dialog and the
inhibit dialog. That's actually a good thing since the save/cancel
dialog from gedit might be in another workspace, and so the inhibit
dialog makes sure the user knows what's going on.
* gnome-session/gsm-xsmp-client.c: (xsmp_interact): uncomment
(interact_request_callback): stop cancelling the session when a client
wants to interact, and allow the client to interact.
2009-03-25 Vincent Untz <vuntz@gnome.org>
Make session saving works a bit better by telling client to not just
......
......@@ -480,6 +480,7 @@ xsmp_save_yourself_phase2 (GsmClient *client)
SmsSaveYourselfPhase2 (xsmp->priv->conn);
}
#endif
static void
xsmp_interact (GsmClient *client)
......@@ -490,7 +491,6 @@ xsmp_interact (GsmClient *client)
SmsInteract (xsmp->priv->conn);
}
#endif
static gboolean
xsmp_cancel_end_session (GsmClient *client,
......@@ -1165,8 +1165,10 @@ interact_request_callback (SmsConn conn,
int dialog_type)
{
GsmXSMPClient *client = manager_data;
#if 0
gboolean res;
GError *error;
#endif
g_debug ("GsmXSMPClient: Client '%s' received InteractRequest(%s)",
client->priv->description,
......@@ -1176,6 +1178,7 @@ interact_request_callback (SmsConn conn,
FALSE,
_("This program is blocking log out."));
#if 0
/* Can't just call back with Interact because session client
grabs the keyboard! So, we try to get it to release
grabs by telling it we've cancelled the shutdown.
......@@ -1187,6 +1190,8 @@ interact_request_callback (SmsConn conn,
g_warning ("Unable to cancel end session: %s", error->message);
g_error_free (error);
}
#endif
xsmp_interact (GSM_CLIENT (client));
}
static void
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment