32 lines
1.4 KiB
Diff
32 lines
1.4 KiB
Diff
--- gdm-2.21.9/gui/simple-greeter/gdm-chooser-widget.c (revision 5978)
|
|
+++ gdm-2.21.9/gui/simple-greeter/gdm-chooser-widget.c (working copy)
|
|
@@ -82,6 +82,7 @@ struct GdmChooserWidgetPrivate
|
|
gint number_of_separated_rows;
|
|
gint number_of_rows_with_status;
|
|
gint number_of_rows_with_images;
|
|
+ gint number_of_active_timers;
|
|
|
|
guint update_idle_id;
|
|
guint animation_timeout_id;
|
|
@@ -2034,6 +2035,7 @@ start_timer (GdmChooserWidget *widget
|
|
gtk_list_store_set (widget->priv->list_store, &iter,
|
|
CHOOSER_TIMER_VALUE_COLUMN, 0.0, -1);
|
|
|
|
+ widget->priv->number_of_active_timers++;
|
|
if (widget->priv->timer_animation_timeout_id == 0) {
|
|
g_assert (g_hash_table_size (widget->priv->rows_with_timers) == 1);
|
|
|
|
@@ -2067,6 +2069,12 @@ stop_timer (GdmChooserWidget *widget,
|
|
0.0, -1);
|
|
gtk_list_store_set (widget->priv->list_store, &iter,
|
|
CHOOSER_TIMER_VALUE_COLUMN, 0.0, -1);
|
|
+
|
|
+ widget->priv->number_of_active_timers--;
|
|
+ if (widget->priv->number_of_active_timers == 0) {
|
|
+ g_source_remove (widget->priv->timer_animation_timeout_id);
|
|
+ widget->priv->timer_animation_timeout_id = 0;
|
|
+ }
|
|
}
|
|
|
|
static void
|