[Xfce4-commits] <xfce4-weather-plugin:master> Prevent updates when only converting between feet<->meters for altitude.

Harald Judt noreply at xfce.org
Wed Nov 28 00:00:05 CET 2012


Updating branch refs/heads/master
         to 44532fc693a6ef4879d933c647d473c6a25a6a34 (commit)
       from 8634c6c2729a4c121974b2ff1dec4fe472b25dcd (commit)

commit 44532fc693a6ef4879d933c647d473c6a25a6a34
Author: Harald Judt <h.judt at gmx.at>
Date:   Tue Nov 27 23:51:29 2012 +0100

    Prevent updates when only converting between feet<->meters for altitude.

 panel-plugin/weather-config.c |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/panel-plugin/weather-config.c b/panel-plugin/weather-config.c
index 5a108a5..122a7f5 100644
--- a/panel-plugin/weather-config.c
+++ b/panel-plugin/weather-config.c
@@ -109,6 +109,9 @@ static cb_function cb = NULL;
 typedef void (*cb_conf_dialog_function) (xfceweather_dialog *);
 static cb_conf_dialog_function cb_dialog = NULL;
 
+static void
+spin_alt_value_changed(const GtkWidget *spin,
+                       gpointer user_data);
 
 static gboolean
 schedule_data_update(gpointer user_data)
@@ -338,21 +341,28 @@ cb_findlocation(GtkButton *button,
 static void
 setup_altitude(xfceweather_dialog *dialog)
 {
+    g_signal_handlers_block_by_func(dialog->spin_alt,
+                                    G_CALLBACK(spin_alt_value_changed),
+                                    dialog);
     switch (dialog->wd->units->altitude) {
     case METERS:
         gtk_label_set_text(GTK_LABEL(dialog->label_alt_unit),
                            _("meters"));
         gtk_spin_button_set_value(GTK_SPIN_BUTTON(dialog->spin_alt),
                                   (gdouble) (dialog->wd->msl));
-        return;
+        break;
 
     case FEET:
         gtk_label_set_text(GTK_LABEL(dialog->label_alt_unit),
                            _("feet"));
         gtk_spin_button_set_value(GTK_SPIN_BUTTON(dialog->spin_alt),
                                   (gdouble) dialog->wd->msl / 0.3048);
-        return;
+        break;
     }
+    g_signal_handlers_unblock_by_func(dialog->spin_alt,
+                                      G_CALLBACK(spin_alt_value_changed),
+                                      dialog);
+    return;
 }
 
 


More information about the Xfce4-commits mailing list