summaryrefslogtreecommitdiff
path: root/gui
diff options
context:
space:
mode:
authorGeorge Lebl <jirka@5z.com>2003-07-21 19:24:39 +0000
committerGeorge Lebl <jirka@src.gnome.org>2003-07-21 19:24:39 +0000
commit14b750efefe58984254104682e2cff589935695b (patch)
tree2f61d36c03e998b79c2e1f188042dafc3a3cd7ca /gui
parent5da9da84d6087593a797f7765d9c7d192e6862ac (diff)
downloadgdm-14b750efefe58984254104682e2cff589935695b.tar.gz
eek, it's /dev/null, not dev/null
Mon Jul 21 12:24:01 2003 George Lebl <jirka@5z.com> * config/Xsession.in: eek, it's /dev/null, not dev/null * daemon/misc.[ch], daemon/gdm.c, daemon/slave.c: Fix #117527, get the root user name from the passwd info rather then assuming it's "root". * configure.in: fix #117895, when --with-xinerama=no, don't do the xinerama checks and just don't use xinerama * daemon/slave.c: Fix counting bugs in gdm_in_signal to fix hangs * daemon/slave.c: Fix the waiting for notify when inside the usr2 signal handler. * daemon/gdm.c, daemon/slave.c: Redo the waitpid mess and just use a pipe and select kind of stuff. Also remove the greeter restarts from within signal handlers as we can just do it now by popping out of the select and doing it there. This fixes a bunch of races and hangs related to doing too many things from signal handlers. Also don't do waitpid from the main daemon for slaves children as it won't work anyway and kill the entire process groups. * daemon/slave.c: fix the waiting code in focus_first_x_window * gui/gdmlogin.c: fix the clock sensitivity issues by twiddling the sensitive flags on the clock menuitem directly. Should fix theme ugliness issues with the clock. * config/Xsession.in: Apply patch from Steve Chaplin <stevech1097@yahoo.com.au> to fix #117898 to add $0 to all the echo messages in this file to make debugging easier.
Diffstat (limited to 'gui')
-rw-r--r--gui/gdmlogin.c23
1 files changed, 6 insertions, 17 deletions
diff --git a/gui/gdmlogin.c b/gui/gdmlogin.c
index 54d5c558..4c36c6df 100644
--- a/gui/gdmlogin.c
+++ b/gui/gdmlogin.c
@@ -2393,6 +2393,8 @@ gdm_login_ctrl_handler (GIOChannel *source, GIOCondition cond, gint fd)
case GDM_DISABLE:
g_io_channel_read_chars (source, buf, PIPE_SIZE-1, &len, NULL); /* Empty */
+ if (clock_label != NULL)
+ GTK_WIDGET_SET_FLAGS (clock_label->parent, GTK_SENSITIVE);
gtk_widget_set_sensitive (login, FALSE);
printf ("%c\n", STX);
fflush (stdout);
@@ -2401,6 +2403,8 @@ gdm_login_ctrl_handler (GIOChannel *source, GIOCondition cond, gint fd)
case GDM_ENABLE:
g_io_channel_read_chars (source, buf, PIPE_SIZE-1, &len, NULL); /* Empty */
gtk_widget_set_sensitive (login, TRUE);
+ if (clock_label != NULL)
+ GTK_WIDGET_UNSET_FLAGS (clock_label->parent, GTK_SENSITIVE);
printf ("%c\n", STX);
fflush (stdout);
break;
@@ -2681,12 +2685,6 @@ update_clock (gpointer data)
return FALSE;
}
-static void
-clock_state_changed (GtkWidget *clock)
-{
- clock->state = login->state;
-}
-
/* doesn't check for executability, just for existance */
static gboolean
bin_exists (const char *command)
@@ -2983,23 +2981,14 @@ gdm_login_gui_init (void)
}
/* The clock */
- ebox = gtk_event_box_new ();
- gtk_widget_show (ebox);
clock_label = gtk_label_new ("");
gtk_widget_show (clock_label);
- gtk_container_add (GTK_CONTAINER (ebox), clock_label);
item = gtk_menu_item_new ();
- gtk_container_add (GTK_CONTAINER (item), ebox);
+ gtk_container_add (GTK_CONTAINER (item), clock_label);
gtk_widget_show (item);
gtk_menu_shell_append (GTK_MENU_SHELL (menubar), item);
gtk_menu_item_set_right_justified (GTK_MENU_ITEM (item), TRUE);
- gtk_widget_set_sensitive (item, FALSE);
-
- /* hack */
- clock_label->state = GTK_STATE_NORMAL;
- g_signal_connect (G_OBJECT (clock_label), "state_changed",
- G_CALLBACK (clock_state_changed),
- NULL);
+ GTK_WIDGET_UNSET_FLAGS (item, GTK_SENSITIVE);
g_signal_connect (G_OBJECT (clock_label), "destroy",
G_CALLBACK (gtk_widget_destroyed),