mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
GNCAmountEdit: Put the text through the expression parser once instead of twice. This caused a problem in locales that print negative numbers in parentheses. For example, if you entered "-4/3", after the first parse the displayed text would change to "(1 + 1/3)", meaning negative one and one-third. Parsing that text a second time changes the text to "1 + 1/3" since, to the expression parser, parentheses indicate grouping rather than sign.
The reason the GNCAmountEdit was putting the text through the parser twice was that it was setting gae->need_to_parse FALSE, but then immediately calling gtk_entry_set_text(), which issues a "changed" signal. The callback for that signal was setting gae->need_to_parse back to TRUE. So I simply changed the order of the statements. BP git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17553 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
parent
dd1fe84980
commit
a7e8bd5499
@ -321,12 +321,12 @@ gnc_amount_edit_set_amount (GNCAmountEdit *gae, gnc_numeric amount)
|
||||
g_return_if_fail(GNC_IS_AMOUNT_EDIT(gae));
|
||||
g_return_if_fail(!gnc_numeric_check (amount));
|
||||
|
||||
/* Update the display. */
|
||||
amount_string = xaccPrintAmount (amount, gae->print_info);
|
||||
gtk_entry_set_text (GTK_ENTRY(gae), amount_string);
|
||||
|
||||
gae->amount = amount;
|
||||
gae->need_to_parse = FALSE;
|
||||
|
||||
amount_string = xaccPrintAmount (amount, gae->print_info);
|
||||
|
||||
gtk_entry_set_text (GTK_ENTRY(gae), amount_string);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user