diff options
| -rw-r--r-- | types/scene/wlr_scene.c | 11 | 
1 files changed, 4 insertions, 7 deletions
| diff --git a/types/scene/wlr_scene.c b/types/scene/wlr_scene.c index 4004b500..2d3dccde 100644 --- a/types/scene/wlr_scene.c +++ b/types/scene/wlr_scene.c @@ -528,14 +528,11 @@ struct wlr_scene_node *wlr_scene_node_at(struct wlr_scene_node *node,  		struct wlr_scene_surface *scene_surface = wlr_scene_surface_from_node(node);  		intersects = wlr_surface_point_accepts_input(scene_surface->surface, lx, ly);  		break; -	case WLR_SCENE_NODE_RECT:; -		struct wlr_scene_rect *rect = scene_rect_from_node(node); -		intersects = lx >= 0 && lx < rect->width && ly >= 0 && ly < rect->height; -		break; +	case WLR_SCENE_NODE_RECT:  	case WLR_SCENE_NODE_BUFFER:; -		struct wlr_scene_buffer *scene_buffer = scene_buffer_from_node(node); -		intersects = lx >= 0 && lx < scene_buffer->buffer->width && -			ly >= 0 && ly < scene_buffer->buffer->height; +		int width, height; +		scene_node_get_size(node, &width, &height); +		intersects = lx >= 0 && lx < width && ly >= 0 && ly < height;  		break;  	} | 
