diff --git a/ChangeLog b/ChangeLog index fa62074079..d9437967ff 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2002-11-25 Derek Atkins + + * src/engine/QueryCore.c -- make sure we have a string + when running string compares. Partial fix for #99563 + * src/gnome/dialog-sx-from-trans.c -- suspend and resume + GUI events when building the template trans -- to make sure + that refreshes don't happen until after the txn is inserted. + FIXES bug #99563 + 2002-11-26 Christian Stimming * src/import-export/gnc-gen-transaction.[hc] diff --git a/src/engine/QueryCore.c b/src/engine/QueryCore.c index 7b21e5997b..13181cd67c 100644 --- a/src/engine/QueryCore.c +++ b/src/engine/QueryCore.c @@ -125,6 +125,8 @@ static int string_match_predicate (gpointer object, QueryAccess get_fcn, s = ((query_string_getter)get_fcn) (object); + if (!s) s = ""; + if (pdata->is_regex) { regmatch_t match; if (!regexec (&pdata->compiled, s, 1, &match, 0)) diff --git a/src/gnome/dialog-sx-from-trans.c b/src/gnome/dialog-sx-from-trans.c index 3566b38842..99f7aae01c 100644 --- a/src/gnome/dialog-sx-from-trans.c +++ b/src/gnome/dialog-sx-from-trans.c @@ -252,8 +252,10 @@ sxftd_add_template_trans(SXFromTransInfo *sxfti) tt_list = g_list_append(tt_list, tti); + gnc_suspend_gui_refresh (); xaccSchedXactionSetTemplateTrans(sxfti->sx, tt_list, gnc_get_current_book ()); + gnc_resume_gui_refresh (); return 0; } diff --git a/src/gnome/dialog-transfer.c b/src/gnome/dialog-transfer.c index 91fb1c527a..8e95270d41 100644 --- a/src/gnome/dialog-transfer.c +++ b/src/gnome/dialog-transfer.c @@ -1183,6 +1183,8 @@ gnc_xfer_dialog_ok_cb(GtkWidget * widget, gpointer data) xaccAccountCommitEdit(from_account); xaccAccountCommitEdit(to_account); + /* XXX: Maybe save this exchange to the pricedb */ + /* Refresh everything */ gnc_resume_gui_refresh ();