|  |  | @ -178,6 +178,11 @@ void wlr_output_update_mode(struct wlr_output *output, | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | void wlr_output_update_custom_mode(struct wlr_output *output, int32_t width, |  |  |  | void wlr_output_update_custom_mode(struct wlr_output *output, int32_t width, | 
			
		
	
		
		
			
				
					
					|  |  |  | 		int32_t height, int32_t refresh) { |  |  |  | 		int32_t height, int32_t refresh) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	if (output->width == width && output->height == height && | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			output->refresh == refresh) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		return; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	output->width = width; |  |  |  | 	output->width = width; | 
			
		
	
		
		
			
				
					
					|  |  |  | 	output->height = height; |  |  |  | 	output->height = height; | 
			
		
	
		
		
			
				
					
					|  |  |  | 	wlr_output_update_matrix(output); |  |  |  | 	wlr_output_update_matrix(output); | 
			
		
	
	
		
		
			
				
					|  |  | @ -563,7 +568,7 @@ void wlr_output_update_needs_swap(struct wlr_output *output) { | 
			
		
	
		
		
			
				
					
					|  |  |  | 	wlr_signal_emit_safe(&output->events.needs_swap, output); |  |  |  | 	wlr_signal_emit_safe(&output->events.needs_swap, output); | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | static void output_damage_whole(struct wlr_output *output) { |  |  |  | void wlr_output_damage_whole(struct wlr_output *output) { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 	int width, height; |  |  |  | 	int width, height; | 
			
		
	
		
		
			
				
					
					|  |  |  | 	wlr_output_transformed_resolution(output, &width, &height); |  |  |  | 	wlr_output_transformed_resolution(output, &width, &height); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -577,7 +582,7 @@ static void output_fullscreen_surface_reset(struct wlr_output *output) { | 
			
		
	
		
		
			
				
					
					|  |  |  | 		wl_list_remove(&output->fullscreen_surface_commit.link); |  |  |  | 		wl_list_remove(&output->fullscreen_surface_commit.link); | 
			
		
	
		
		
			
				
					
					|  |  |  | 		wl_list_remove(&output->fullscreen_surface_destroy.link); |  |  |  | 		wl_list_remove(&output->fullscreen_surface_destroy.link); | 
			
		
	
		
		
			
				
					
					|  |  |  | 		output->fullscreen_surface = NULL; |  |  |  | 		output->fullscreen_surface = NULL; | 
			
		
	
		
		
			
				
					
					|  |  |  | 		output_damage_whole(output); |  |  |  | 		wlr_output_damage_whole(output); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -591,7 +596,7 @@ static void output_fullscreen_surface_handle_commit( | 
			
		
	
		
		
			
				
					
					|  |  |  | 			output->fullscreen_height != surface->current->height) { |  |  |  | 			output->fullscreen_height != surface->current->height) { | 
			
		
	
		
		
			
				
					
					|  |  |  | 		output->fullscreen_width = surface->current->width; |  |  |  | 		output->fullscreen_width = surface->current->width; | 
			
		
	
		
		
			
				
					
					|  |  |  | 		output->fullscreen_height = surface->current->height; |  |  |  | 		output->fullscreen_height = surface->current->height; | 
			
		
	
		
		
			
				
					
					|  |  |  | 		output_damage_whole(output); |  |  |  | 		wlr_output_damage_whole(output); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 		return; |  |  |  | 		return; | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -627,7 +632,7 @@ void wlr_output_set_fullscreen_surface(struct wlr_output *output, | 
			
		
	
		
		
			
				
					
					|  |  |  | 	output_fullscreen_surface_reset(output); |  |  |  | 	output_fullscreen_surface_reset(output); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	output->fullscreen_surface = surface; |  |  |  | 	output->fullscreen_surface = surface; | 
			
		
	
		
		
			
				
					
					|  |  |  | 	output_damage_whole(output); |  |  |  | 	wlr_output_damage_whole(output); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	if (surface == NULL) { |  |  |  | 	if (surface == NULL) { | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return; |  |  |  | 		return; | 
			
		
	
	
		
		
			
				
					|  |  | 
 |