From ebc555fe43b41665bd080a27d4ddf8a602912b3b Mon Sep 17 00:00:00 2001 From: Derek Atkins Date: Thu, 9 Jan 2003 22:50:32 +0000 Subject: [PATCH] * src/register/ledger-core/split-register-model.c: * src/register/ledger-core/split-register-control.c: Ignore certain splits with an "amount" of zero. git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@7806 57a11ea4-9604-0410-9ed3-97b8803252fd --- ChangeLog | 6 ++++++ src/register/ledger-core/split-register-control.c | 7 +++++++ src/register/ledger-core/split-register-model.c | 5 +++++ 3 files changed, 18 insertions(+) diff --git a/ChangeLog b/ChangeLog index ca827eb2fc..de170d48ab 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2003-01-09 Derek Atkins + + * src/register/ledger-core/split-register-model.c: + * src/register/ledger-core/split-register-control.c: + Ignore certain splits with an "amount" of zero. + 2003-01-09 Christian Stimming * po/el.po: Updated translation, reviewed by diff --git a/src/register/ledger-core/split-register-control.c b/src/register/ledger-core/split-register-control.c index 870d92c810..37a30af0b2 100644 --- a/src/register/ledger-core/split-register-control.c +++ b/src/register/ledger-core/split-register-control.c @@ -1111,6 +1111,13 @@ gnc_split_register_handle_exchange (SplitRegister *reg, gboolean force_dialog) /* Ok, we need to grab the exchange rate */ amount = gnc_split_register_debcred_cell_value (reg); + /* + * If "amount" is zero then we don't need an exchange-rate.. Return + * FALSE to let the user continue on. + */ + if (gnc_numeric_zero_p (amount)) + return FALSE; + /* We know that "amount" is always in the reg_com currency. * Unfortunately it is possible that neither xfer_com or txn_cur are * the same as reg_com, in which case we need to convert to the txn diff --git a/src/register/ledger-core/split-register-model.c b/src/register/ledger-core/split-register-model.c index a990657324..f9f609b502 100644 --- a/src/register/ledger-core/split-register-model.c +++ b/src/register/ledger-core/split-register-model.c @@ -1372,6 +1372,11 @@ gnc_split_register_get_conv_rate (Transaction *txn, Account *acc) continue; amount = xaccSplitGetAmount (s); + + /* Ignore splits with "zero" amount */ + if (gnc_numeric_zero_p (amount)) + continue; + value = xaccSplitGetValue (s); convrate = gnc_numeric_div (amount, value, GNC_DENOM_AUTO, GNC_DENOM_REDUCE); return convrate;