diff options
author | Ryan Lortie <desrt@desrt.ca> | 2012-07-05 23:40:19 -0400 |
---|---|---|
committer | Ryan Lortie <desrt@desrt.ca> | 2012-07-06 00:19:44 -0400 |
commit | 197c3bb81ca13bebc1fdf757f887455e588e3785 (patch) | |
tree | 1e90de65adfc5cb99494397ac33fe61c311e78e8 /engine | |
parent | 36af45d05df59d8acb4ca27bee6630f799c68f62 (diff) | |
download | dconf-197c3bb81ca13bebc1fdf757f887455e588e3785.tar.gz |
dconf source abstraction: don't leak the GVDBs
On finalize, the GVDBs associated with a source weren't being freed.
This means that freeing a DConfClient (or any other DConfEngine user)
would result in leaking of GVDBs.
Diffstat (limited to 'engine')
-rw-r--r-- | engine/dconf-engine-source.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/engine/dconf-engine-source.c b/engine/dconf-engine-source.c index 48cf35c..45ec455 100644 --- a/engine/dconf-engine-source.c +++ b/engine/dconf-engine-source.c @@ -27,6 +27,12 @@ void dconf_engine_source_free (DConfEngineSource *source) { + if (source->values) + gvdb_table_unref (source->values); + + if (source->locks) + gvdb_table_unref (source->locks); + source->vtable->finalize (source); g_free (source->name); g_free (source); |