summaryrefslogtreecommitdiff
path: root/gui/gdmlogin.c
diff options
context:
space:
mode:
Diffstat (limited to 'gui/gdmlogin.c')
-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),