summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/filters.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/filters.cc b/src/filters.cc
index 0084fac7..aa532ab6 100644
--- a/src/filters.cc
+++ b/src/filters.cc
@@ -793,12 +793,18 @@ void transfer_details::operator()(post_t& post)
break;
case SET_ACCOUNT: {
- std::list<string> account_names;
+ account_t * prev_account = temp.account;
temp.account->remove_post(&temp);
+
+ std::list<string> account_names;
split_string(substitute.to_string(), ':', account_names);
temp.account = create_temp_account_from_path(account_names, temps,
xact.journal->master);
temp.account->add_post(&temp);
+
+ temp.account->add_flags(prev_account->flags());
+ if (prev_account->has_xdata())
+ temp.account->xdata().add_flags(prev_account->xdata().flags());
break;
}