From c652b9b627de78f667008991e8f4c2e7b6e454b5 Mon Sep 17 00:00:00 2001 From: Andy Spencer Date: Thu, 10 Nov 2011 07:17:49 +0000 Subject: [PATCH] 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. --- src/aweather-gui.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) 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)); } -- 2.43.2