summaryrefslogtreecommitdiff
path: root/walk.h
diff options
context:
space:
mode:
Diffstat (limited to 'walk.h')
-rw-r--r--walk.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/walk.h b/walk.h
index 4ac50df1..e34926f9 100644
--- a/walk.h
+++ b/walk.h
@@ -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;
}