gdm r5690 - in trunk: . gui/simple-greeter



Author: mccann
Date: Mon Feb  4 15:52:52 2008
New Revision: 5690
URL: http://svn.gnome.org/viewvc/gdm?rev=5690&view=rev

Log:
2008-02-04  William Jon McCann  <jmccann redhat com>

	* configure.ac:
	* gui/simple-greeter/gdm-user.c: (gdm_user_init),
	(render_icon_from_home):
	* gui/simple-greeter/test-user-chooser.c: (main):
	* gui/simple-greeter/test-user-manager.c: (main):
	Migrate to GIO.
	Patch from Cosimo Cecchi <anarki lilik it>
	Fixes #513645



Modified:
   trunk/ChangeLog
   trunk/configure.ac
   trunk/gui/simple-greeter/gdm-user.c
   trunk/gui/simple-greeter/test-user-chooser.c
   trunk/gui/simple-greeter/test-user-manager.c

Modified: trunk/configure.ac
==============================================================================
--- trunk/configure.ac	(original)
+++ trunk/configure.ac	Mon Feb  4 15:52:52 2008
@@ -40,9 +40,8 @@
 dnl ---------------------------------------------------------------------------
 
 DBUS_GLIB_REQUIRED_VERSION=0.74
-GLIB_REQUIRED_VERSION=2.13.0
+GLIB_REQUIRED_VERSION=2.15.4
 GTK_REQUIRED_VERSION=2.10.0
-GNOME_VFS_REQUIRED_VERSION=2.18.0
 PANGO_REQUIRED_VERSION=1.3.0
 LIBGLADE_REQUIRED_VERSION=1.99.2
 SCROLLKEEPER_REQUIRED_VERSION=0.1.4
@@ -92,7 +91,6 @@
         dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION
         gtk+-2.0 >= $GTK_REQUIRED_VERSION
         libglade-2.0 >= $LIBGLADE_REQUIRED_VERSION
-        gnome-vfs-2.0 >= $GNOME_VFS_REQUIRED_VERSION
         gconf-2.0 >= $GCONF_REQUIRED_VERSION
 )
 AC_SUBST(SIMPLE_GREETER_CFLAGS)
@@ -114,7 +112,6 @@
         dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION
         gtk+-2.0 >= $GTK_REQUIRED_VERSION
         libglade-2.0 >= $LIBGLADE_REQUIRED_VERSION
-        gnome-vfs-2.0 >= $GNOME_VFS_REQUIRED_VERSION
         gconf-2.0 >= $GCONF_REQUIRED_VERSION
 )
 AC_SUBST(SIMPLE_CHOOSER_CFLAGS)

Modified: trunk/gui/simple-greeter/gdm-user.c
==============================================================================
--- trunk/gui/simple-greeter/gdm-user.c	(original)
+++ trunk/gui/simple-greeter/gdm-user.c	Mon Feb  4 15:52:52 2008
@@ -26,8 +26,8 @@
 #include <unistd.h>
 
 #include <glib/gi18n.h>
+#include <gio/gio.h>
 #include <gtk/gtk.h>
-#include <libgnomevfs/gnome-vfs.h>
 
 #include "gdm-user-manager.h"
 #include "gdm-user-private.h"
@@ -307,10 +307,6 @@
         user->user_name = NULL;
         user->real_name = NULL;
         user->sessions = NULL;
-
-        if (! gnome_vfs_initialized ()) {
-                gnome_vfs_init ();
-        }
 }
 
 static void
@@ -633,30 +629,59 @@
 render_icon_from_home (GdmUser *user,
                        int      icon_size)
 {
-        GdkPixbuf *  retval;
-        char        *path;
-        GnomeVFSURI *uri;
-        gboolean     is_local;
-        gboolean     res;
+        GdkPixbuf  *retval;
+        char       *path;
+        GFile      *file;
+        GFileInfo  *file_info;
+        gboolean    is_local, is_autofs;
+        gboolean    res;
+        const char *filesystem_type;
 
         /* special case: look at parent of home to detect autofs
            this is so we don't try to trigger an automount */
         path = g_path_get_dirname (user->home_dir);
-        uri = gnome_vfs_uri_new (path);
-        is_local = gnome_vfs_uri_is_local (uri);
-        gnome_vfs_uri_unref (uri);
+        file = g_file_new_for_path (path);
+        file_info = g_file_query_filesystem_info (file,
+                                                  G_FILE_ATTRIBUTE_FILESYSTEM_TYPE,
+                                                  NULL,
+                                                  NULL);
+        if (file_info == NULL) {
+                g_free (path);
+                g_object_unref (file);
+                return NULL;
+        }
+        filesystem_type = g_file_info_get_attribute_string (file_info,
+                                                            G_FILE_ATTRIBUTE_FILESYSTEM_TYPE);
+        is_autofs = (filesystem_type != NULL && strcmp (filesystem_type, "autofs") == 0);
+        g_object_unref (file);
+        g_object_unref (file_info);
         g_free (path);
 
         /* now check that home dir itself is local */
-        if (is_local) {
-                uri = gnome_vfs_uri_new (user->home_dir);
-                is_local = gnome_vfs_uri_is_local (uri);
-                gnome_vfs_uri_unref (uri);
+        if (! is_autofs) {
+                file = g_file_new_for_path (user->home_dir);
+                file_info = g_file_query_filesystem_info (file,
+                                                          G_FILE_ATTRIBUTE_FILESYSTEM_TYPE,
+                                                          NULL,
+                                                          NULL);
+                if (file_info == NULL) {
+                        g_object_unref (file);
+                        return NULL;
+                }
+                filesystem_type = g_file_info_get_attribute_string (file_info,
+                                                                    G_FILE_ATTRIBUTE_FILESYSTEM_TYPE);
+                is_local = ((strcmp (filesystem_type, "nfs") != 0) &&
+                            (strcmp (filesystem_type, "afs") != 0) &&
+                            (strcmp (filesystem_type, "autofs") != 0) &&
+                            (strcmp (filesystem_type, "unknown") != 0) &&
+                            (strcmp (filesystem_type, "ncpfs") != 0));
+                g_object_unref (file_info);
+                g_object_unref (file);
         }
 
         /* only look at local home directories so we don't try to
            read from remote (e.g. NFS) volumes */
-        if (!is_local) {
+        if (! is_local) {
                 return NULL;
         }
 

Modified: trunk/gui/simple-greeter/test-user-chooser.c
==============================================================================
--- trunk/gui/simple-greeter/test-user-chooser.c	(original)
+++ trunk/gui/simple-greeter/test-user-chooser.c	Mon Feb  4 15:52:52 2008
@@ -29,7 +29,6 @@
 
 #include <glib/gi18n.h>
 #include <gtk/gtk.h>
-#include <libgnomevfs/gnome-vfs-init.h>
 
 #include "gdm-user-chooser-dialog.h"
 
@@ -45,7 +44,6 @@
         setlocale (LC_ALL, "");
 
         gtk_init (&argc, &argv);
-        gnome_vfs_init ();
 
         dialog = gdm_user_chooser_dialog_new ();
         /*gtk_widget_set_size_request (dialog, 480, 128);*/

Modified: trunk/gui/simple-greeter/test-user-manager.c
==============================================================================
--- trunk/gui/simple-greeter/test-user-manager.c	(original)
+++ trunk/gui/simple-greeter/test-user-manager.c	Mon Feb  4 15:52:52 2008
@@ -30,8 +30,6 @@
 #include <glib/gi18n.h>
 #include <gtk/gtk.h>
 
-#include <libgnomevfs/gnome-vfs-init.h>
-
 #include "gdm-user-manager.h"
 
 static GdmUserManager *manager = NULL;
@@ -63,7 +61,6 @@
         setlocale (LC_ALL, "");
 
         gtk_init (&argc, &argv);
-        gnome_vfs_init ();
 
         manager = gdm_user_manager_ref_default ();
         g_signal_connect (manager,



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