From e39aae08a4ce0b761697c37eb9c3faaf366cb869 Mon Sep 17 00:00:00 2001 From: Brian Cameron Date: Thu, 3 Aug 2006 16:42:41 +0000 Subject: Fix the setup of the iochannel so that it happens after the face browser 2006-08-03 Brian Cameron * 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 . --- ChangeLog | 11 +++++++++++ gui/greeter/greeter.c | 28 ++++++++++++++-------------- 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 + + * 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 . + 2006-08-02 Brian Cameron * 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); -- cgit v1.2.1