From 78ebc1fd434bd33d92d55d305f6256914b13ee66 Mon Sep 17 00:00:00 2001 From: Dave Peticolas Date: Mon, 25 Jun 2001 23:38:43 +0000 Subject: [PATCH] 2001-06-25 Dave Peticolas * src/gnome/window-main-summarybar.c: fix bug in euro profit calculation. use share prices in calculating totals. git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@4786 57a11ea4-9604-0410-9ed3-97b8803252fd --- ChangeLog | 3 +++ src/gnome/window-main-summarybar.c | 21 +++++++++++++++------ 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0befd90bf8..b12439f6e4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2001-06-25 Dave Peticolas + * src/gnome/window-main-summarybar.c: fix bug in euro profit + calculation. use share prices in calculating totals. + * AUTHORS: credits * doc/sgml/C/xacc-about.sgml: credits diff --git a/src/gnome/window-main-summarybar.c b/src/gnome/window-main-summarybar.c index 19884a7165..5697fa57c4 100644 --- a/src/gnome/window-main-summarybar.c +++ b/src/gnome/window-main-summarybar.c @@ -291,7 +291,11 @@ gnc_ui_accounts_recurse (AccountGroup *group, GList **currency_list, case MUTUAL: case CREDIT: case LIABILITY: - amount = xaccAccountGetBalance(account); + amount = gnc_ui_account_get_balance (account, FALSE); + /* unreverse sign */ + if (gnc_reverse_balance (account)) + amount = gnc_numeric_neg (amount); + currency_accum->assets = gnc_numeric_add (currency_accum->assets, amount, gnc_commodity_get_fraction (account_currency), @@ -309,17 +313,22 @@ gnc_ui_accounts_recurse (AccountGroup *group, GList **currency_list, break; case INCOME: case EXPENSE: - amount = xaccAccountGetBalance(account); + amount = gnc_ui_account_get_balance (account, FALSE); + /* unreverse sign */ + if (gnc_reverse_balance (account)) + amount = gnc_numeric_neg (amount); + currency_accum->profits = gnc_numeric_sub (currency_accum->profits, amount, gnc_commodity_get_fraction (account_currency), GNC_RND_ROUND); if (euro) - gnc_numeric_sub (euro_accum->profits, - gnc_convert_to_euro(account_currency, amount), - gnc_commodity_get_fraction (euro_commodity), - GNC_RND_ROUND); + euro_accum->profits = + gnc_numeric_sub (euro_accum->profits, + gnc_convert_to_euro(account_currency, amount), + gnc_commodity_get_fraction (euro_commodity), + GNC_RND_ROUND); if (children != NULL) gnc_ui_accounts_recurse(children, currency_list, euro);