From f70a9f2048cf268a2fcb10d71935e449fd8e44f3 Mon Sep 17 00:00:00 2001 From: Krzysztof Kosi??ski Date: Thu, 26 Feb 2009 13:40:18 +0000 Subject: Tentative fix for LP bug #168922: don't save prefs n crash handler (bzr r7376) --- src/preferences.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'src/preferences.cpp') diff --git a/src/preferences.cpp b/src/preferences.cpp index ea3c015ef..16b775b34 100644 --- a/src/preferences.cpp +++ b/src/preferences.cpp @@ -73,10 +73,7 @@ Preferences::Preferences() : } Preferences::~Preferences() -{ - // when the preferences are unloaded, save them - save(); - +{ // delete all PrefNodeObservers for (_ObsMap::iterator i = _observer_map.begin(); i != _observer_map.end(); ) { delete (*i++).second; // avoids reference to a deleted key @@ -637,6 +634,16 @@ Preferences::Entry const Preferences::_create_pref_value(Glib::ustring const &pa return Entry(path, ptr); } +void Preferences::unload(bool save) +{ + if(_instance) + { + if (save) _instance->save(); + delete _instance; + _instance = NULL; + } +} + Preferences *Preferences::_instance = NULL; -- cgit v1.2.3