summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Cameron <brian.cameron@sun.com>2006-08-03 16:42:41 +0000
committerBrian Cameron <bcameron@src.gnome.org>2006-08-03 16:42:41 +0000
commite39aae08a4ce0b761697c37eb9c3faaf366cb869 (patch)
treec7783e1246795bdd9f56392102e41b1c8f122f99
parentd86802fce9a00cc69b77a566c87792624bcfd835 (diff)
downloadgdm-e39aae08a4ce0b761697c37eb9c3faaf366cb869.tar.gz
Fix the setup of the iochannel so that it happens after the face browser
2006-08-03 Brian Cameron <brian.cameron@sun.com> * gui/greeter/greeter.c: Fix the setup of the iochannel so that it happens after the face browser is set up. The recent changes Ray Strode made to make the message input nonblocking seemed to break the Face Browser logic. This patch makes sure that the face browser is setup before setting up the iochannel. The face data is sent from the daemon to the slave along the same channel, but these messages are not formatted like the other messages. Patch provided by Ray Strode <rstrode@redhat.com>.
-rw-r--r--ChangeLog11
-rw-r--r--gui/greeter/greeter.c28
2 files changed, 25 insertions, 14 deletions
diff --git a/ChangeLog b/ChangeLog
index 8991560d..b6d8f331 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2006-08-03 Brian Cameron <brian.cameron@sun.com>
+
+ * gui/greeter/greeter.c: Fix the setup of the iochannel so that
+ it happens after the face browser is set up. The recent changes
+ Ray Strode made to make the message input nonblocking seemed
+ to break the Face Browser logic. This patch makes sure that
+ the face browser is setup before setting up the iochannel. The
+ face data is sent from the daemon to the slave along the same
+ channel, but these messages are not formatted like the other
+ messages. Patch provided by Ray Strode <rstrode@redhat.com>.
+
2006-08-02 Brian Cameron <brian.cameron@sun.com>
* daemon/gdm.c: Fix error message that gets printed when
diff --git a/gui/greeter/greeter.c b/gui/greeter/greeter.c
index d642b7c6..52008a5d 100644
--- a/gui/greeter/greeter.c
+++ b/gui/greeter/greeter.c
@@ -1122,20 +1122,6 @@ main (int argc, char *argv[])
gdm_common_fail_greeter ("Could not set signal mask!");
}
- if G_LIKELY (! DOING_GDM_DEVELOPMENT) {
- ctrlch = g_io_channel_unix_new (STDIN_FILENO);
- g_io_channel_set_encoding (ctrlch, NULL, NULL);
- g_io_channel_set_buffered (ctrlch, TRUE);
- g_io_channel_set_flags (ctrlch,
- g_io_channel_get_flags (ctrlch) | G_IO_FLAG_NONBLOCK,
- NULL);
- g_io_add_watch (ctrlch,
- G_IO_IN | G_IO_PRI | G_IO_ERR | G_IO_HUP | G_IO_NVAL,
- (GIOFunc) greeter_ctrl_handler,
- NULL);
- g_io_channel_unref (ctrlch);
- }
-
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
if G_UNLIKELY (DOING_GDM_DEVELOPMENT) {
@@ -1322,6 +1308,20 @@ main (int argc, char *argv[])
greeter_setup_items ();
+ if G_LIKELY (! DOING_GDM_DEVELOPMENT) {
+ ctrlch = g_io_channel_unix_new (STDIN_FILENO);
+ g_io_channel_set_encoding (ctrlch, NULL, NULL);
+ g_io_channel_set_buffered (ctrlch, TRUE);
+ g_io_channel_set_flags (ctrlch,
+ g_io_channel_get_flags (ctrlch) | G_IO_FLAG_NONBLOCK,
+ NULL);
+ g_io_add_watch (ctrlch,
+ G_IO_IN | G_IO_PRI | G_IO_ERR | G_IO_HUP | G_IO_NVAL,
+ (GIOFunc) greeter_ctrl_handler,
+ NULL);
+ g_io_channel_unref (ctrlch);
+ }
+
gdm_common_setup_blinking ();
gtk_widget_show_all (window);