gdm r5980 - in trunk: . gui/simple-greeter



Author: halfline
Date: Mon Mar 10 13:53:37 2008
New Revision: 5980
URL: http://svn.gnome.org/viewvc/gdm?rev=5980&view=rev

Log:
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...


Modified:
   trunk/ChangeLog
   trunk/gui/simple-greeter/gdm-chooser-widget.c

Modified: trunk/gui/simple-greeter/gdm-chooser-widget.c
==============================================================================
--- trunk/gui/simple-greeter/gdm-chooser-widget.c	(original)
+++ trunk/gui/simple-greeter/gdm-chooser-widget.c	Mon Mar 10 13:53:37 2008
@@ -82,6 +82,7 @@
         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 @@
         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 @@
                             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



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]