gnucash maint: Multiple changes pushed
John Ralls
jralls at code.gnucash.org
Sun Jan 24 19:15:22 EST 2016
Updated via https://github.com/Gnucash/gnucash/commit/9ea58f26 (commit)
via https://github.com/Gnucash/gnucash/commit/80317a2a (commit)
from https://github.com/Gnucash/gnucash/commit/2e8407ed (commit)
commit 9ea58f26f2cc95ebae14a2421b91a5d195eb6ddb
Author: John Ralls <jralls at ceridwen.us>
Date: Sun Jan 24 16:13:33 2016 -0800
Pretty up the SLR error dialog.
diff --git a/src/app-utils/gnc-sx-instance-model.c b/src/app-utils/gnc-sx-instance-model.c
index 3767297..930244e 100644
--- a/src/app-utils/gnc-sx-instance-model.c
+++ b/src/app-utils/gnc-sx-instance-model.c
@@ -1081,7 +1081,7 @@ split_apply_formulas (const Split *split, SxTxnCreationData* creation_data)
g_critical("%s", err->str);
if (creation_data->creation_errors != NULL)
*creation_data->creation_errors =
- g_list_prepend(*creation_data->creation_errors, err);
+ g_list_append(*creation_data->creation_errors, err);
else
g_string_free(err, TRUE);
final = gnc_numeric_zero();
diff --git a/src/gnome/dialog-sx-since-last-run.c b/src/gnome/dialog-sx-since-last-run.c
index fe85a45..15279b5 100644
--- a/src/gnome/dialog-sx-since-last-run.c
+++ b/src/gnome/dialog-sx-since-last-run.c
@@ -800,8 +800,11 @@ creation_error_dialog (GList **creation_errors)
if (*creation_errors == NULL) return;
for(; node != NULL; node = g_list_next (node))
{
- const gchar *fmt = message == NULL ? "%s%s" : "%s\n%s";
- gchar *new_msg = g_strdup_printf (fmt, message, node->data);
+ gchar *new_msg = NULL;
+ if (message == NULL)
+ new_msg = g_strdup_printf ("%s", node->data);
+ else
+ new_msg = g_strdup_printf("%s\n%s", message, node->data);
g_free (message);
message = new_msg;
g_free(node->data);
@@ -810,7 +813,7 @@ creation_error_dialog (GList **creation_errors)
creation_errors = NULL;
dialog = gtk_message_dialog_new (NULL, 0,
GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE,
- "%s", _("Invalid Transactions"));
+ "\t%s\t", _("Invalid Transactions"));
gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
"%s", message);
g_signal_connect_swapped (dialog, "response",
commit 80317a2a5a296f3fbc7884fc60e7cf67ed3d3894
Author: John Ralls <jralls at ceridwen.us>
Date: Sun Jan 24 15:29:02 2016 -0800
Bug 754856 - scheduled transaction <gnc.app-utils.sx> fails without warning
Prevent incrementing the SX instance if the Transaction creation fails.
diff --git a/src/app-utils/gnc-sx-instance-model.c b/src/app-utils/gnc-sx-instance-model.c
index 4265c0e..3767297 100644
--- a/src/app-utils/gnc-sx-instance-model.c
+++ b/src/app-utils/gnc-sx-instance-model.c
@@ -1081,7 +1081,7 @@ split_apply_formulas (const Split *split, SxTxnCreationData* creation_data)
g_critical("%s", err->str);
if (creation_data->creation_errors != NULL)
*creation_data->creation_errors =
- g_list_append(*creation_data->creation_errors, err);
+ g_list_prepend(*creation_data->creation_errors, err);
else
g_string_free(err, TRUE);
final = gnc_numeric_zero();
@@ -1329,6 +1329,7 @@ gnc_sx_instance_model_effect_change(GncSxInstanceModel *model,
{
GncSxInstance *inst = (GncSxInstance*)instance_iter->data;
gboolean sx_is_auto_create;
+ GList *instance_errors = NULL;
xaccSchedXactionGetAutoCreate(inst->parent->sx, &sx_is_auto_create, NULL);
if (auto_create_only && !sx_is_auto_create)
@@ -1366,9 +1367,20 @@ gnc_sx_instance_model_effect_change(GncSxInstanceModel *model,
increment_sx_state(inst, &last_occur_date, &instance_count, &remain_occur_count);
break;
case SX_INSTANCE_STATE_TO_CREATE:
- create_transactions_for_instance(inst, created_transaction_guids, creation_errors);
- increment_sx_state(inst, &last_occur_date, &instance_count, &remain_occur_count);
- gnc_sx_instance_model_change_instance_state(model, inst, SX_INSTANCE_STATE_CREATED);
+ create_transactions_for_instance (inst,
+ created_transaction_guids,
+ &instance_errors);
+ if (instance_errors == NULL)
+ {
+ increment_sx_state (inst, &last_occur_date,
+ &instance_count,
+ &remain_occur_count);
+ gnc_sx_instance_model_change_instance_state
+ (model, inst, SX_INSTANCE_STATE_CREATED);
+ }
+ else
+ *creation_errors = g_list_concat (*creation_errors,
+ instance_errors);
break;
case SX_INSTANCE_STATE_REMINDER:
// do nothing
Summary of changes:
src/app-utils/gnc-sx-instance-model.c | 18 +++++++++++++++---
src/gnome/dialog-sx-since-last-run.c | 9 ++++++---
2 files changed, 21 insertions(+), 6 deletions(-)
More information about the gnucash-changes
mailing list