diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2012-12-21 12:54:17 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2012-12-21 12:54:17 (GMT) |
commit | 0cfcbee3c536ac6d11ec806d47ce4c136f695697 (patch) | |
tree | ffe4164a1337922e66c2ed024eeb6d407ab76d59 /src/plugins/pglist.c | |
parent | cf9ea46a796000f0252bb7d80c0ac0fb170e156a (diff) |
Unloaded loaded plugins and (started to) avoid memory leaks.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@307 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/plugins/pglist.c')
-rw-r--r-- | src/plugins/pglist.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/plugins/pglist.c b/src/plugins/pglist.c index 6b51690..e7a3ab0 100644 --- a/src/plugins/pglist.c +++ b/src/plugins/pglist.c @@ -76,6 +76,7 @@ void browse_directory_for_plugins(plugins_list *, const char *); bool init_all_plugins(GObject *ref) { _list.ref = ref; + g_object_ref(ref); browse_directory_for_plugins(&_list, PACKAGE_SOURCE_DIR "/plugins"); @@ -86,6 +87,33 @@ bool init_all_plugins(GObject *ref) /****************************************************************************** * * +* Paramètres : - * +* * +* Description : Procède au déchargement des différents greffons présents. * +* * +* Retour : - * +* * +* Remarques : - * +* * +******************************************************************************/ + +void exit_all_plugins(void) +{ + size_t i; /* Boucle de parcours */ + + for (i = 0; i < _list.plugins_count; i++) + g_object_unref(_list.plugins[i]); + + if (_list.plugins != NULL) + free(_list.plugins); + + g_object_unref(_list.ref); + +} + + +/****************************************************************************** +* * * Paramètres : entry = entrée de répertoire à analyser. * * * * Description : Filtre les répertoire et les modules de greffons pootentels. * |