mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Bug 799092 - GnuCash 5.4 leaves background process running on exit
Clear the schema_hash at app shutdown via gnc_prefs_remove_registered and make that function available to the Python bindings so that python programs can do so too.
This commit is contained in:
parent
fc0e80bbad
commit
a389e0a32e
@ -57,6 +57,7 @@ PyObject* SWIG_init (void);
|
|||||||
%import "base-typemaps.i"
|
%import "base-typemaps.i"
|
||||||
|
|
||||||
void gnc_prefs_init();
|
void gnc_prefs_init();
|
||||||
|
void gnc_prefs_remove_registered();
|
||||||
|
|
||||||
QofBook * gnc_get_current_book (void);
|
QofBook * gnc_get_current_book (void);
|
||||||
QofSession * gnc_get_current_session (void);
|
QofSession * gnc_get_current_session (void);
|
||||||
|
@ -522,9 +522,7 @@ void gnc_gsettings_load_backend (void)
|
|||||||
if (g_strcmp0 (g_getenv ("GNC_UNINSTALLED"), "1") == 0)
|
if (g_strcmp0 (g_getenv ("GNC_UNINSTALLED"), "1") == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (prefsbackend)
|
g_free (prefsbackend);
|
||||||
g_free (prefsbackend);
|
|
||||||
|
|
||||||
prefsbackend = g_new0 (PrefsBackend, 1);
|
prefsbackend = g_new0 (PrefsBackend, 1);
|
||||||
|
|
||||||
prefsbackend->register_cb = gnc_gsettings_register_cb;
|
prefsbackend->register_cb = gnc_gsettings_register_cb;
|
||||||
@ -560,6 +558,12 @@ void gnc_gsettings_load_backend (void)
|
|||||||
LEAVE("Prefsbackend bind = %p", prefsbackend->bind);
|
LEAVE("Prefsbackend bind = %p", prefsbackend->bind);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
gnc_gsettings_shutdown (void)
|
||||||
|
{
|
||||||
|
schema_hash.clear();
|
||||||
|
g_free (prefsbackend);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static GVariant *
|
static GVariant *
|
||||||
|
@ -570,6 +570,10 @@ void gnc_gsettings_reset_schema (const gchar *schema);
|
|||||||
*/
|
*/
|
||||||
void gnc_gsettings_load_backend (void);
|
void gnc_gsettings_load_backend (void);
|
||||||
|
|
||||||
|
/** Free the GSettings resources.
|
||||||
|
*/
|
||||||
|
void gnc_gsettings_shutdown (void);
|
||||||
|
|
||||||
/** Check whether we need to adjust the user settings
|
/** Check whether we need to adjust the user settings
|
||||||
* to a newer version.
|
* to a newer version.
|
||||||
*
|
*
|
||||||
|
@ -139,4 +139,5 @@ gnc_prefs_remove_registered (void)
|
|||||||
file_retain_type_changed_cb, NULL);
|
file_retain_type_changed_cb, NULL);
|
||||||
gnc_prefs_remove_cb_by_func (GNC_PREFS_GROUP_GENERAL, GNC_PREF_FILE_COMPRESSION,
|
gnc_prefs_remove_cb_by_func (GNC_PREFS_GROUP_GENERAL, GNC_PREF_FILE_COMPRESSION,
|
||||||
file_compression_changed_cb, NULL);
|
file_compression_changed_cb, NULL);
|
||||||
|
gnc_gsettings_shutdown ();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user