evolution/SOURCES/evolution-3.28.5-config-lookup-crash.patch
2021-09-09 16:26:16 +00:00

38 lines
1.4 KiB
Diff

diff --git a/src/e-util/e-collection-account-wizard.c b/src/e-util/e-collection-account-wizard.c
index 49b1ac4a96..84ccd3fd53 100644
--- a/src/e-util/e-collection-account-wizard.c
+++ b/src/e-util/e-collection-account-wizard.c
@@ -1858,8 +1858,6 @@ collection_account_wizard_dispose (GObject *object)
wizard->priv->store_passwords = NULL;
}
- g_warn_if_fail (wizard->priv->running_result == NULL);
-
if (wizard->priv->running_result) {
e_simple_async_result_complete_idle (wizard->priv->running_result);
g_clear_object (&wizard->priv->running_result);
diff --git a/src/e-util/e-config-lookup.c b/src/e-util/e-config-lookup.c
index d0eff38ef2..3b68fa6876 100644
--- a/src/e-util/e-config-lookup.c
+++ b/src/e-util/e-config-lookup.c
@@ -277,6 +277,11 @@ config_lookup_dispose (GObject *object)
e_config_lookup_cancel_all (config_lookup);
+ if (config_lookup->priv->pool) {
+ g_thread_pool_free (config_lookup->priv->pool, TRUE, TRUE);
+ config_lookup->priv->pool = NULL;
+ }
+
g_mutex_lock (&config_lookup->priv->property_lock);
g_clear_object (&config_lookup->priv->run_cancellable);
@@ -305,7 +310,6 @@ config_lookup_finalize (GObject *object)
EConfigLookup *config_lookup = E_CONFIG_LOOKUP (object);
g_slist_free_full (config_lookup->priv->results, g_object_unref);
- g_thread_pool_free (config_lookup->priv->pool, TRUE, FALSE);
g_mutex_clear (&config_lookup->priv->property_lock);
/* Chain up to parent's method. */