The biggest problem was that a pointer to an out of scope struct tm was
passed to the wrapped function. With opt level 2, clang doesn't bother
setting the contents of the struct since it goes out of scope without being
used. This caused the transaction report to never report anything since
the start and end times it got were ridiculous.
Also most functions that take a struct tm pointer can change the contents
of the struct (if only to normalize it) so pass the new values back to Scheme.
Finally all calls to gnc_localtime and gnc_gmtime from Scheme leaked a struct tm
and calling gnc_tm_free from Scheme is a really bad idea so don't wrap it.
When the code was refactored in 61973a8 the return value from the new
function gnc_transaction_get_commodity_imbalance was ignored. This had
the effect of using an uninitialized variable to set the value in a new
trading account split that is not for the transaction's currency. That
means that multicommodity transactions created with this bug and trading
accounts on will not be balanced.
Make it possible to define search criteria that consist of multiple terms
anded or ored together. Use this to define a new criterion to look for specified
text in any of the Description, Notes, or Memo fields.
Without this Guile can't find libgncmod-engine and GnuCash won't start.
I don't know how this worked before, perhaps because the correct path
was in src/bin/overrides/gnucash-env.in
This function is currently only used in the owner tree code and this change
will cause payments not properly linked to invoices to be ignored when computing
owner balances.
- Main loop rewritten to be more robust and accurate.
- Added option to include broker fees in basis calculations.
- Added option to ignore money transfered to or from parent
or sibling accounts.
By then the main window has been created so it doesn't get hooked into the prefs system.
One symptom of this is that the "tab position" pref doesn't affect that window.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23734 57a11ea4-9604-0410-9ed3-97b8803252fd
It's not implemented and could easily be added back if it ever is implemented.
This will break any saved report using this price source, but they are
broken already.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23718 57a11ea4-9604-0410-9ed3-97b8803252fd
Sometimes it would display one price but use another one to compute the value.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23717 57a11ea4-9604-0410-9ed3-97b8803252fd
It was using an unset variable that was always zero.
Also do a better job of finding a pricing transaction and a couple of other
minor changes.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23713 57a11ea4-9604-0410-9ed3-97b8803252fd
Share and price calculations are done to 5 decimal places and currency
calculations are done using the precision defined for the currency.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23712 57a11ea4-9604-0410-9ed3-97b8803252fd
THe Portfolio report crashed and several othsrs used "nearest" instead.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23710 57a11ea4-9604-0410-9ed3-97b8803252fd
This limits the total number of times it can be called per invocation
of GnuCash for no obvious reason.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23708 57a11ea4-9604-0410-9ed3-97b8803252fd
Several reports need to find book closing transactions and let you specify a pattern
to match against the description of the transaction to detect them. The Close Book tool
marks the transactions it creates so they can be found without pattern matching. This
changes makes those reports use that mark to find them even if the pattern match doesn't.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23536 57a11ea4-9604-0410-9ed3-97b8803252fd
Pango seems to ignore it, but it really shouldn't be there.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23498 57a11ea4-9604-0410-9ed3-97b8803252fd
This bug has two parts. The original bug was that the wrong split is sometimes
used to print the check. In the comments a second problem was mentioned:
sometimes the wrong split is omitted from the split list in formats that print
all the splits.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23497 57a11ea4-9604-0410-9ed3-97b8803252fd
This is almost ok, but it uses the schemas from the install tree.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23457 57a11ea4-9604-0410-9ed3-97b8803252fd
As of version 2.9.1 it has a bug that causes it to fail to decompress certain files.
See https://bugzilla.gnome.org/show_bug.cgi?id=712528 for more info.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23412 57a11ea4-9604-0410-9ed3-97b8803252fd
In guile 2.0 we get nearly 7500 of them loading the scheme files.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23402 57a11ea4-9604-0410-9ed3-97b8803252fd
The most serious bug was that it would, in some cases, set the transaction's currency
to a non-currency commodity. It also sometimes set the currency directly without calling
xaccTransSetCurrency which skipped a number of side effects.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23387 57a11ea4-9604-0410-9ed3-97b8803252fd
Editing a multi-currency transaction in a serach results register sometimes
sets the exchange rate to 1 instead of the value you want.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23384 57a11ea4-9604-0410-9ed3-97b8803252fd
This avoids the crash in bug #710979 but doesn't fix the underlying problem.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23346 57a11ea4-9604-0410-9ed3-97b8803252fd
GnuCash was crashing if you searched for all unposted invoices, selected two or
more of them, and posted them. This was because the list of invoices to be posted
changed while it was being processed. As part of fixing this the prompt for post date,
due date, etc. will only be given once, not once per invoice.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23071 57a11ea4-9604-0410-9ed3-97b8803252fd
The biggest problem was that it was adding an invoice's entries to both the old
and the new invoice when duplicating the invoice.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23070 57a11ea4-9604-0410-9ed3-97b8803252fd
Also use GNC-DENOM-AUTO instead of a constant zero when appropriate.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22976 57a11ea4-9604-0410-9ed3-97b8803252fd
Getting error like
../../gnucash/configure: line 23573: x/opt/local/bin/python: No such file or directory
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22946 57a11ea4-9604-0410-9ed3-97b8803252fd
The function md5_finish_ctx dereferences type-punned pointers which
breaks strict aliasing rules.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22832 57a11ea4-9604-0410-9ed3-97b8803252fd