diff -Naur thunar-vfs.old/thunar-vfs-user.c thunar-vfs/thunar-vfs-user.c --- thunar-vfs.old/thunar-vfs-user.c 2006-04-23 21:17:40.000000000 +0200 +++ thunar-vfs/thunar-vfs-user.c 2006-04-23 21:14:47.000000000 +0200 @@ -226,8 +226,13 @@ static ThunarVfsUserId thunar_vfs_user_effective_uid; +static ThunarVfsUser *thunar_vfs_user_effective_user; static GObjectClass *thunar_vfs_user_parent_class; +ThunarVfsUser* thunar_vfs_user_get_effective_user() +{ + return thunar_vfs_user_effective_user; +} GType @@ -271,7 +276,8 @@ * this only once to avoid the syscall overhead on every * is_me() invokation. */ - thunar_vfs_user_effective_uid = geteuid (); + thunar_vfs_user_effective_uid = geteuid (); + thunar_vfs_user_effective_user = thunar_vfs_user_new (thunar_vfs_user_effective_uid); gobject_class = G_OBJECT_CLASS (klass); gobject_class->finalize = thunar_vfs_user_finalize; diff -Naur thunar-vfs.old/thunar-vfs-user.h thunar-vfs/thunar-vfs-user.h --- thunar-vfs.old/thunar-vfs-user.h 2006-04-23 21:17:40.000000000 +0200 +++ thunar-vfs/thunar-vfs-user.h 2006-04-23 21:05:56.000000000 +0200 @@ -59,7 +59,7 @@ const gchar *thunar_vfs_user_get_name (ThunarVfsUser *user); const gchar *thunar_vfs_user_get_real_name (ThunarVfsUser *user); gboolean thunar_vfs_user_is_me (ThunarVfsUser *user); - +ThunarVfsUser *thunar_vfs_user_get_effective_user(); typedef struct _ThunarVfsUserManagerClass ThunarVfsUserManagerClass; typedef struct _ThunarVfsUserManager ThunarVfsUserManager;