mirror of
				https://github.com/swaywm/sway.git
				synced 2025-11-03 09:01:43 -05:00 
			
		
		
		
	Merge pull request #2890 from mihaicmn/create-default-seat
Fix crash when defaut seat is not created
This commit is contained in:
		
						commit
						cafb1ff4f7
					
				
					 1 changed files with 5 additions and 11 deletions
				
			
		| 
						 | 
					@ -30,6 +30,10 @@ struct sway_seat *input_manager_current_seat(void) {
 | 
				
			||||||
	return seat;
 | 
						return seat;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct sway_seat *input_manager_get_default_seat(void) {
 | 
				
			||||||
 | 
						return input_manager_get_seat(DEFAULT_SEAT);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct sway_seat *input_manager_get_seat(const char *seat_name) {
 | 
					struct sway_seat *input_manager_get_seat(const char *seat_name) {
 | 
				
			||||||
	struct sway_seat *seat = NULL;
 | 
						struct sway_seat *seat = NULL;
 | 
				
			||||||
	wl_list_for_each(seat, &server.input->seats, link) {
 | 
						wl_list_for_each(seat, &server.input->seats, link) {
 | 
				
			||||||
| 
						 | 
					@ -294,7 +298,7 @@ static void handle_new_input(struct wl_listener *listener, void *data) {
 | 
				
			||||||
	struct sway_seat *seat = NULL;
 | 
						struct sway_seat *seat = NULL;
 | 
				
			||||||
	if (!input_has_seat_configuration()) {
 | 
						if (!input_has_seat_configuration()) {
 | 
				
			||||||
		wlr_log(WLR_DEBUG, "no seat configuration, using default seat");
 | 
							wlr_log(WLR_DEBUG, "no seat configuration, using default seat");
 | 
				
			||||||
		seat = input_manager_get_seat(DEFAULT_SEAT);
 | 
							seat = input_manager_get_default_seat();
 | 
				
			||||||
		seat_add_device(seat, input_device);
 | 
							seat_add_device(seat, input_device);
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					@ -517,16 +521,6 @@ void input_manager_configure_xcursor(void) {
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct sway_seat *input_manager_get_default_seat(void) {
 | 
					 | 
				
			||||||
	struct sway_seat *seat = NULL;
 | 
					 | 
				
			||||||
	wl_list_for_each(seat, &server.input->seats, link) {
 | 
					 | 
				
			||||||
		if (strcmp(seat->wlr_seat->name, DEFAULT_SEAT) == 0) {
 | 
					 | 
				
			||||||
			return seat;
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return seat;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
struct input_config *input_device_get_config(struct sway_input_device *device) {
 | 
					struct input_config *input_device_get_config(struct sway_input_device *device) {
 | 
				
			||||||
	struct input_config *wildcard_config = NULL;
 | 
						struct input_config *wildcard_config = NULL;
 | 
				
			||||||
	struct input_config *input_config = NULL;
 | 
						struct input_config *input_config = NULL;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue