From 3e3a68349620d579a8731b894ec5714c9afafe23 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Oct 09 2009 16:05:26 +0000 Subject: - Fix Other... user. --- diff --git a/fix-other-user.patch b/fix-other-user.patch new file mode 100644 index 0000000..51d07b7 --- /dev/null +++ b/fix-other-user.patch @@ -0,0 +1,53 @@ +From d56eaae13ba731ff9837ee37cac9165fff99f350 Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Fri, 9 Oct 2009 11:26:06 -0400 +Subject: [PATCH] Fix Other... user visibility check + +Before we'd only add the Other item if the number of users +was 1, when we should have been adding it if the number of +users is greater than or equal to 1. This is because in some +cases more than one item can get added to the user list before +the visibility function is run. +--- + gui/simple-greeter/gdm-user-chooser-widget.c | 18 ++++++++++-------- + 1 files changed, 10 insertions(+), 8 deletions(-) + +diff --git a/gui/simple-greeter/gdm-user-chooser-widget.c b/gui/simple-greeter/gdm-user-chooser-widget.c +index 4410a02..167e324 100644 +--- a/gui/simple-greeter/gdm-user-chooser-widget.c ++++ b/gui/simple-greeter/gdm-user-chooser-widget.c +@@ -130,6 +130,8 @@ get_icon_height_for_widget (GtkWidget *widget) + static void + update_other_user_visibility (GdmUserChooserWidget *widget) + { ++ int number_of_users; ++ + if (!widget->priv->show_user_other) { + if (widget->priv->has_user_other) { + remove_user_other (widget); +@@ -138,14 +140,14 @@ update_other_user_visibility (GdmUserChooserWidget *widget) + return; + } + +- if (gdm_chooser_widget_get_number_of_items (GDM_CHOOSER_WIDGET (widget)) == 1) { +- /* we hide the Other user if it's the last one, and we show it +- * if there's another user */ +- if (widget->priv->has_user_other) { +- remove_user_other (widget); +- } else { +- add_user_other (widget); +- } ++ number_of_users = gdm_chooser_widget_get_number_of_items (GDM_CHOOSER_WIDGET (widget)); ++ ++ /* we hide the Other user if it's the last one, and we show it ++ * if there's another user */ ++ if (number_of_users == 1 && widget->priv->has_user_other) { ++ remove_user_other (widget); ++ } if (number_of_users >= 1 && !widget->priv->has_user_other) { ++ add_user_other (widget); + } + } + +-- +1.6.5.rc2 + diff --git a/gdm.spec b/gdm.spec index 37cf517..92583d5 100644 --- a/gdm.spec +++ b/gdm.spec @@ -16,7 +16,7 @@ Summary: The GNOME Display Manager Name: gdm Version: 2.28.0 -Release: 8%{?dist} +Release: 9%{?dist} Epoch: 1 License: GPLv2+ Group: User Interface/X @@ -108,6 +108,7 @@ Patch13: gdm-system-keyboard.patch Patch19: gdm-multistack.patch Patch20: 0001-Fix-gdm_slave_get_timed_login_details.patch +Patch21: fix-other-user.patch # Fedora-specific Patch98: gdm-bubble-location.patch @@ -156,6 +157,7 @@ The GDM fingerprint plugin provides functionality necessary to use a fingerprint %patch19 -p1 -b .multistack %patch20 -p1 -b .autologin +%patch21 -p1 -b .fix-other-user %patch98 -p1 -b .bubble-location %patch99 -p1 -b .fedora-logo @@ -407,6 +409,9 @@ fi %{_libdir}/gdm/simple-greeter/plugins/fingerprint.so %changelog +* Fri Oct 09 2009 Ray Strode 2.28.0-9 +- Fix Other... user. + * Fri Oct 9 2009 Matthias Clasen - 1:2.28.0-8 - Move bubbles to the lower right on the login screen