From 1ce11b2802c915b7e4c9c8d7f1d2862982335406 Mon Sep 17 00:00:00 2001 From: Ryan Lortie Date: Mon, 19 Mar 2012 11:24:26 -0400 Subject: dconf engine: don't leak lock table on reload If the system database changes while a program is running make sure we unref the old copy of the lock table (if it exists) before trying to load the new one. --- engine/dconf-engine.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/engine/dconf-engine.c b/engine/dconf-engine.c index 6f5c2af..aedabcf 100644 --- a/engine/dconf-engine.c +++ b/engine/dconf-engine.c @@ -169,6 +169,12 @@ dconf_engine_refresh_system (DConfEngine *engine, { if (engine->gvdbs[i] && !gvdb_table_is_valid (engine->gvdbs[i])) { + if (engine->lock_tables[i]) + { + gvdb_table_unref (engine->lock_tables[i]); + engine->lock_tables[i] = NULL; + } + gvdb_table_unref (engine->gvdbs[i]); engine->gvdbs[i] = NULL; } -- cgit v1.2.1