]> git.sur5r.net Git - i3/i3/commitdiff
Bugfix: correctly store the config path for using it for I3_CONFIG_PATH later
authorMichael Stapelberg <michael@stapelberg.de>
Sat, 19 Mar 2011 20:50:13 +0000 (21:50 +0100)
committerMichael Stapelberg <michael@stapelberg.de>
Sat, 19 Mar 2011 20:50:13 +0000 (21:50 +0100)
include/config.h
src/config.c
src/main.c

index 57970e285c281823f3d2354dfac4d8f2b0593921..79343ab0fb85ebaf075fd70ecf598e3a4ae368f7 100644 (file)
@@ -22,7 +22,7 @@
 #include "i3.h"
 
 typedef struct Config Config;
-extern const char *saved_configpath;
+extern const char *current_configpath;
 extern Config config;
 extern SLIST_HEAD(modes_head, Mode) modes;
 
index e4a4cac990a47e0eabe540df724554385c34e812..20b077b702c4c8926d15d35690baafd724aaec26 100644 (file)
@@ -19,7 +19,7 @@
 
 #include "all.h"
 
-const char *saved_configpath = NULL;
+const char *current_configpath = NULL;
 Config config;
 struct modes_head modes;
 
@@ -233,19 +233,23 @@ static char *get_config_path() {
  *
  */
 static void parse_configuration(const char *override_configpath) {
+    static const char *saved_configpath = NULL;
 
     if (override_configpath != NULL) {
         saved_configpath = override_configpath;
+        current_configpath = override_configpath;
         parse_file(override_configpath);
         return;
     }
     else if (saved_configpath != NULL) {
+        current_configpath = saved_configpath;
         parse_file(saved_configpath);
         return;
     }
 
     char *path = get_config_path();
     DLOG("Parsing configfile %s\n", path);
+    current_configpath = path;
     parse_file(path);
     free(path);
 }
index bde10aac0e0e99081ff39dbe8e79f60d5be0a1a5..309fdaac29080ada58c30b05460f41ac5c93139a 100644 (file)
@@ -355,7 +355,7 @@ int main(int argc, char *argv[]) {
                         (config.ipc_socket_path != NULL ? strlen(config.ipc_socket_path) : 0),
                         config.ipc_socket_path);
     xcb_change_property(conn, XCB_PROP_MODE_REPLACE, root, A_I3_CONFIG_PATH, A_UTF8_STRING, 8,
-                        strlen(saved_configpath), saved_configpath);
+                        strlen(current_configpath), current_configpath);
 
     keysyms = xcb_key_symbols_alloc(conn);