gnucash maint: [assistant-stock-transaction] disallow stock split ratio of 0.
Christopher Lam
clam at code.gnucash.org
Mon Sep 19 20:50:30 EDT 2022
Updated via https://github.com/Gnucash/gnucash/commit/1752f1d1 (commit)
from https://github.com/Gnucash/gnucash/commit/84f4f3b6 (commit)
commit 1752f1d19d3e59de0ba4b6a42dc93af4f79c0385
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Mon Sep 19 23:05:33 2022 +0800
[assistant-stock-transaction] disallow stock split ratio of 0.
otherwise the reverse stock split would allow a new stock amount
balance of zero.
diff --git a/gnucash/gnome/assistant-stock-transaction.cpp b/gnucash/gnome/assistant-stock-transaction.cpp
index 2d6734c0b..619f52347 100644
--- a/gnucash/gnome/assistant-stock-transaction.cpp
+++ b/gnucash/gnome/assistant-stock-transaction.cpp
@@ -526,7 +526,7 @@ refresh_page_stock_amount (GtkWidget *widget, gpointer user_data)
{
gnc_numeric ratio = gnc_numeric_div (stock_amount, bal,
GNC_DENOM_AUTO, GNC_HOW_DENOM_REDUCE);
- if (gnc_numeric_check (ratio) || gnc_numeric_negative_p (ratio))
+ if (gnc_numeric_check (ratio) || !gnc_numeric_positive_p (ratio))
gtk_label_set_text (GTK_LABEL(info->next_amount), nullptr);
else
{
@@ -775,10 +775,8 @@ to ensure proper recording."), new_date_str, last_split_date_str);
stock_amount = gnc_numeric_sub_fixed (stock_amount, info->balance_at_date);
line.units = xaccPrintAmount (stock_amount, stock_pinfo);
line.units_in_red = negative_in_red && gnc_numeric_negative_p (stock_amount);
- if (gnc_numeric_check (ratio))
+ if (gnc_numeric_check (ratio) || !gnc_numeric_positive_p (ratio))
add_error_str (errors, N_("Invalid stock new balance"));
- else if (gnc_numeric_negative_p (ratio))
- add_error_str (errors, N_("New and old balance must have same signs"));
else if (gnc_numeric_negative_p (delta) && !credit_side)
add_error_str (errors, N_("New balance must be higher than old balance"));
else if (gnc_numeric_positive_p (delta) && credit_side)
Summary of changes:
gnucash/gnome/assistant-stock-transaction.cpp | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
More information about the gnucash-changes
mailing list