From 1049b933e8a6b83086ad50c4190cd0ad16b6ff73 Mon Sep 17 00:00:00 2001 From: Gergely Polonkai Date: Sat, 2 Aug 2014 20:00:56 +0200 Subject: [PATCH] ag_window_back_action() goes to list only if the chart is saved The user is prompted if they actually want to save or discard --- src/ag-window.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/ag-window.c b/src/ag-window.c index f244b3c..8790409 100644 --- a/src/ag-window.c +++ b/src/ag-window.c @@ -1008,9 +1008,14 @@ ag_window_back_action(GSimpleAction *action, AgWindow *window = AG_WINDOW(user_data); AgWindowPrivate *priv = ag_window_get_instance_private(window); - /* TODO: Check for saving! */ - ag_window_load_chart_list(window); - gtk_stack_set_visible_child_name(GTK_STACK(priv->stack), "list"); + if (ag_window_can_close(window, TRUE)) { + g_clear_object(&(priv->chart)); + ag_db_save_data_free(priv->saved_data); + priv->saved_data = NULL; + + ag_window_load_chart_list(window); + gtk_stack_set_visible_child_name(GTK_STACK(priv->stack), "list"); + } } static GActionEntry win_entries[] = {