mirror of
				https://github.com/swaywm/sway.git
				synced 2025-11-03 09:01:43 -05:00 
			
		
		
		
	load_main_config: use given path, store realpath
Since `load_include_config` compares against the realpath of a config file when checking if a config has already been added, the main config's realpath has to be added to the config_chain. However, includes from the main config should be processed relative to the path given to allow for symbolic links. This stores the realpath in `config->config_chain`, but uses the given path for all other operations.
This commit is contained in:
		
							parent
							
								
									ee56428b64
								
							
						
					
					
						commit
						5a32a74b2d
					
				
					 1 changed files with 2 additions and 3 deletions
				
			
		| 
						 | 
					@ -385,7 +385,6 @@ bool load_main_config(const char *file, bool is_active, bool validating) {
 | 
				
			||||||
		free(path);
 | 
							free(path);
 | 
				
			||||||
		return false;
 | 
							return false;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	free(path);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	struct sway_config *old_config = config;
 | 
						struct sway_config *old_config = config;
 | 
				
			||||||
	config = calloc(1, sizeof(struct sway_config));
 | 
						config = calloc(1, sizeof(struct sway_config));
 | 
				
			||||||
| 
						 | 
					@ -409,7 +408,7 @@ bool load_main_config(const char *file, bool is_active, bool validating) {
 | 
				
			||||||
		input_manager_reset_all_inputs();
 | 
							input_manager_reset_all_inputs();
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	config->current_config_path = real_path;
 | 
						config->current_config_path = path;
 | 
				
			||||||
	list_add(config->config_chain, real_path);
 | 
						list_add(config->config_chain, real_path);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	config->reading = true;
 | 
						config->reading = true;
 | 
				
			||||||
| 
						 | 
					@ -462,7 +461,7 @@ bool load_main_config(const char *file, bool is_active, bool validating) {
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	*/
 | 
						*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	success = success && load_config(real_path, config,
 | 
						success = success && load_config(path, config,
 | 
				
			||||||
			&config->swaynag_config_errors);
 | 
								&config->swaynag_config_errors);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (validating) {
 | 
						if (validating) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue