diff options
| author | Dana Jansens <danakj@orodu.net> | 2002-04-19 07:50:02 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2002-04-19 07:50:02 +0000 |
| commit | 7440ad2e6fe345d0fbc037c690913705bc351e68 (patch) | |
| tree | e13b5b835e188a9c3f8a28a7b9b3850ee0def97e | |
| parent | 940c1f614fa380a9153c3b81d0614201b27957c2 (diff) | |
starting openbox without an rc file now works. it makes an empty Xrm db instead of crashing :)
| -rw-r--r-- | src/Resource.cc | 7 | ||||
| -rw-r--r-- | src/Resource.h | 1 | ||||
| -rw-r--r-- | src/openbox.cc | 2 |
3 files changed, 9 insertions, 1 deletions
diff --git a/src/Resource.cc b/src/Resource.cc index cff9bd38..2a678f89 100644 --- a/src/Resource.cc +++ b/src/Resource.cc @@ -85,6 +85,13 @@ bool Resource::load() { return true; } +void Resource::create() { + if (m_database != NULL) + XrmDestroyDatabase(m_database); + m_modified = false; + ASSERT(NULL != (m_database = XrmGetStringDatabase(""))); +} + void Resource::setValue(const std::string &rname, bool value) { ASSERT(m_database != NULL); diff --git a/src/Resource.h b/src/Resource.h index 726755f3..7d792494 100644 --- a/src/Resource.h +++ b/src/Resource.h @@ -50,6 +50,7 @@ public: void save(); bool load(); + void create(); void setValue(const std::string &rname, bool value); void setValue(const std::string &rname, int value); diff --git a/src/openbox.cc b/src/openbox.cc index dff68102..86baec6e 100644 --- a/src/openbox.cc +++ b/src/openbox.cc @@ -1001,7 +1001,7 @@ void Openbox::save() { void Openbox::load() { if (!config.load()) - return; + config.create(); std::string s; long l; |
