mirror of
				https://gitlab.freedesktop.org/wlroots/wlroots.git
				synced 2025-11-03 09:01:40 -05:00 
			
		
		
		
	xdg-popup: Handle inert seats
According to the protocol text, the popup will be immediately dismissed when the grab is rejected. Because the grab can't be executed with a destroyed seat, the popup is dismissed when one is provided.
This commit is contained in:
		
							parent
							
								
									0601813ab6
								
							
						
					
					
						commit
						07e27ba854
					
				
					 1 changed files with 4 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -274,6 +274,10 @@ static void xdg_popup_handle_grab(struct wl_client *client,
 | 
			
		|||
 | 
			
		||||
	struct wlr_seat_client *seat_client =
 | 
			
		||||
		wlr_seat_client_from_resource(seat_resource);
 | 
			
		||||
	if (seat_client == NULL) {
 | 
			
		||||
		wlr_surface_destroy_role_object(popup->base->surface);
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
	if (popup->sent_initial_configure) {
 | 
			
		||||
		wl_resource_post_error(popup->resource,
 | 
			
		||||
			XDG_POPUP_ERROR_INVALID_GRAB,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue