diff options
author | Ray Strode <rstrode@redhat.com> | 2008-03-10 13:53:37 +0000 |
---|---|---|
committer | Ray Strode <halfline@src.gnome.org> | 2008-03-10 13:53:37 +0000 |
commit | 834707e9764e8d59e36281b8dbdc96aff0c89288 (patch) | |
tree | e07169f1ec2a50a5a098e8dac335e136bfb108e9 | |
parent | ecf33573b7fb4332a63c20ad64bae9c853684dc7 (diff) | |
download | gdm-834707e9764e8d59e36281b8dbdc96aff0c89288.tar.gz |
gui/simple-greeter/gdm-chooser-widget.c: (start_timer), (stop_timer):
2008-03-10 Ray Strode <rstrode@redhat.com>
gui/simple-greeter/gdm-chooser-widget.c:
(start_timer), (stop_timer):
Actually remove high frequency timeout when
timer is stopped...
svn path=/trunk/; revision=5980
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | gui/simple-greeter/gdm-chooser-widget.c | 8 |
2 files changed, 14 insertions, 0 deletions
@@ -1,4 +1,10 @@ 2008-03-10 Ray Strode <rstrode@redhat.com> + gui/simple-greeter/gdm-chooser-widget.c: + (start_timer), (stop_timer): + Actually remove high frequency timeout when + timer is stopped... + +2008-03-10 Ray Strode <rstrode@redhat.com> * daemon/Makefile.am: add gdm-session-direct.xml to EXTRA_DIST diff --git a/gui/simple-greeter/gdm-chooser-widget.c b/gui/simple-greeter/gdm-chooser-widget.c index 1ae60a4c..e9f433c1 100644 --- a/gui/simple-greeter/gdm-chooser-widget.c +++ b/gui/simple-greeter/gdm-chooser-widget.c @@ -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 |