[SF#733] Fix 'dclock' updating that it will show time on start or config change.
authorAndriy Grytsenko <andrej@rep.kiev.ua>
Sat, 2 May 2015 14:42:16 +0000 (17:42 +0300)
committerAndriy Grytsenko <andrej@rep.kiev.ua>
Sat, 2 May 2015 14:42:16 +0000 (17:42 +0300)
Don't do it just on next change of system timer.
It would create impression it's slow otherwise.

ChangeLog
plugins/dclock.c

index e7cc401..03ab689 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -17,6 +17,8 @@
     on idle, not immediately to avoid "stuck" spin button (and eventually
     even crash was possible).
 * Fixed initial icon on 'volumealsa' to show real state instead of muted.
+* Fixed 'dclock' updating that it will show time on start, not just on
+    next second change. It would create impression it's slow otherwise.
 
 0.8.0
 -------------------------------------------------------------------------
index 1f2cd11..53f972f 100644 (file)
@@ -326,6 +326,7 @@ static GtkWidget *dclock_constructor(LXPanel *panel, config_setting_t *settings)
     dclock_apply_configuration(p);
 
     /* Show the widget and return. */
+    dc->timer = g_idle_add((GSourceFunc)dclock_update_display, dc);
     return p;
 }
 
@@ -356,7 +357,6 @@ static gboolean dclock_apply_configuration(gpointer user_data)
 {
     GtkWidget * p = user_data;
     DClockPlugin * dc = lxpanel_plugin_get_data(p);
-    struct timeval now;
 
     /* stop the updater now */
     if (dc->timer)
@@ -390,7 +390,7 @@ static gboolean dclock_apply_configuration(gpointer user_data)
     dc->experiment_count = 0;
     dc->prev_clock_value = NULL;
     dc->prev_tooltip_value = NULL;
-    dclock_timer_set(dc, &now);
+    dc->timer = g_idle_add((GSourceFunc)dclock_update_display, dc);
 
     /* Hide the calendar. */
     if (dc->calendar_window != NULL)