[SF#675]Fix monitor setting in Panel Preferences.
authorAndriy Grytsenko <andrej@rep.kiev.ua>
Sun, 21 Sep 2014 18:34:21 +0000 (21:34 +0300)
committerAndriy Grytsenko <andrej@rep.kiev.ua>
Sun, 21 Sep 2014 18:34:21 +0000 (21:34 +0300)
It was incorrect in both initialize value and in accepting change.

ChangeLog
src/configurator.c

index 77dad2d..9568c78 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -22,6 +22,7 @@
 * Fixed color saving in the configuration.
 * Fixed incomplete resources deallocation in 'volumealsa' plugin.
 * Fixed make uninstall (it left plugins installed).
+* Fixed monitor number set from GUI.
 
 0.7.0
 -------------------------------------------------------------------------
index 9e2bbe0..9b320af 100644 (file)
@@ -175,11 +175,11 @@ static void edge_right_toggle(GtkToggleButton *widget, LXPanel *p)
         set_edge(p, EDGE_RIGHT);
 }
 
-static void set_monitor(GtkAdjustment *widget, LXPanel *panel)
+static void set_monitor(GtkSpinButton *widget, LXPanel *panel)
 {
     Panel *p = panel->priv;
 
-    p->monitor = gtk_adjustment_get_value(widget);
+    p->monitor = gtk_spin_button_get_value_as_int(widget) - 1;
     update_panel_geometry(panel);
     _panel_set_panel_configuration_changed(panel);
     UPDATE_GLOBAL_INT(p, "monitor", p->monitor);
@@ -1001,8 +1001,8 @@ void panel_configure( LXPanel* panel, int sel_page )
     if(screen) monitors = gdk_screen_get_n_monitors(screen);
     g_assert(monitors >= 1);
     w = (GtkWidget*)gtk_builder_get_object( builder, "monitor" );
-    gtk_spin_button_set_value(GTK_SPIN_BUTTON(w), p->monitor + 1);
     gtk_spin_button_set_range(GTK_SPIN_BUTTON(w), 1, monitors);
+    gtk_spin_button_set_value(GTK_SPIN_BUTTON(w), p->monitor + 1);
     gtk_widget_set_sensitive(w, monitors > 1);
     g_signal_connect(w, "value-changed", G_CALLBACK(set_monitor), panel);