]> Dogcows Code - chaz/openbox/commitdiff
real_reconfigure now using obResource instead of teh XrmDatabase calls.
authorDana Jansens <danakj@orodu.net>
Fri, 12 Apr 2002 06:11:31 +0000 (06:11 +0000)
committerDana Jansens <danakj@orodu.net>
Fri, 12 Apr 2002 06:11:31 +0000 (06:11 +0000)
obResource class calls XrmInitialize().

src/Resource.cc
src/Resource.h
src/openbox.cc

index b360521808cc72a93b760bd86cdde179cff64487..1f6f84380528ff2ddbb2bdc6f6b0c1f839504e17 100644 (file)
 
 #include <assert.h>
 
+bool obResource::m_initialized = false;
+
 obResource::obResource(const std::string &file) {
   setFile(file);
   m_modified = false;
   m_database = NULL;
   m_autosave = true;
+  if (!m_initialized) {
+    XrmInitialize();
+    m_initialized = true;
+  }
 }
 
 obResource::obResource() {
   m_modified = false;
   m_database = NULL;
   m_autosave = true;
+  if (!m_initialized) {
+    XrmInitialize();
+    m_initialized = true;
+  }
 }
 
 obResource::~obResource() {
index 985e29d8a1495837c9a780ce63dbd08fe2962f87..912ae75377b725604159f51789799dbfbf89be9f 100644 (file)
@@ -65,6 +65,7 @@ public:
                 std::string &value) const;
 
 private:
+  static bool m_initialized;
   std::string m_file;
   bool m_modified;
   bool m_autosave;
index 2f41fcbb89a346cd75327f5da20e224354799e1d..55c07acd9272f535810fc20d124a8ed1923b0877 100644 (file)
@@ -197,7 +197,6 @@ Openbox::Openbox(int m_argc, char **m_argv, char *dpy_name, char *rc)
 
   menuTimestamps = new LinkedList<MenuTimestamp>;
 
-  XrmInitialize();
   load_rc();
 
 #ifdef    HAVE_GETPID
@@ -1491,18 +1490,9 @@ void Openbox::reconfigure(void) {
 void Openbox::real_reconfigure(void) {
   grab();
 
-  XrmDatabase new_openboxrc = (XrmDatabase) 0;
-  char style[MAXPATHLEN + 64];
-
-  sprintf(style, "session.styleFile: %s", resource.style_file);
-  XrmPutLineResource(&new_openboxrc, style);
-
-  XrmDatabase old_openboxrc = XrmGetFileDatabase(rc_file);
-
-  XrmMergeDatabases(new_openboxrc, &old_openboxrc);
-  XrmPutFileDatabase(old_openboxrc, rc_file);
-  if (old_openboxrc) XrmDestroyDatabase(old_openboxrc);
-
+  config.load();
+  config.setValue("session.styleFile", resource.style_file);    // autosave's
+  
   for (int i = 0, n = menuTimestamps->count(); i < n; i++) {
     MenuTimestamp *ts = menuTimestamps->remove(0);
 
This page took 0.024299 seconds and 4 git commands to generate.