Mike Alexander
068a5d2fa8
Fix xaccSplitGetOtherSplit which was broken by 028bf9826
, don't
...
count splits that aren't really in the transaction.
The rewrite left out one test. This was most obvious in the dummy
transaction used to enter a new transaction into an account.
xaccSplitGetOtherSplit never returned an "other split" for this
transaction. It turns out the old code was broken too, but
it worked for this case by coincidence.
2021-09-06 02:45:37 -04:00
Christopher Lam
1eb6709331
[test-lots.cpp] add kvp getter/setter changes
2021-08-31 23:16:43 +08:00
Christopher Lam
323182c9f7
[utest-Account.cpp] add kvp getter/setter changes
2021-08-31 23:16:43 +08:00
Christopher Lam
8a37c4c019
[utest-Invoice.c] add kvp getter/setter tests
2021-08-31 23:16:43 +08:00
Christopher Lam
9ec670f828
[test-commodities.cpp] add kvp setter/getter test
2021-08-31 23:16:42 +08:00
Christopher Lam
d4c8b36f9f
[utest-Transaction.cpp] add kvp setter/getter tests
...
wasn't tested before
2021-08-31 23:16:42 +08:00
Christopher Lam
c3b50f0b58
[gnc-lot.c] fix - cache value properly
2021-08-31 23:16:42 +08:00
Christopher Lam
595e126a34
[account.cpp] modify set_kvp_string_tag to accept strstrip or nullptr
...
- will remove a second call to g_strstrip (g_strdup (str))
2021-08-31 23:16:42 +08:00
Christopher Lam
c5a6383b43
[account.cpp] fix - incomplete #1117
...
- init struct members properly to: is_unset and TriState::Unset
- test acct kvp "equity-type" for "opening-balance" instead of "true"
- cached account->color/sort_order/notes/filter gets strstripped
similarly to previous behavior
2021-08-31 23:16:42 +08:00
Christopher Lam
001b34616f
[Transaction.c] GValue string must be unset
2021-08-29 15:38:16 +08:00
Christopher Lam
a47bee97d6
[Split.c] GValue string must be unset
2021-08-29 15:38:16 +08:00
Christopher Lam
0ecbcb4ef1
[gnc-lot.c] GValue string must be unset
2021-08-29 15:38:16 +08:00
Christopher Lam
ac2afc7e13
[gncInvoice.c] GValue string must be unset
2021-08-29 15:38:16 +08:00
Christopher Lam
3bf49ed8d7
[Account.cpp] GValue string must be unset
2021-08-29 15:38:16 +08:00
Christopher Lam
e3af2f22f9
[gnc-commodity.c] cache user_symbol into commodity struct
...
Continuation of ff2ceb111
which introduced issue whereby user_symbol
returned could become stale, leading to invalid read fixed with
c398bef59
. There are likely other user_symbol pointers becoming stale
without this commit.
This change will save the user_symbol into the commodity struct,
avoids gchar* becoming stale.
2021-08-29 15:38:16 +08:00
John Ralls
57f73d70c7
Merge Yordan Miladinov's denom_lcd into maint.
2021-08-27 12:34:07 -07:00
Christopher Lam
c55ab50349
[gnc-budget.c] gnc_budget_get_account_period_note to be freed by the caller
2021-08-24 23:02:15 +08:00
Christopher Lam
9ddb9e8215
[gnc-module.c] free a GList* properly
...
g_list_free (current) was a NOP because current became NULL after the
preceding GList traversal.
2021-08-24 22:32:39 +08:00
Yordan Miladinov
6cb509ea7d
fix an uncaught exception: denom_lcd may throw an overflow exception if casting lcm to int64_t fails
2021-08-24 00:58:31 +03:00
Christopher Lam
7e41efc232
Merge branch 'maint-speedup-and-leaks' into maint #1109
...
Speedup xaccSplitGetOtherSplit
2021-08-20 21:23:35 +08:00
Christopher Lam
ff2ceb111d
[gnc-commodity] GValue must be unset
2021-08-20 17:02:58 +08:00
Christopher Lam
028bf9826b
[Split] xaccSplitGetOtherSplit don't test book trading-accts
...
don't test trading-acct property when finding other split.
2021-08-17 13:04:34 +08:00
Christopher Lam
6bf5a618de
qof_instance_get gchar* must be freed
...
A call to qof_instance_get expecting a gchar* receives a newly
allocated string which must be freed.
2021-08-15 09:49:06 +08:00
Christopher Lam
e4d808e674
[qofbook] qof_book_use_split_action_for_num_field: free a char*
...
qof_instance_get allocates a new char* which must be freed.
2021-08-13 08:58:07 +08:00
Christopher Lam
40d886fa9d
gnc_account_list_name_violations elements must be freed
2021-08-12 09:39:08 +08:00
Christopher Lam
4c37f6d4ef
[account.cpp] gnc_g_list_stringjoin instead of repeated allocations
2021-08-12 09:19:34 +08:00
Christopher Lam
e84549926b
[gnc-glib-utils] gnc_g_list_stringjoin to join a GList of strings
...
It traverses the GList twice (once to calculate the length) but
allocates only once.
Includes snippet from
https://www.joelonsoftware.com/2001/12/11/back-to-basics/
2021-08-12 09:19:34 +08:00
Christopher Lam
bedc85afa3
Merge branch 'maint-leaks' into maint #1101
2021-08-06 19:30:01 +08:00
Christopher Lam
0420ae6a66
[account.cpp] refactor gnc_account_list_name_violations
2021-08-06 17:31:36 +08:00
Christopher Lam
67bd513514
[account.cpp] rewrite gnc_account_foreach_descendant_until in C++
2021-08-06 17:31:36 +08:00
Christopher Lam
17953441cb
[account.cpp] refactor gnc_account_foreach_descendant
2021-08-06 17:31:36 +08:00
Christopher Lam
5698b67bf5
[account.cpp] refactor gnc_account_lookup_by_code
2021-08-06 17:31:36 +08:00
Christopher Lam
09e2e7613c
[account.cpp] refactor gnc_account_lookup_by_name
2021-08-06 17:31:36 +08:00
Christopher Lam
bebc366e88
[account.cpp] refactor gnc_account_n_descendants
2021-08-06 17:31:35 +08:00
John Ralls
f0926d66c1
Merge Simon Arlott's 'qof-instance-dispose' into maint.
2021-08-05 11:45:14 -07:00
Christopher Lam
e6c33a39bc
[account.cpp] refactor gnc_account_get_descendants{_sorted}
2021-08-06 00:23:12 +08:00
Christopher Lam
d2db43019c
[account.cpp] internal function account_foreach_descendant
...
fast and efficient
2021-08-06 00:23:12 +08:00
Christopher Lam
de1ad9367a
g_free gnc_ctime which returns a new gchar*
2021-08-05 21:42:31 +08:00
Simon Arlott
7a0ea190ca
qof_instance_dispose should always complete dispose processes
...
If QofInstancePrivate has no collection then qof_instance_dispose() returns
without completing the rest of its dispose processes, skipping removal of
its type string from the string cache resulting in a reference count leak.
Change the check for a collection so that it only affects the call to
qof_collection_remove_entity().
2021-08-05 08:56:51 +01:00
Christopher Lam
c9db551693
g_free qof_print_date which returns a new char*
2021-08-05 09:23:28 +08:00
John Ralls
d099d39afd
Merge Simon Arlott's 'commit-root-on-load' into maint.
2021-08-04 15:52:51 -07:00
John Ralls
fd56512cf7
Merge Simon Arlott's 'load-test-xml' into maint.
2021-08-04 15:48:42 -07:00
John Ralls
9062be3d47
Merge Simon Arlott's 'string-cache-fixes' into maint.
2021-08-04 14:26:27 -07:00
John Ralls
f6766d42ec
Merge Simon Arlott's 'string-cache-no-refcount-empty' into maint.
2021-08-04 14:19:21 -07:00
Christopher Lam
a5edacf0fc
[options.scm] Rename option name to "Levels of Subaccounts"
...
Original name "Show Accounts until level". Add backward compatibility
missed in 08f490ee98
2021-08-04 19:02:30 +08:00
Christopher Lam
23bd716451
g_free gnc-path's gchar* intermediate strings
2021-08-03 12:14:12 +08:00
Christopher Lam
f1e35daab3
Rename option name from "Extra notes" to "Extra Notes"
2021-07-23 06:25:01 +08:00
Christopher Lam
251db8c37b
Rename option name from "Report title" to "Report Title"
2021-07-23 06:25:01 +08:00
Christopher Lam
2606ddf905
Rename option name from "Invoice number" to "Invoice Number"
...
This ensures it matches all other invoice reports.
2021-07-23 06:24:55 +08:00
Simon Arlott
4a5b5f3bf2
Don't cache the empty string
...
Avoid unnecessary reference counting for uses of the empty string.
2021-07-11 18:54:49 +01:00