Index: debian/changelog
===================================================================
--- debian/changelog	(revision 3276)
+++ debian/changelog	(working copy)
@@ -1,3 +1,9 @@
+omweather (0.24.5) unstable; urgency=low
+
+  * Fixed problem with button GPS
+
+ -- Vlad Vasiliev <vlad@gas.by>  Thu, 24 Sep 2009 06:15:10 +0200
+
 omweather (0.24.4) unstable; urgency=low
 
   * Various minor fixes
Index: src/weather-simple-settings.c
===================================================================
--- src/weather-simple-settings.c	(revision 3276)
+++ src/weather-simple-settings.c	(working copy)
@@ -270,14 +270,14 @@
 #else
     button = (GtkWidget*)g_object_get_data(G_OBJECT(user_data), "button");
 #endif
-    
+
     label = (GtkWidget*)g_object_get_data(G_OBJECT(button), "label");
     vbox = (GtkWidget*)g_object_get_data(G_OBJECT(button), "vbox");
     window = (GtkWidget*)g_object_get_data(G_OBJECT(button), "window");
     if (sel && gtk_tree_selection_get_selected(sel,&model, &iter)){
         gtk_tree_model_get(model, &iter, 0, &name, -1);
     }
-    
+
     list = (struct lists_struct*)g_object_get_data(G_OBJECT(window), "list");
     /* This is a very serious error */
     if(!list)
@@ -324,7 +324,7 @@
         g_object_set_data(G_OBJECT(button), "station_region", (gpointer)name);
         g_object_set_data(G_OBJECT(window), "station_region_id", GINT_TO_POINTER(id_state));
         changed_state_handler(NULL, window);
- 
+
         temp_button = (GtkWidget*)g_object_get_data(G_OBJECT(window), "station_button");
 #if defined OS2009
         vbox = (GtkWidget*)g_object_get_data(G_OBJECT(temp_button), "vbox");
@@ -849,7 +849,7 @@
 #ifdef DEBUGFUNCTIONCALL
     START_FUNCTION;
 #endif
- 
+
     window = gtk_dialog_new_with_buttons(_("Units"), NULL, 
                                      GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, NULL);
     gtk_widget_set_name(window, "units_simple_settings_window");
@@ -1370,7 +1370,7 @@
 /*******************************************************************************/
 GtkWidget*
 create_button(gchar* name, gchar* value, gchar* button_name, gchar* parameter_name, GtkWidget* widget, GtkListStore *list ){
- 
+
     GtkWidget *button = NULL;
     GtkWidget *selector = NULL;
     GtkTreeIter iter;
@@ -1385,14 +1385,14 @@
 #ifdef DEBUGFUNCTIONCALL
     START_FUNCTION;
 #endif
- 
+
 #if defined OS2009
     button = hildon_picker_button_new (HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH,
                     HILDON_BUTTON_ARRANGEMENT_VERTICAL);
     hildon_button_set_title (HILDON_BUTTON (button), name);
     selector = hildon_touch_selector_entry_new_text();
 
-    i = 0; 
+    i = 0;
     position = -1;
     if (value){
         new_value = g_strdup(value);
@@ -1416,7 +1416,10 @@
     if (new_value)
         g_free(new_value);
 
-    hildon_touch_selector_set_active(HILDON_TOUCH_SELECTOR(selector), 0, position); 
+    if (position == -1 && i == 1)
+        hildon_touch_selector_set_active(HILDON_TOUCH_SELECTOR(selector), 0, 0);
+    else
+        hildon_touch_selector_set_active(HILDON_TOUCH_SELECTOR(selector), 0, position);
 
     column = hildon_touch_selector_get_column(HILDON_TOUCH_SELECTOR(selector), 0);
 
@@ -1481,7 +1484,6 @@
 #ifdef DEBUGFUNCTIONCALL
     START_FUNCTION;
 #endif
- 
 
 /* Prepairing */
 
@@ -1491,7 +1493,6 @@
     gtk_widget_set_name(window, "simple_settings_window");
 
 
-
     /* create sources list from aviable sources */
     list = g_new0(struct lists_struct, 1);
     list->sources_list = app->sources_list;
@@ -1597,7 +1598,7 @@
           valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(list->sources_list), &iter);
           if(valid){
               /* TO DO Warning memory leak */
-              
+
               gtk_tree_model_get(GTK_TREE_MODEL(list->sources_list), &iter,
                                                 0, &source,
                                                 -1);
@@ -1720,16 +1721,16 @@
     if (list->countries_list){
         gtk_list_store_clear(list->countries_list);
         g_object_unref(list->countries_list);
-    }   
+    }
     if (list->stations_list){
         gtk_list_store_clear(list->stations_list);
         g_object_unref(list->stations_list);
-    }   
+    }
     if (list->regions_list){
         gtk_list_store_clear(list->regions_list);
         g_object_unref(list->regions_list);
-    }   
- 
+    }
+
     /* close database if it open */
     if (list->database)
          close_database(list->database);
@@ -1767,6 +1768,8 @@
 
     station_button = (GtkWidget *)g_object_get_data(G_OBJECT(user_data),"station_button");
     gtk_widget_set_sensitive(station_button, TRUE);
+
+    gtk_widget_set_sensitive(g_object_get_data(G_OBJECT(user_data), "save_button"), FALSE);
 }
 /*******************************************************************************/
 void
@@ -1828,6 +1831,8 @@
 
         station_button = (GtkWidget *)g_object_get_data(G_OBJECT(user_data),"station_button");
         gtk_widget_set_sensitive(station_button, FALSE);
+
+        gtk_widget_set_sensitive(g_object_get_data(G_OBJECT(user_data), "save_button"), TRUE);
     }
 }
 /*******************************************************************************/
Index: configure.ac
===================================================================
--- configure.ac	(revision 3276)
+++ configure.ac	(working copy)
@@ -1,6 +1,6 @@
 AC_PREREQ(2.59)
-AC_INIT(omweather, 0.24.4)
-AM_INIT_AUTOMAKE(omweather, 0.24.4)
+AC_INIT(omweather, 0.24.5)
+AM_INIT_AUTOMAKE(omweather, 0.24.5)
 AC_CONFIG_HEADER([src/config.h:src/config.h.in])
 AC_CONFIG_SRCDIR([src/weather-main.c])
 AC_CANONICAL_HOST
