(derive_new_entry): Backed out a change which caused the "from"
account to be incorrectly determined.
This commit is contained in:
parent
059843b1cf
commit
6777a8519a
1 changed files with 3 additions and 8 deletions
11
derive.cc
11
derive.cc
|
|
@ -45,18 +45,13 @@ entry_t * derive_new_entry(journal_t& journal,
|
||||||
added->add_transaction(new transaction_t(**j));
|
added->add_transaction(new transaction_t(**j));
|
||||||
}
|
}
|
||||||
else if ((*i)[0] == '-' || std::isdigit((*i)[0])) {
|
else if ((*i)[0] == '-' || std::isdigit((*i)[0])) {
|
||||||
account_t * draw_acct;
|
if (! matching)
|
||||||
if (matching)
|
|
||||||
draw_acct = matching->transactions.front()->account;
|
|
||||||
else if (journal.basket)
|
|
||||||
draw_acct = journal.basket;
|
|
||||||
else
|
|
||||||
throw error("Could not determine the account to draw from");
|
throw error("Could not determine the account to draw from");
|
||||||
|
|
||||||
transaction_t * m_xact, * xact, * first;
|
transaction_t * m_xact, * xact, * first;
|
||||||
m_xact = matching->transactions.front();
|
m_xact = matching->transactions.front();
|
||||||
|
|
||||||
first = xact = new transaction_t(draw_acct, amount_t(*i++));
|
first = xact = new transaction_t(m_xact->account, amount_t(*i++));
|
||||||
added->add_transaction(xact);
|
added->add_transaction(xact);
|
||||||
|
|
||||||
if (! xact->amount.commodity())
|
if (! xact->amount.commodity())
|
||||||
|
|
@ -64,7 +59,7 @@ entry_t * derive_new_entry(journal_t& journal,
|
||||||
|
|
||||||
m_xact = matching->transactions.back();
|
m_xact = matching->transactions.back();
|
||||||
|
|
||||||
xact = new transaction_t(draw_acct, - first->amount);
|
xact = new transaction_t(m_xact->account, - first->amount);
|
||||||
added->add_transaction(xact);
|
added->add_transaction(xact);
|
||||||
|
|
||||||
if (i != end) {
|
if (i != end) {
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue