From: Andy Spencer Date: Thu, 10 Nov 2011 07:17:49 +0000 (+0000) Subject: Fix crash when setting the date X-Git-Tag: v0.6.1~3 X-Git-Url: http://pileus.org/git/?p=aweather;a=commitdiff_plain;h=c652b9b627de78f667008991e8f4c2e7b6e454b5;hp=61fb0b58c4801a2b904fd38a64708c8a13f98dd3 Fix crash when setting the date If the date was set before the time was set, the call to get the current time from the tree-view would return a null path and cause a segfault. --- diff --git a/src/aweather-gui.c b/src/aweather-gui.c index 5e25535..df5e846 100644 --- a/src/aweather-gui.c +++ b/src/aweather-gui.c @@ -258,13 +258,15 @@ G_MODULE_EXPORT void on_time_changed(AWeatherGui *self) (guint*)&tm.tm_mon, (guint*)&tm.tm_mday); tm.tm_year -= 1900; - GtkTreeIter iter; - GtkTreePath *path = NULL; - GtkWidget *view = aweather_gui_get_widget(self, "main_time"); - GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(view)); + GtkTreePath *path = NULL; + GtkWidget *view = aweather_gui_get_widget(self, "main_time"); gtk_tree_view_get_cursor(GTK_TREE_VIEW(view), &path, NULL); - gtk_tree_model_get_iter(model, &iter, path); - gtk_tree_model_get(model, &iter, 1, &tm.tm_hour, 2, &tm.tm_min, -1); + if (path) { + GtkTreeIter iter; + GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(view)); + gtk_tree_model_get_iter(model, &iter, path); + gtk_tree_model_get(model, &iter, 1, &tm.tm_hour, 2, &tm.tm_min, -1); + } grits_viewer_set_time(self->viewer, mktime(&tm)); }