From ef173bb7c4edf50ebda927f1a9375e454fe6b28f Mon Sep 17 00:00:00 2001 From: Seungha Yang Date: Sat, 12 Jan 2019 20:23:50 +0900 Subject: [PATCH] ges: Cleanup internal hash table on deinit System-wide once allocated but it makes tracing leak hard --- ges/ges-asset.c | 7 +++++++ ges/ges-internal.h | 3 +++ ges/ges.c | 2 ++ 3 files changed, 12 insertions(+) diff --git a/ges/ges-asset.c b/ges/ges-asset.c index e494e2828e..21b976172b 100644 --- a/ges/ges-asset.c +++ b/ges/ges-asset.c @@ -638,6 +638,13 @@ ges_asset_cache_init (void) _init_standard_transition_assets (); } +void +ges_asset_cache_deinit (void) +{ + g_hash_table_destroy (type_entries_table); + type_entries_table = NULL; +} + gboolean ges_asset_request_id_update (GESAsset * asset, gchar ** proposed_id, GError * error) diff --git a/ges/ges-internal.h b/ges/ges-internal.h index 52ade1b94a..037f5ecd75 100644 --- a/ges/ges-internal.h +++ b/ges/ges-internal.h @@ -139,6 +139,9 @@ track_disable_last_gap (GESTrack *track, gboolean disabled); G_GNUC_INTERNAL void ges_asset_cache_init (void); +G_GNUC_INTERNAL void +ges_asset_cache_deinit (void); + G_GNUC_INTERNAL void ges_asset_set_id (GESAsset *asset, const gchar *id); diff --git a/ges/ges.c b/ges/ges.c index 03e015f4f4..1702f42c8b 100644 --- a/ges/ges.c +++ b/ges/ges.c @@ -214,6 +214,8 @@ ges_deinit (void) /* Register track elements */ g_type_class_unref (g_type_class_peek (GES_TYPE_EFFECT)); + ges_asset_cache_deinit (); + ges_deinitialized = TRUE; G_UNLOCK (init_lock);