- Fix case where we can't lookup a user.

This commit is contained in:
William Jon McCann 2008-03-11 02:21:33 +00:00
parent 347db692a8
commit 7215d592bc
2 changed files with 73 additions and 1 deletions

67
gdm-null-user.patch Normal file
View File

@ -0,0 +1,67 @@
Index: gui/user-switch-applet/applet.c
===================================================================
--- gui/user-switch-applet/applet.c (revision 5994)
+++ gui/user-switch-applet/applet.c (revision 5995)
@@ -1082,14 +1082,23 @@ fill_applet (PanelApplet *applet)
gtk_widget_show (hbox);
{
- GdmUser *user;
+ GdmUser *user;
+ const char *name;
user = gdm_user_manager_get_user_by_uid (adata->manager, getuid ());
- adata->imglabel = gtk_label_new (gdm_user_get_real_name (user));
- adata->user_notify_id = g_signal_connect (user,
- "notify::display-name",
- G_CALLBACK (user_notify_display_name_cb),
- adata->imglabel);
+ if (user != NULL) {
+ name = gdm_user_get_real_name (user);
+ } else {
+ name = _("Unknown");
+ }
+
+ adata->imglabel = gtk_label_new (name);
+ if (user != NULL) {
+ adata->user_notify_id = g_signal_connect (user,
+ "notify::display-name",
+ G_CALLBACK (user_notify_display_name_cb),
+ adata->imglabel);
+ }
gtk_box_pack_start (GTK_BOX (hbox), adata->imglabel, TRUE, TRUE, 0);
gtk_widget_show (adata->imglabel);
}
Index: gui/simple-greeter/gdm-user-manager.c
===================================================================
--- gui/simple-greeter/gdm-user-manager.c (revision 5994)
+++ gui/simple-greeter/gdm-user-manager.c (revision 5995)
@@ -1115,6 +1115,11 @@ process_ck_history_line (GdmUserManager
}
user = gdm_user_manager_get_user (manager, username);
+ if (user == NULL) {
+ g_debug ("GdmUserManager: unable to lookup user '%s'", username);
+ return;
+ }
+
g_object_set (user, "login-frequency", frequency, NULL);
g_signal_emit (manager, signals [USER_LOGIN_FREQUENCY_CHANGED], 0, user);
}
Index: ChangeLog
===================================================================
--- ChangeLog (revision 5994)
+++ ChangeLog (revision 5995)
@@ -1,5 +1,12 @@
2008-03-10 William Jon McCann <jmccann@redhat.com>
+ * gui/simple-greeter/gdm-user-manager.c: (process_ck_history_line):
+ * gui/user-switch-applet/applet.c: (fill_applet):
+ Handle case where we can't lookup a GdmUser (for whatever reason).
+ Could be gone, excluded, etc...
+
+2008-03-10 William Jon McCann <jmccann@redhat.com>
+
* configure.ac: Post release version bump
==== 2.21.9 ====

View File

@ -16,7 +16,7 @@
Summary: The GNOME Display Manager
Name: gdm
Version: 2.21.9
Release: 1%{?dist}
Release: 2%{?dist}
Epoch: 1
License: GPLv2+
Group: User Interface/X
@ -77,6 +77,7 @@ BuildRequires: gnome-panel-devel
Requires: audit-libs >= %{libauditver}
Patch1: gdm-null-user.patch
Patch99: gdm-2.21.8-fedora-logo.patch
%package user-switch-applet
@ -97,6 +98,7 @@ multiple simulanteous logged in users.
%prep
%setup -q
%patch1 -p0 -b .null-user
%patch99 -p1 -b .fedora-logo
%build
@ -290,6 +292,9 @@ fi
%{_datadir}/gnome-2.0/ui/GNOME_FastUserSwitchApplet.xml
%changelog
* Mon Mar 10 2008 Jon McCann <jmccann@redhat.com> - 1:2.21.9-2
- Fix case where we can't lookup a user.
* Mon Mar 10 2008 Jon McCann <jmccann@redhat.com> - 1:2.21.9-1
- Update to 2.21.9