From b208b06b0074c6edffdc8db12f3be777268ff2cd Mon Sep 17 00:00:00 2001 From: Christian Stimming Date: Sun, 25 Mar 2012 19:13:16 +0000 Subject: [PATCH] Fix segfault after behaviour change of qof_book_get_autoreadonly_gdate() in r22118. git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22122 57a11ea4-9604-0410-9ed3-97b8803252fd --- src/engine/Transaction.c | 1 + src/register/ledger-core/split-register-load.c | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/engine/Transaction.c b/src/engine/Transaction.c index d9fd54cee4..6e6845a673 100644 --- a/src/engine/Transaction.c +++ b/src/engine/Transaction.c @@ -1971,6 +1971,7 @@ gboolean xaccTransIsReadonlyByPostedDate(const Transaction *trans) } threshold_date = qof_book_get_autoreadonly_gdate(book); + g_assert(threshold_date); // ok because we checked uses_autoreadonly before trans_date = xaccTransGetDatePostedGDate(trans); // g_warning("there is auto-read-only with days=%d, trans_date_day=%d, threshold_date_day=%d", diff --git a/src/register/ledger-core/split-register-load.c b/src/register/ledger-core/split-register-load.c index 39126191fd..ee5e0a2981 100644 --- a/src/register/ledger-core/split-register-load.c +++ b/src/register/ledger-core/split-register-load.c @@ -277,7 +277,7 @@ gnc_split_register_load (SplitRegister *reg, GList * slist, int new_trans_split_row = -1; int new_trans_row = -1; int new_split_row = -1; - time_t present, autoreadonly_time; + time_t present, autoreadonly_time = 0; g_return_if_fail(reg); table = reg->table; @@ -434,9 +434,11 @@ gnc_split_register_load (SplitRegister *reg, GList * slist, /* get the current time and reset the dividing row */ present = gnc_timet_get_today_end (); + if (use_autoreadonly) { GDate *d = qof_book_get_autoreadonly_gdate(gnc_get_current_book()); - autoreadonly_time = timespecToTime_t(gdate_to_timespec(*d)); + // "d" is NULL if use_autoreadonly is FALSE + autoreadonly_time = d ? timespecToTime_t(gdate_to_timespec(*d)) : 0; g_date_free(d); }