Commit Graph

27860 Commits

Author SHA1 Message Date
gallegonovato
932f086e40
Translation update by gallegonovato <fran-carro@hotmail.es> using Weblate
po/es.po: 99.9% (5520 of 5522 strings; 1 fuzzy)
18 failing checks (0.3%)
Translation: GnuCash/Program (Spanish)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/es/
2023-06-23 23:48:06 +02:00
Francisco Serrador
0812a47e6b
Translation update by Francisco Serrador <fserrador@gmail.com> using Weblate
po/es.po: 99.9% (5520 of 5522 strings; 1 fuzzy)
18 failing checks (0.3%)
Translation: GnuCash/Program (Spanish)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/es/
2023-06-23 23:48:06 +02:00
Yuri Chornoivan
1c1bf29c9c
Translation update by Yuri Chornoivan <yurchor@ukr.net> using Weblate
po/uk.po: 100.0% (5522 of 5522 strings; 0 fuzzy)
20 failing checks (0.3%)
Translation: GnuCash/Program (Ukrainian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/uk/

Co-authored-by: Yuri Chornoivan <yurchor@ukr.net>
2023-06-23 23:48:06 +02:00
Brian Hsu
bc2dbf707a
Translation update by Brian Hsu <brianhsu.hsu@gmail.com> using Weblate
po/zh_TW.po: 99.4% (5491 of 5522 strings; 29 fuzzy)
53 failing checks (0.9%)
Translation: GnuCash/Program (Chinese (Traditional))
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/zh_Hant/

Co-authored-by: Brian Hsu <brianhsu.hsu@gmail.com>
2023-06-23 23:48:06 +02:00
Vincent Dawans
be904810df
Translation update by Vincent Dawans <dawansv@gmail.com> using Weblate
po/fr.po: 96.3% (5318 of 5522 strings; 89 fuzzy)
388 failing checks (7.0%)
Translation: GnuCash/Program (French)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/fr/

Co-authored-by: Vincent Dawans <dawansv@gmail.com>
2023-06-23 23:48:06 +02:00
Arve Eriksson
aec53d9bbe
Translation update by Arve Eriksson <031299870@telia.com> using Weblate
po/sv.po: 100.0% (5522 of 5522 strings; 0 fuzzy)
44 failing checks (0.7%)
Translation: GnuCash/Program (Swedish)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/sv/

Translation update  by Arve Eriksson <031299870@telia.com> using Weblate

po/sv.po: 99.4% (5494 of 5522 strings; 26 fuzzy)
47 failing checks (0.8%)
Translation: GnuCash/Program (Swedish)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/sv/

Translation update  by Arve Eriksson <031299870@telia.com> using Weblate

po/sv.po: 99.4% (5492 of 5522 strings; 26 fuzzy)
47 failing checks (0.8%)
Translation: GnuCash/Program (Swedish)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/sv/

Co-authored-by: Arve Eriksson <031299870@telia.com>
2023-06-23 23:48:05 +02:00
Christian Wehling
8cebf42a14
Translation update by Christian Wehling <christian.wehling@web.de> using Weblate
po/de.po: 99.4% (5489 of 5522 strings; 28 fuzzy)
56 failing checks (1.0%)
Translation: GnuCash/Program (German)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/de/

Co-authored-by: Christian Wehling <christian.wehling@web.de>
2023-06-23 23:48:05 +02:00
gallegonovato
3f0a517df4
Translation update by gallegonovato <fran-carro@hotmail.es> using Weblate
po/es.po: 100.0% (5522 of 5522 strings; 0 fuzzy)
29 failing checks (0.5%)
Translation: GnuCash/Program (Spanish)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/es/

Translation update  by gallegonovato <fran-carro@hotmail.es> using Weblate

po/es.po: 100.0% (5522 of 5522 strings; 0 fuzzy)
29 failing checks (0.5%)
Translation: GnuCash/Program (Spanish)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/es/

Translation update  by gallegonovato <fran-carro@hotmail.es> using Weblate

po/es.po: 99.9% (5520 of 5522 strings; 2 fuzzy)
31 failing checks (0.5%)
Translation: GnuCash/Program (Spanish)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/es/

Translation update  by gallegonovato <fran-carro@hotmail.es> using Weblate

po/es.po: 99.9% (5519 of 5522 strings; 3 fuzzy)
31 failing checks (0.5%)
Translation: GnuCash/Program (Spanish)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/es/

Translation update  by gallegonovato <fran-carro@hotmail.es> using Weblate

po/es.po: 99.8% (5514 of 5522 strings; 8 fuzzy)
6 failing checks (0.1%)
Translation: GnuCash/Program (Spanish)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/es/

Co-authored-by: gallegonovato <fran-carro@hotmail.es>
2023-06-23 23:48:05 +02:00
Pedro Albuquerque
e931722e60
Translation update by Pedro Albuquerque <pmra@gmx.com> using Weblate
po/pt.po: 100.0% (5522 of 5522 strings; 0 fuzzy)
0 failing checks (0.0%)
Translation: GnuCash/Program (Portuguese)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/pt/

Co-authored-by: Pedro Albuquerque <pmra@gmx.com>
2023-06-23 23:48:05 +02:00
Rune Osnes
3986ab365b
Translation update by Rune Osnes <osnes.rune@gmail.com> using Weblate
po/nb.po: 49.9% (2759 of 5522 strings; 1785 fuzzy)
2067 failing checks (37.4%)
Translation: GnuCash/Program (Norwegian Bokmål)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/nb_NO/

Co-authored-by: Rune Osnes <osnes.rune@gmail.com>
2023-06-23 23:48:05 +02:00
Simon Arlott
53238f6a90
Translation update by Simon Arlott <weblate.simon@arlott.org> using Weblate
po/en_NZ.po: 100.0% (5522 of 5522 strings; 0 fuzzy)
0 failing checks (0.0%)
Translation: GnuCash/Program (English (New Zealand))
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/en_NZ/

Translation update  by Simon Arlott <weblate.simon@arlott.org> using Weblate

po/en_AU.po: 100.0% (5522 of 5522 strings; 0 fuzzy)
0 failing checks (0.0%)
Translation: GnuCash/Program (English (Australia))
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/en_AU/

Translation update  by Simon Arlott <weblate.simon@arlott.org> using Weblate

po/en_GB.po: 100.0% (5522 of 5522 strings; 0 fuzzy)
0 failing checks (0.0%)
Translation: GnuCash/Program (English (United Kingdom))
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/en_GB/

Co-authored-by: Simon Arlott <weblate.simon@arlott.org>
2023-06-23 23:48:05 +02:00
John Ralls
ba7b26066e Merge Simon Arlott's'open-existing-page-not-restoring' into stable. 2023-06-23 14:45:44 -07:00
John Ralls
e98d3534ce Bug 798901 - Wrong value for very small prices from Finance::Quote.
Implement parsing number strings in scientific notation, avoiding
interpreting hexadecimal integers that way, "e" being a hex digit.
2023-06-23 14:39:37 -07:00
Simon Arlott
54d0a535ab
[gnc-main-window] Fix null pointer dereference when opening existing pages
When the page already exists in a window then we can't be restoring pages
so stop checking. The "window" variable will be nullptr if we're trying to
open the page "in any window".

This bug was introduced in the changes for bug 798564.
2023-06-23 17:18:41 +01:00
John Ralls
6b48c6ced7 Merge Simon Arlott's 'bug-798564' into stable. 2023-06-22 13:53:36 -07:00
John Ralls
cf3d2f3656 Merge Bob Fewell's reg-desc-fixes into stable. 2023-06-22 13:36:32 -07:00
John Ralls
4c67cc09a6 Merge Richard Cohen's 'valgrind-test-fixes' into stable. 2023-06-22 13:24:56 -07:00
Robert Fewell
d4be0d0711 Bug 798960 - Transaction completion horizontal scrolling
This commit is the second part to the bug that will scroll horizontally
to where the matching description text is.
2023-06-21 15:55:00 +01:00
Richard Cohen
518dab2429 Valgrind: fix "Conditional jump depends on uninitialised value" - test-split-register-copy-ops
- Don't save the address of a stack variable

==105765== Conditional jump or move depends on uninitialised value(s)
==105765==    at 0x10E763: test_gnc_float_txn_to_txn_swap_accounts (utest-split-register-copy-ops.c:540)
==105765==    by 0x5109675: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7600.1)
==105765==    by 0x510938A: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7600.1)
==105765==    by 0x510938A: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7600.1)
==105765==    by 0x510938A: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7600.1)
==105765==    by 0x5109BC9: g_test_run_suite (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7600.1)
==105765==    by 0x5103FFC: g_test_run (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7600.1)
==105765==    by 0x10BC6F: main (test-split-register.c:45)
==105765==
==105765== Conditional jump or move depends on uninitialised value(s)
==105765==    at 0x4877C57: gnc_float_txn_to_txn_swap_accounts (split-register-copy-ops.c:433)
==105765==    by 0x10E7E1: test_gnc_float_txn_to_txn_swap_accounts (utest-split-register-copy-ops.c:548)
==105765==    by 0x5109675: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7600.1)
==105765==    by 0x510938A: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7600.1)
==105765==    by 0x510938A: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7600.1)
==105765==    by 0x510938A: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7600.1)
==105765==    by 0x5109BC9: g_test_run_suite (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7600.1)
==105765==    by 0x5103FFC: g_test_run (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7600.1)
==105765==    by 0x10BC6F: main (test-split-register.c:45)
==105765==
==105765== Conditional jump or move depends on uninitialised value(s)
==105765==    at 0x10EFC1: test_gnc_float_txn_to_txn_swap_accounts (utest-split-register-copy-ops.c:589)
==105765==    by 0x5109675: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7600.1)
==105765==    by 0x510938A: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7600.1)
==105765==    by 0x510938A: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7600.1)
==105765==    by 0x510938A: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7600.1)
==105765==    by 0x5109BC9: g_test_run_suite (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7600.1)
==105765==    by 0x5103FFC: g_test_run (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7600.1)
==105765==    by 0x10BC6F: main (test-split-register.c:45)
2023-06-21 10:36:35 +01:00
Richard Cohen
fa0824e903 Valgrind: fix "Invalid read" - test-vendor
==4031== Invalid read of size 8
==4031==    at 0x4E58C09: gncVendorGetAddr (gncVendor.c:677)
==4031==    by 0x10A7E3: test_vendor (test-vendor.c:97)
...
==4031==  Address 0x7e0c4e8 is 168 bytes inside a block of size 232 free'd
==4031==    at 0x484620F: free (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==4031==    by 0x51526C3: g_type_free_instance (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7600.1)
==4031==    by 0x4E58616: gncVendorFree (gncVendor.c:511)
==4031==    by 0x4E58EFF: vendor_free (gncVendor.c:782)
==4031==    by 0x4E8611E: qof_commit_edit_part2 (qofinstance.cpp:1034)
==4031==    by 0x4E58F59: gncVendorCommitEdit (gncVendor.c:788)
==4031==    by 0x4E584EF: gncVendorDestroy (gncVendor.c:483)
==4031==    by 0x10A729: test_vendor (test-vendor.c:80)
...
==4031==  Block was alloc'd at
==4031==    at 0x4848A13: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==4031==    by 0x5033550: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7600.1)
==4031==    by 0x5157CBC: g_type_create_instance (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7600.1)
==4031==    by 0x513F20F: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7600.1)
==4031==    by 0x51407B7: g_object_new_with_properties (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7600.1)
==4031==    by 0x5141560: g_object_new (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7600.1)
==4031==    by 0x4E583CF: gncVendorCreate (gncVendor.c:459)
==4031==    by 0x10A6A5: test_vendor (test-vendor.c:74)
...
2023-06-21 10:36:35 +01:00
Richard Cohen
2168c6f301 Valgrind: fix "Invalid read" - test-employee
==4029== Invalid read of size 8
==4029==    at 0x4E41F15: gncEmployeeGetAddr (gncEmployee.c:642)
==4029==    by 0x10A8A5: test_employee (test-employee.c:97)
...
==4029==  Address 0x7e0c208 is 152 bytes inside a block of size 248 free'd
==4029==    at 0x484620F: free (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==4029==    by 0x51526C3: g_type_free_instance (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7600.1)
==4029==    by 0x4E418D5: gncEmployeeFree (gncEmployee.c:477)
==4029==    by 0x4E42144: emp_free (gncEmployee.c:714)
==4029==    by 0x4E8611E: qof_commit_edit_part2 (qofinstance.cpp:1034)
==4029==    by 0x4E4219E: gncEmployeeCommitEdit (gncEmployee.c:721)
==4029==    by 0x4E41823: gncEmployeeDestroy (gncEmployee.c:459)
==4029==    by 0x10A77F: test_employee (test-employee.c:79)
...
==4029==  Block was alloc'd at
==4029==    at 0x4848A13: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==4029==    by 0x5033550: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7600.1)
==4029==    by 0x5157CBC: g_type_create_instance (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7600.1)
==4029==    by 0x513F20F: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7600.1)
==4029==    by 0x51407B7: g_object_new_with_properties (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7600.1)
==4029==    by 0x5141560: g_object_new (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7600.1)
==4029==    by 0x4E416DA: gncEmployeeCreate (gncEmployee.c:434)
==4029==    by 0x10A6FB: test_employee (test-employee.c:73)
...
2023-06-21 10:36:35 +01:00
Richard Cohen
a5513b45d5 Valgrind: fix "Invalid read" - test-customer
==4028== Invalid read of size 8
==4028==    at 0x4E3F641: gncCustomerGetAddr (gncCustomer.c:579)
==4028==    by 0x10A8EE: test_customer (test-customer.c:90)
...
==4028==  Address 0x7e861b8 is 168 bytes inside a block of size 272 free'd
==4028==    at 0x484620F: free (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==4028==    by 0x51526C3: g_type_free_instance (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7600.1)
==4028==    by 0x4E3EDD6: gncCustomerFree (gncCustomer.c:368)
==4028==    by 0x4E3F57B: cust_free (gncCustomer.c:551)
==4028==    by 0x4E8611E: qof_commit_edit_part2 (qofinstance.cpp:1034)
==4028==    by 0x4E3F5D5: gncCustomerCommitEdit (gncCustomer.c:557)
==4028==    by 0x4E3EC89: gncCustomerDestroy (gncCustomer.c:338)
==4028==    by 0x10A7EC: test_customer (test-customer.c:71)
...
==4028==  Block was alloc'd at
==4028==    at 0x4848A13: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==4028==    by 0x5033550: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7600.1)
==4028==    by 0x5157CBC: g_type_create_instance (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7600.1)
==4028==    by 0x513F20F: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7600.1)
==4028==    by 0x51407B7: g_object_new_with_properties (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7600.1)
==4028==    by 0x5141560: g_object_new (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7600.1)
==4028==    by 0x4E3EB0D: gncCustomerCreate (gncCustomer.c:309)
==4028==    by 0x10A768: test_customer (test-customer.c:66)
...

==4028== Invalid read of size 8
==4028==    at 0x4E3F796: gncCustomerGetShipAddr (gncCustomer.c:633)
==4028==    by 0x10A91D: test_customer (test-customer.c:91)
...
==4028==  Address 0x7e86210 is 256 bytes inside a block of size 272 free'd
==4028==    at 0x484620F: free (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==4028==    by 0x51526C3: g_type_free_instance (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7600.1)
==4028==    by 0x4E3EDD6: gncCustomerFree (gncCustomer.c:368)
==4028==    by 0x4E3F57B: cust_free (gncCustomer.c:551)
==4028==    by 0x4E8611E: qof_commit_edit_part2 (qofinstance.cpp:1034)
==4028==    by 0x4E3F5D5: gncCustomerCommitEdit (gncCustomer.c:557)
==4028==    by 0x4E3EC89: gncCustomerDestroy (gncCustomer.c:338)
==4028==    by 0x10A7EC: test_customer (test-customer.c:71)
...
==4028==  Block was alloc'd at
==4028==    at 0x4848A13: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==4028==    by 0x5033550: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7600.1)
==4028==    by 0x5157CBC: g_type_create_instance (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7600.1)
==4028==    by 0x513F20F: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7600.1)
==4028==    by 0x51407B7: g_object_new_with_properties (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7600.1)
==4028==    by 0x5141560: g_object_new (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.7600.1)
==4028==    by 0x4E3EB0D: gncCustomerCreate (gncCustomer.c:309)
==4028==    by 0x10A768: test_customer (test-customer.c:66)
...
2023-06-21 10:36:35 +01:00
Richard Cohen
a1893ef51b Valgrind: fix "Invalid read" - test-kvp-value
==7520== Invalid read of size 8
==7520==    at 0x4E36DCC: guid_copy (guid.cpp:123)
==7520==    by 0x1E3E62: KvpValueImpl::duplicate(KvpValueImpl const&) (kvp-value.cpp:378)
==7520==    by 0x1E31CC: KvpValueImpl::KvpValueImpl(KvpValueImpl const&) (kvp-value.cpp:36)
==7520==    by 0x1FF6C3: KvpValueTest_Copy_Test::TestBody() (test-kvp-value.cpp:74)
...
==7520==  Address 0x7e10f48 is 8 bytes inside a block of size 16 free'd
==7520==    at 0x4846AFF: operator delete(void*, unsigned long) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==7520==    by 0x4E36D98: guid_free (guid.cpp:115)
==7520==    by 0x1E3D04: void delete_visitor::operator()<_gncGuid*>(_gncGuid*&) (kvp-value.cpp:358)
...
==7520==  Block was alloc'd at
==7520==    at 0x4843FA3: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==7520==    by 0x4E36D5C: guid_malloc (guid.cpp:105)
==7520==    by 0x4E36DC3: guid_copy (guid.cpp:122)
==7520==    by 0x4E36EB0: guid_new (guid.cpp:153)
==7520==    by 0x1FF4DB: KvpValueTest_Copy_Test::TestBody() (test-kvp-value.cpp:68)
2023-06-21 10:36:35 +01:00
Richard Cohen
46e6477f88 Refactor: use common code to free the list of guids 2023-06-21 10:36:31 +01:00
Richard Cohen
f1a3f2a8c8 Valgrind: fix "Mismatched free/delete" - test-scm-query etc.
- test-scm-query
- test-print-queries
- test-scm-query-string

==14597== Mismatched free() / delete / delete []
==14597==    at 0x484620F: free (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==14597==    by 0x118851: free_random_guids(_GList*) (test-engine-stuff.cpp:1505)
==14597==    by 0x118CF5: get_random_query (test-engine-stuff.cpp:1674)
...
==14597==  Address 0xa1366a0 is 0 bytes inside a block of size 16 alloc'd
==14597==    at 0x4843FA3: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==14597==    by 0x5342FA6: guid_malloc (guid.cpp:106)
==14597==    by 0x534300D: guid_copy (guid.cpp:123)
==14597==    by 0x534311F: guid_new (guid.cpp:154)
==14597==    by 0x115D1A: get_random_guid (test-engine-stuff.cpp:207)
==14597==    by 0x1187FA: get_random_guids(int) (test-engine-stuff.cpp:1494)
==14597==    by 0x118CC0: get_random_query (test-engine-stuff.cpp:1668)
...

==15045== Mismatched free() / delete / delete []
==15045==    at 0x484620F: free (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==15045==    by 0x118E96: get_random_query (test-engine-stuff.cpp:1735)
...
==15045==  Address 0xa077d40 is 0 bytes inside a block of size 16 alloc'd
==15045==    at 0x4843FA3: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==15045==    by 0x5342FA6: guid_malloc (guid.cpp:106)
==15045==    by 0x534300D: guid_copy (guid.cpp:123)
==15045==    by 0x534311F: guid_new (guid.cpp:154)
==15045==    by 0x115D1A: get_random_guid (test-engine-stuff.cpp:207)
==15045==    by 0x118E65: get_random_query (test-engine-stuff.cpp:1730)
...
2023-06-21 10:36:25 +01:00
John Ralls
b041a76690 [c++options]Dirty and changed are different.
Report options need to be saved when they're different from the
defaults, book options need to be saved when their value changes
regardless of whether it's the default value. That's dirty. Implement
it.
2023-06-20 14:50:42 -07:00
John Ralls
08d083e8e1 Merge Richard Cohen's 'fix-memory-errors' into stable. 2023-06-20 12:13:45 -07:00
John Ralls
7381887bfc Merge Vincent Dawan's 'bug798952-counters' into stable. 2023-06-20 11:02:17 -07:00
Robert Fewell
0449b73e96 Bug 798960 - Transaction completion horizontal scrolling
When a description popup has long text a horizontal scroll bar will be
used. If a subsequent popup has short text which does not need a scroll
bar, the previous one is still visible so queue a tree view column
resize to reevaluate the need for a scroll bar.
2023-06-20 12:01:49 +01:00
Robert Fewell
59ec7e4613 Change the search text to be up to the cursor position
When editing an existing entry, similar descriptions would not show so
instead of using the whole of the description text to search on just
use the portion up to the cursor.
2023-06-20 12:01:49 +01:00
Robert Fewell
ed2b92c428 Fix cursor position when deleting selected text 2023-06-20 12:01:49 +01:00
Richard Cohen
3c0b051ab0 Valgrind: fix "Mismatched free/delete" for gnc_print_time64, qof_print_date
... when called from guile e.g. test-transaction and lots of other tests

- gchar will also get the char* typemap, by typedef reduction

==119964== Mismatched free() / delete / delete []
==119964==    at 0x4847A1F: operator delete[](void*) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==119964==    by 0x669F3E4: _wrap_gnc_print_time64(scm_unused_struct*, scm_unused_struct*) (swig-engine.cpp:38533)
...

==119948== Mismatched free() / delete / delete []
==119948==    at 0x4847A1F: operator delete[](void*) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==119948==    by 0x6F6B431: _wrap_qof_print_date(scm_unused_struct*) (swig-engine.cpp:39124)
...
2023-06-20 10:20:44 +01:00
Richard Cohen
958e9a4d6f Valgrind: fix "Invalid read" in test-exp-parser
The pointer passed to the gfec exception handler is
not valid after the exception handler ends

==382525== Invalid read of size 1
==382525==    at 0x484B050: memcpy@GLIBC_2.2.5 (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==382525==    by 0x531AB67: __printf_buffer_write (Xprintf_buffer_write.c:39)
==382525==    by 0x5322CD4: __printf_buffer (vfprintf-process-arg.c:501)
==382525==    by 0x53465F3: __vasprintf_internal (vasprintf.c:102)
==382525==    by 0x499C8C1: g_vasprintf (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7600.1)
==382525==    by 0x4969BE0: g_strdup_vprintf (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7600.1)
==382525==    by 0x494B2F6: g_logv (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7600.1)
==382525==    by 0x494B7A2: g_log (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7600.1)
==382525==    by 0x4862862: func_op (gnc-exp-parser.c:342)
==382525==    by 0x485D381: primary_exp (expression_parser.c:1222)
==382525==    by 0x485CE0F: multiply_divide_op (expression_parser.c:1028)
==382525==    by 0x485CC33: add_sub_op (expression_parser.c:968)
==382525==  Address 0xad387ec is 764 bytes inside a block of size 766 free'd
==382525==    at 0x484620F: free (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==382525==    by 0x4861D9B: gfec_apply (gfec.c:145)
==382525==    by 0x4862813: func_op (gnc-exp-parser.c:339)
==382525==    by 0x485D381: primary_exp (expression_parser.c:1222)
==382525==    by 0x485CE0F: multiply_divide_op (expression_parser.c:1028)
==382525==    by 0x485CC33: add_sub_op (expression_parser.c:968)
==382525==    by 0x485C9DE: assignment_op (expression_parser.c:886)
==382525==    by 0x485C101: parse_string (expression_parser.c:605)
==382525==    by 0x4862F07: gnc_exp_parser_parse_separate_vars (gnc-exp-parser.c:535)
==382525==    by 0x4862D60: gnc_exp_parser_parse (gnc-exp-parser.c:475)
==382525==    by 0x10A963: run_parser_test (test-exp-parser.c:94)
==382525==    by 0x10AB99: run_parser_tests (test-exp-parser.c:144)
==382525==  Block was alloc'd at
==382525==    at 0x4843738: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==382525==    by 0x4A81473: scm_realloc (in /usr/lib/x86_64-linux-gnu/libguile-3.0.so.1.5.0)
==382525==    by 0x4AEEF70: scm_to_utf8_stringn (in /usr/lib/x86_64-linux-gnu/libguile-3.0.so.1.5.0)
==382525==    by 0x55AA71F: gnc_scm_to_utf8_string (gnc-guile-utils.c:42)
==382525==    by 0x4861D4E: gfec_apply (gfec.c:136)
==382525==    by 0x4862813: func_op (gnc-exp-parser.c:339)
==382525==    by 0x485D381: primary_exp (expression_parser.c:1222)
==382525==    by 0x485CE0F: multiply_divide_op (expression_parser.c:1028)
==382525==    by 0x485CC33: add_sub_op (expression_parser.c:968)
==382525==    by 0x485C9DE: assignment_op (expression_parser.c:886)
==382525==    by 0x485C101: parse_string (expression_parser.c:605)
==382525==    by 0x4862F07: gnc_exp_parser_parse_separate_vars (gnc-exp-parser.c:535)
2023-06-20 10:20:44 +01:00
Vincent Dawans
b514245c22 Bug 798952 - Unable to set day threshold or counters in properties
Make sure counter values are retrieved as int; allow counter back
to zero; fix voucher default value.
2023-06-19 19:23:04 -07:00
Christopher Lam
b331ec974e [gnc-gsettings.cpp] plug a char* leak
full_name leaks if it's already in schema_hash hash table. It would be
better to convert GHashTable to unordered_map.
2023-06-20 09:21:49 +08:00
John Ralls
16640be62f Reapply most norwegian-bokmal translations from Rune Osnes.
Removing the ones that only removed an accelerator mark ('_').
2023-06-19 11:45:47 -07:00
Richard Cohen
2e861ab673 Valgrind: fix "Mismatched free/delete" - test-dom-converters1
==32195== Mismatched free() / delete / delete []
==32195==    at 0x484620F: free (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==32195==    by 0x146DB5: test_dom_tree_to_guid() (test-dom-converters1.cpp:251)
...
==32195==  Address 0x8043780 is 0 bytes inside a block of size 16 alloc'd
==32195==    at 0x4843FA3: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==32195==    by 0x503E06E: guid_malloc (guid.cpp:106)
==32195==    by 0x503E0D5: guid_copy (guid.cpp:123)
==32195==    by 0x503E1E7: guid_new (guid.cpp:154)
==32195==    by 0x147188: get_random_guid (test-engine-stuff.cpp:207)
==32195==    by 0x146D03: test_dom_tree_to_guid() (test-dom-converters1.cpp:237)
...
2023-06-19 13:53:24 +01:00
Richard Cohen
e5a26e3c77 Valgrind: fix "Mismatched free/delete" - test-query
==31803== Mismatched free() / delete / delete []
==31803==    at 0x484620F: free (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==31803==    by 0x1198CB: make_trans_query (test-engine-stuff.cpp:2030)
==31803==    by 0x115898: test_trans_query(transaction_s*, void*) (test-query.cpp:40)
...
==31803==  Address 0x7fed160 is 0 bytes inside a block of size 16 alloc'd
==31803==    at 0x4843FA3: operator new(unsigned long) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==31803==    by 0x4E3706E: guid_malloc (guid.cpp:106)
==31803==    by 0x4E370D5: guid_copy (guid.cpp:123)
==31803==    by 0x4E371E7: guid_new (guid.cpp:154)
==31803==    by 0x115D64: get_random_guid (test-engine-stuff.cpp:207)
==31803==    by 0x11984C: make_trans_query (test-engine-stuff.cpp:2023)
...
2023-06-19 13:53:24 +01:00
Richard Cohen
4018ff1722 Valgrind: fix "Mismatched free/delete" - test-kvp-frames etc.
- test-kvp-frames
- test-xml-account
- test-xml-transaction
- test-account-object
- test-group-vs-book
- test-lots
- test-query
- test-import-pending-matches

==30223== Mismatched free() / delete / delete []
==30223==    at 0x4846AFF: operator delete(void*, unsigned long) (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==30223==    by 0x4E370AA: guid_free (guid.cpp:116)
...
==30223==  Address 0x7ea4390 is 0 bytes inside a block of size 16 alloc'd
==30223==    at 0x4843828: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==30223==    by 0x5032948: g_malloc (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.7600.1)
==30223==    by 0x11603A: get_random_guid (test-engine-stuff.cpp:209)
...
2023-06-19 13:53:24 +01:00
John Ralls
72c907bc9a Msgmerge updated potfile for GnuCash 5.2. 2023-06-18 13:46:08 -07:00
John Ralls
67e42af370 Merge latest translations from Weblate. 2023-06-18 13:26:11 -07:00
Simon Arlott
f49b669052
Bug 798564 - GnuCash is slow when there are a lot of open registers
When loading the book on startup, GnuCash takes a long time. This is partly
because gnc_restore_all_state() is loading data for every register page and
I have 35+ registers open.

Register loads should be deferred on tabs that are not visible until those
tabs are focused, like what already happens for restored open reports.

Every time a change to a transaction is saved by navigating away from it,
the UI freezes for almost a second. This is because
gnc_split_register_move_cursor() calls gnc_gui_refresh_internal() which
refreshes all the registers.

Register refreshes should be deferred on tabs that are not visible until
those tabs are focused again.

Use focus information to suppress the last part of the refresh_handler()
if the ledger isn't currently visible. When it becomes visible again, run
the deferred refresh step.

Don't immediately load or refresh the ledger (this will happen the first
time it is focused instead).
2023-06-18 08:55:20 +01:00
Simon Arlott
d56d68b7ab
[gnc-plugin-page] Don't automatically focus pages when they are recreated
This has to disregard the "open adjacent" preference to get them to be in
the right order because the first page will remain focused until the
restore is complete.

Change the register page so that it doesn't assume it will be in focus on
creation.
2023-06-18 08:55:19 +01:00
Simon Arlott
9ac12db68f
[gnc-ledger-display] Consolidate refresh functions
gnc_ledger_display_gl() is called to create the ledger:
1. Exclude template accounts (unconditionally)
2. Calls gnc_ledger_display_internal()

gnc_ledger_display_internal():
1. Run query
2. Set watches
3. Load splits

refresh_handler() is called to refresh all pages when a change happens:
1. Check if the number of subaccounts has changed
2. Exclude any template accounts (for specific register types)
3. Run query
4. Set watches
5. Load splits

gnc_ledger_display_refresh() is called by the register plugin:
1. [Doesn't check if the number of subaccounts has changed]
2. Exclude template accounts (for specific register types)
3. Run query
4. Set watches
5. Load splits

The last two are inconsistent because they don't both check if the number
of subaccounts has changed.

Make it easier to conditionally refresh the ledger only when it's visible
by consolidating the code from these functions into one place within
gnc_ledger_display_refresh() and gnc_ledger_display_refresh_internal().
2023-06-18 08:55:18 +01:00
gallegonovato
4066e30a19
Translation update by gallegonovato <fran-carro@hotmail.es> using Weblate
po/es.po: 100.0% (5499 of 5499 strings; 0 fuzzy)
3 failing checks (0.1%)
Translation: GnuCash/Program (Spanish)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/es/

Co-authored-by: gallegonovato <fran-carro@hotmail.es>
2023-06-18 03:26:27 +02:00
Andrea Andre
99778c85b4
Translation update by Andrea Andre <andrea.tsg19@slmail.me> using Weblate
po/ro.po: 47.7% (2627 of 5499 strings; 1937 fuzzy)
766 failing checks (13.9%)
Translation: GnuCash/Program (Romanian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ro/

Translation update  by Andrea Andre <andrea.tsg19@slmail.me> using Weblate

po/ro.po: 47.6% (2619 of 5499 strings; 1942 fuzzy)
769 failing checks (13.9%)
Translation: GnuCash/Program (Romanian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ro/

Translation update  by Andrea Andre <andrea.tsg19@slmail.me> using Weblate

po/ro.po: 47.6% (2618 of 5499 strings; 1943 fuzzy)
769 failing checks (13.9%)
Translation: GnuCash/Program (Romanian)
Translate-URL: https://hosted.weblate.org/projects/gnucash/gnucash/ro/

Co-authored-by: Andrea Andre <andrea.tsg19@slmail.me>
2023-06-18 03:26:27 +02:00
John Ralls
69682c68ad Merge Simon Arlott's 'authors' into stable. 2023-06-17 18:26:05 -07:00
John Ralls
241aa1d2eb Merge Richard Cohen's 'remove-unneeded-memcpy' into stable. 2023-06-17 17:58:53 -07:00
John Ralls
aae568eca6 Add comment explaining "option.template get_value<int>()". 2023-06-17 16:58:03 -07:00
John Ralls
4dc8a7ee0d Bug 798952 - Unable to set day threshold or counters in properties
Make counters explicitly integer type and adjust the kvp load and save functions
to recognize that and behave accordingly so that other range options like day
threshold aren't affected.
2023-06-17 16:49:52 -07:00