gnome-session r4780 - in trunk: . gnome-session



Author: lucasr
Date: Wed Jun 25 18:40:15 2008
New Revision: 4780
URL: http://svn.gnome.org/viewvc/gnome-session?rev=4780&view=rev

Log:
2008-06-25  Lucas Rocha  <lucasr gnome org>

	*  gnome-session/logout.c (gsm_logout_get_dialog): check if VT is
	available (in addition to GDM) before adding "Switch user" button to
	logout dialog. #540144, Xiurong Simon Zheng. Patch by Xiurong Simon
	Zheng.


Modified:
   trunk/ChangeLog
   trunk/gnome-session/logout.c

Modified: trunk/gnome-session/logout.c
==============================================================================
--- trunk/gnome-session/logout.c	(original)
+++ trunk/gnome-session/logout.c	Wed Jun 25 18:40:15 2008
@@ -28,6 +28,7 @@
 #include <gtk/gtkimage.h>
 #include <gtk/gtklabel.h>
 #include <gtk/gtkstock.h>
+#include <gdk/gdkx.h>
 
 #include "gsm.h"
 #include "session.h"
@@ -296,6 +297,21 @@
                                                    logout_dialog);
 }
 
+static gboolean
+vt_is_available (void)
+{
+  Display *xdisplay;
+  GdkDisplay *gdisplay;
+  Atom prop;
+
+  gdisplay = gdk_display_get_default ();
+  xdisplay = gdk_x11_display_get_xdisplay (gdisplay);
+
+  prop = XInternAtom (xdisplay, "XFree86_VT", TRUE);
+
+  return (prop == None ? FALSE : TRUE);
+}
+
 GtkWidget *
 gsm_logout_get_dialog (GsmSessionLogoutType  type,
                        GdkScreen            *screen,
@@ -329,7 +345,7 @@
 
       logout_dialog->priv->default_response = GSM_LOGOUT_RESPONSE_LOGOUT;
 
-      if (gdm_is_available ())
+      if (gdm_is_available () && vt_is_available ())
         gtk_dialog_add_button (GTK_DIALOG (logout_dialog),
                                _("_Switch User"),
                                GSM_LOGOUT_RESPONSE_SWITCH_USER);



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