@ -447,6 +447,7 @@ bool load_main_config(const char *file, bool is_active, bool validating) {
old_config - > xwayland ? " enabled " : " disabled " ) ;
old_config - > xwayland ? " enabled " : " disabled " ) ;
config - > xwayland = old_config - > xwayland ;
config - > xwayland = old_config - > xwayland ;
if ( ! config - > validating ) {
if ( old_config - > swaybg_client ! = NULL ) {
if ( old_config - > swaybg_client ! = NULL ) {
wl_client_destroy ( old_config - > swaybg_client ) ;
wl_client_destroy ( old_config - > swaybg_client ) ;
}
}
@ -457,6 +458,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 = path ;
config - > current_config_path = path ;
list_add ( config - > config_chain , real_path ) ;
list_add ( config - > config_chain , real_path ) ;
@ -520,8 +522,13 @@ bool load_main_config(const char *file, bool is_active, bool validating) {
return success ;
return success ;
}
}
if ( is_active ) {
if ( is_active & & ! validating ) {
input_manager_verify_fallback_seat ( ) ;
input_manager_verify_fallback_seat ( ) ;
for ( int i = 0 ; i < config - > input_configs - > length ; i + + ) {
input_manager_apply_input_config ( config - > input_configs - > items [ i ] ) ;
}
for ( int i = 0 ; i < config - > seat_configs - > length ; i + + ) {
for ( int i = 0 ; i < config - > seat_configs - > length ; i + + ) {
input_manager_apply_seat_config ( config - > seat_configs - > items [ i ] ) ;
input_manager_apply_seat_config ( config - > seat_configs - > items [ i ] ) ;
}
}