diff options
| author | Krzysztof Kosi??ski <tweenk.pl@gmail.com> | 2009-02-26 13:40:18 +0000 |
|---|---|---|
| committer | tweenk <tweenk@users.sourceforge.net> | 2009-02-26 13:40:18 +0000 |
| commit | f70a9f2048cf268a2fcb10d71935e449fd8e44f3 (patch) | |
| tree | 231d2839f6c23670e4af992632c91f6c0335b2b5 /src/preferences.cpp | |
| parent | Remove the svn:executable property from README.ca.txt (diff) | |
| download | inkscape-f70a9f2048cf268a2fcb10d71935e449fd8e44f3.tar.gz inkscape-f70a9f2048cf268a2fcb10d71935e449fd8e44f3.zip | |
Tentative fix for LP bug #168922: don't save prefs n crash handler
(bzr r7376)
Diffstat (limited to 'src/preferences.cpp')
| -rw-r--r-- | src/preferences.cpp | 15 |
1 files changed, 11 insertions, 4 deletions
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; |
