From 917b4b247c136b6a8d89911ee592383cc304c846 Mon Sep 17 00:00:00 2001 From: John Ralls Date: Thu, 10 Aug 2023 16:58:49 -0700 Subject: [PATCH] [stock-txn-asst] Fix sell-side stock amounts. It was setting a negative amount in one too many places. --- gnucash/gnome/assistant-stock-transaction.cpp | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/gnucash/gnome/assistant-stock-transaction.cpp b/gnucash/gnome/assistant-stock-transaction.cpp index a7da9ead4e..5c5d2a26f4 100644 --- a/gnucash/gnome/assistant-stock-transaction.cpp +++ b/gnucash/gnome/assistant-stock-transaction.cpp @@ -686,12 +686,7 @@ StockTransactionStockEntry::set_amount(gnc_numeric amount, Logger& logger) return; } - bool neg{gnc_numeric_negative_p(amount) == TRUE}; - - if ((m_debit_side && !neg) || (!m_debit_side && neg)) - m_amount = amount; - else - m_amount = gnc_numeric_neg(amount); + m_amount = amount; PINFO("%s set amount %s", m_memo, print_amount(amount)); } @@ -704,7 +699,7 @@ StockTransactionStockEntry::calculate_price(bool new_balance) gnc_numeric_zero_p(m_amount) || gnc_numeric_zero_p(m_value)) return gnc_numeric_error(GNC_ERROR_ARG); - return gnc_numeric_div(m_value, m_amount, + return gnc_numeric_div(m_debit_side ? m_value : gnc_numeric_neg(m_value), m_amount, GNC_DENOM_AUTO, GNC_HOW_DENOM_EXACT); }