If the transaction doesn't have the gdate-posted slot and the random
junk left on the stack where date lives happens to make a valid gdate
then timespec_to_gdate won't be called and a bogus date will be returned.
First step: Change the timestamp to 11:00 UTC instead of midnight local,
adjusting by an hour or two if the local timezone is one near the
International Date Line to keep the date from flipping around.
Scrub all old entries to make current files correct.
Note: This effectively disposes of the distinction of close-book transactions
having a noon instead of midnight timestamp as a way to distinguish them
from regular transactions, but that distinction doesn't seem to be used;
xaccTransIsCloseBook() is used instead.
This slightly changes the semantics of a 'None' default tax table
from 'taxable but no tax details given'
to 'not taxable'.
While not exactly the same the former is a highly unlikely
situation, where the latter is more common and hence makes
more sense. In the rare case a user does want to express
the old semantics this is still possible by explicitly
creating a tax table without any details.
Note this only influences newly entered entries. It has
no influence on existing ones.
There hasn't been a clist to iterate through since 2002, calling
gnc_import_TransInfo_refresh_destacc immediately after
gnc_import_TransInfo_set_destacc(...TRUE) is a no-op, and refresh_model_row
gets called immediately after run_account_picker_dialog_returns.
As a side benefit this might fix bug 757078.
Prevent re-entrance by checking that the static pointers, the second
freeing of which caused the crash. Set said pointers to NULL after
freeing them to make the dialog ready for the next invocation.
Handle drawing translations properly
- take empty checks into account on first page both when printing
one check only (bug 693342) and when printing multiple
checks
- fix page level translations, should only be called once
- draw debug grid once for each page instead of for each check
To be mentioned in release notes:
A few bugs in the calculation of check positions while printing checks have been corrected. If you manually edited the check formats to compensate for these positioning errors in previous versions of gnucash, you may have to undo these changes. Please check this before printing your next check.
- rework formula to calculate number of pages so it's easier to understand by a human
- add comments to clarify relations between position, position_max, first_page_count and so on
The linkage problem was caused by the symbol appearing in
libgncmod-backend-dbi.dll but not libgncmod-backend-dbi.dll.a.
Incoprorating gnc-backend-dbi.c as a source file to the test program
instead of linking its library resolved the issue.
SQL_OPTION_TO_REMOVE is substituted during preprocessing so it can be
inlined in the string initialization, no need for heap allocation or
runtime composition.