mirror of https://github.com/Gnucash/gnucash
stable
4
archive
2.4
zzzoldreleases/2.2
zzzoldfeatures/register-rewrite
zzzoldfeatures/gda-dev
zzzoldfeatures/dogtail
zzzoldreleases/2.0
zzzoldfeatures/gobject-engine-dev-warlord
zzzoldfeatures/gobject-engine-dev1
zzzoldfeatures/gobject-engine-dev
zzzoldfeatures/module-cleanup
zzzoldfeatures/remove-group2
zzzoldfeatures/swigify
zzzoldfeatures/cashutil
zzzoldreleases/1.8
zzzoldfeatures/g2-gog-integ
zzzoldreleases/1.6
zzzoldreleases/1.4
zzzoldfeatures/xacc-12-patch
zzzoldfeatures/xacc-10-patch
zzzoldfeatures/multiline
5.15
5.14
5.13
5.12
5.11
5.10
5.9
5.8
5.7
5.6
5.5
5.4
5.3
5.2
5.1
5.0
4.14
4.904
4.903
4.902
4.901
4.900
4.13
4.12
4.11
4.8-superseded-by-4.8a
4.10
4.9
4.8a
4.8
4.7
4.6
4.5
4.4
4.3
4.2-post-string-freeze
4.3-string-freeze
4.2
4.1
4.0
3.11
3.906
3.905
3.904
3.903
3.902
3.901
3.10
3.9
3.8b
3.8a
3.8
3.7
3.6
3.5
3.4
3.3
3.2
3.1
2.6.21a
2.6.21
3.0
2.6.20
2.7.8
2.7.7
2.7.6
2.7.5
2.7.4
2.7.3
2.6.19
2.7.2
2.7.1
2.7.0a
2.6.18
2.7.0
2.6.17b
2.6.17a
2.6.17
2.6.16
2.6.15
2.6.14a
2.6.14
2.6.13b
2.6.13a
2.6.13
2.6.12
2.6.11
2.6.10
2.6.9
2.6.8
2.6.7
2.6.6a
2.6.6
2.6.5a
2.6.5
2.6.4
2.6.3
2.6.2
2.6.1
2.4.15
2.4.14
2.6.0
2.5.10
2.5.9
2.5.90
2.5.8
2.5.7
2.5.6
2.5.5
2.5.4
2.5.3
2.5.2
2.5.1
2.4.13
2.5.0
2.4.12
2.4.11
2.4.10-1
2.4.10
2.4.9
2.4.8
2.4.7
2.4.6
2.4.5
2.4.4
2.4.3
2.4.2
2.4.1
2.4.0
2.3.17
2.3.16
2.3.15
2.3.14
2.3.13
2.3.12
2.3.11
2.3.10
2.3.9
2.3.8
2.3.7
2.3.6
2.3.5
2.3.4
2.3.3
2.3.2
2.3.1
2.3.0
2.2.9
2.2.8
2.2.7
2.2.6
2.2.5
2.2.4
2.2.3
2.2.2
2.2.1
2.2.0
2.1.5
2.1.4
2.1.3
2.1.2
2.1.1
2.1.0
2.0.5
2.0.2
2.0.4
2.0.3
2.0.1
2.0.0
1.9.8
1.9.7
1.9.6
1.9.5
1.9.4
1.9.3
1.9.2
1.9.1
1.9.0
1-9-0
gnucash-1-9-0
1.8.12
1.8.11
1.8.10
1.8.9
1.8.8
1.8.7
1.8.6
1.8.5
1.8.4
1.8.3
1.8.2
1.8.2-rc
1.8.1
1.8.0
1.7.8
1.7.7
1.7.6
1.7.5
1.7.4a
1.7.4
1.7.3
1.7.2
1.7.1
1.6.x
1.6.7
1.6.6
1.6.5
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.6-root
1.5.98
1.5.97
1.5.96
1.5.95
1.4.12
1.5.6
1.5.5
1.5.4
1.4.11
1.5.3
1.4.10
1.4.9
1.4.8
1.4.7
1.5.2
1.5.1
1.4.6
1.4.5
1.4.4
1.4.3
1.5.0
1.4.2
1.4.1
1.4.0
1.4-root
1.3.100
1.3.99
1.3.8
1.3.7
1.3.6
1.3.5
1.3.4
1.3.3
1.3.2
1.3.1
1.3.0
${ noResults }
4 Commits (b3e3eb316620f2f97232f1b94de19c92973b531b)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
b4b8431984 |
Bug 798778 - GnuCashquits abruptly when attempting to edit options…
for certain reports. Those reports being ones using complex options, apparently because the callbacks weren't protected from Guile's garbage collector. So replace the anyway ugly hack of a void* with a std::any wrapping a class holding a std::unique_ptr with a custom deleter. The constructor calls scm_gc_protect_object on the SCM containing the callback and the custom deleter calls scm_gc_unprotect_object. The copy constructor, required for std::any, makes a new std::unique_ptr and calls scm_gc_protect_object again ensuring that the protect and unprotect calls are symmetrical. Meanwhile std::any hides the Guile dependency from all the classes that don't need to know about it. The only ugliness is that there's no good place to put a common implementation of SCNCallbackWrapper so it's repeated in gnc-optiondb.i and dialog-options.cpp. |
3 years ago |
|
|
a44b3664e2 |
[c++options] Implement GncOptionGncOwnerValue class.
GncOwners aren't QofInstances and have limited lifetimes so an option must hold its own, wrapped in std::unique_ptr for memory management. |
3 years ago |
|
|
1cec0cb3f3 |
Use internal extern "C" { ... } for C++
- removes warnings compiling swig engine ... [ 10%] Generating swig-engine.cpp .../libgnucash/engine/engine-helpers.h:31: Warning 313: Unrecognized extern type "C++". .../libgnucash/engine/gnc-date.h:83: Warning 313: Unrecognized extern type "C++". .../libgnucash/engine/qofquery.h:90: Warning 302: Identifier 'QofQuery' redefined (ignored), .../libgnucash/engine/gnc-option.hpp:55: Warning 302: previous definition of 'QofQuery'. .../libgnucash/engine/gnc-commodity.h:56: Warning 313: Unrecognized extern type "C++". .../libgnucash/engine/gncBusiness.h:40: Warning 313: Unrecognized extern type "C++". .../libgnucash/engine/gncEntry.h:37: Warning 313: Unrecognized extern type "C++". |
3 years ago |
|
|
4ae17d12c7 |
[options] Move options from app-utils to engine.
Options is required for book options that are stored as part of the data file and so belongs in engine. |
4 years ago |