Found the source of the growing style file bug (and fixed it)

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@645 0fc631ac-6414-0410-93d0-97cfa31319b6
This commit is contained in:
twanvl
2007-08-29 15:51:04 +00:00
parent 0a2a031d74
commit e200c6839a
4 changed files with 21 additions and 0 deletions
+12
View File
@@ -16,6 +16,7 @@
#include <util/platform.hpp>
#include <util/io/reader.hpp>
#include <util/io/writer.hpp>
#include <util/delayed_index_maps.hpp>
#include <wx/filename.h>
#include <wx/wfstream.h>
#include <wx/stdpaths.h>
@@ -218,7 +219,18 @@ IMPLEMENT_REFLECTION_NO_SCRIPT(Settings) {
REFLECT(export_options);
}
void Settings::clear() {
recent_sets.clear();
game_settings.clear();
stylesheet_settings.clear();
default_stylesheet_settings = StyleSheetSettings();
export_options.clear();
}
void Settings::read() {
// clear current settings, otherwise we duplicate vector elements
clear();
// (re)load settings
String filename = settingsFile();
if (wxFileExists(filename)) {
// settings file not existing is not an error
+2
View File
@@ -171,6 +171,8 @@ class Settings {
private:
/// Name of the settings file
String settingsFile();
/// Clear settings before reading them
void clear();
DECLARE_REFLECTION();
};
+5
View File
@@ -32,6 +32,11 @@ IndexMap<Key,Value>& DelayedIndexMaps<Key,Value>::get(const String& name, const
return item->read_data;
}
template <typename Key, typename Value>
void DelayedIndexMaps<Key,Value>::clear() {
data.clear();
}
// ----------------------------------------------------------------------------- : Reflection
// custom reflection : it's a template class
+2
View File
@@ -148,6 +148,8 @@ class DelayedIndexMaps {
public:
/// Get the data for a specific name. Initialize the map with init_with (if it is not alread initialized)
IndexMap<Key,Value>& get(const String& name, const vector<Key>& init_with);
/// Clear the delayed index map
void clear();
private:
map<String, intrusive_ptr<DelayedIndexMapsData<Key,Value> > > data;
friend class Reader;