diff options
Diffstat (limited to 'walk.h')
-rw-r--r-- | walk.h | 9 |
1 files changed, 5 insertions, 4 deletions
@@ -110,7 +110,6 @@ struct transaction_xdata_t : public noncopyable account(NULL), ptr(NULL), component_xacts(NULL) { TRACE_CTOR(transaction_xdata_t, ""); } - ~transaction_xdata_t() { TRACE_DTOR(transaction_xdata_t); if (component_xacts) @@ -154,9 +153,11 @@ transaction_xdata_t& transaction_xdata(const transaction_t& xact); void add_transaction_to(const transaction_t& xact, value_t& value); inline account_t * xact_account(transaction_t& xact) { - account_t * account = transaction_xdata(xact).account; - if (account) - return account; + if (xact.data) { + account_t * account = transaction_xdata(xact).account; + if (account) + return account; + } return xact.account; } |