The csv parser was using xaccParseAmount to convert price strings into GncNumerics.
However our export code can generate prices in rational form which xaccParseAmount
can't convert. So for prices the csv parser now uses the expression parser instead
to convert the string into a GncNumeric.
Instead of making this optional, changes to transaction fields in
case the transaction has reconciled splits will now only issue a
warning. If the user continues anyway with changes to the transaction
field the reconcile state of splits won't be affected.
Changing protected split fields will continue to unreconcile that split.
My original fix for this was a bit off, the problem wasn't that
the sheet had been freed, it was that the item_edit had so the
ptr to the sheet was garbage. The correct solution is to catch
the item_edit's "destroy" signal and remove the idles.
This commit replaces b5fdcfcb5.
Crash was from dangling qof-event handler because the dialog was closed
with the title-bar button instead of the close button.
Since the close button destroys the window, simply moving the other
calls in close_handler to destroy_cb causes the titlebar close button
to behave the same as the close button and prevents the crash.
message for your changes. Lines starting
This commit performs 2 important fixes.
1. the account splitlist walking assumes that the split->date always
increases. This is now enforced by sorting the splitlist, *only* if a
custom split->date is offered. By default the splits are sorted by
posted_date, and if a custom split->date is used, will be
stable-sorted to ensure the algorithm works.
2. the handling of splits *ON* date boundaries is fixed. Previously if
a split->date was equal to a date boundary, it would be considered
part of the "after" date section. It is more intuitive that a date
boundary includes all splits on and before the date. In regular use
the dates are normalised to canonicaldaytime or end-day-time and is
not important. However when comparing reconciled dates, the statement
dates be exactly equal to the reconciled dates, therefore this
difference is crucial. In other words, the date boundaries mean we
include all splits before or on the date (to the exact second).
Add a test to verify above.
Add CONFIGURATIONS keyword to unadorned tests, enables tests with
multi-config generators.
Add CONFIGURATION generator expression to libgtest.a and libgmock.a
build directory specs when building with Xcode so that it can
find them when building tests.