+ GtkWidget *dialog;
+ const char *current_prj, *current_uuid;
+ struct task **old_tasks;
+
+ log_fct_enter();
+ ui_taskpanel_update(NULL);
+
+ if (tasks) {
+ old_tasks = tasks;
+ current_prj = ui_projecttree_get_project();
+ current_uuid = ui_tasktree_get_task_uuid();
+ ui_tasktree_update(NULL, NULL);
+ } else {
+ old_tasks = NULL;
+ current_prj = NULL;
+ current_uuid = NULL;
+ }
+
+ tasks = tw_get_all_tasks(ui_get_status_filter());
+
+ if (tasks) {
+ ui_projecttree_update(tasks);
+ ui_tasktree_update(tasks, current_prj);
+ if (current_uuid)
+ ui_tasktree_set_selected_task(current_uuid);
+ } else {
+ dialog = gtk_message_dialog_new(NULL,
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_ERROR,
+ GTK_BUTTONS_CLOSE,
+ _("Error loading tasks, verify "
+ "that a supported version of "
+ "taskwarrior is installed "));
+ gtk_dialog_run(GTK_DIALOG(dialog));
+ gtk_widget_destroy(dialog);
+ }
+
+ if (old_tasks)
+ tw_task_list_free(old_tasks);