handle client_from_wlr_surface() receiving a subsurface
This commit is contained in:
parent
48396a1bf8
commit
28af37cd1f
3
client.h
3
client.h
|
@ -30,6 +30,7 @@ static inline Client *
|
||||||
client_from_wlr_surface(struct wlr_surface *s)
|
client_from_wlr_surface(struct wlr_surface *s)
|
||||||
{
|
{
|
||||||
struct wlr_xdg_surface *surface;
|
struct wlr_xdg_surface *surface;
|
||||||
|
struct wlr_surface *parent;
|
||||||
|
|
||||||
#ifdef XWAYLAND
|
#ifdef XWAYLAND
|
||||||
struct wlr_xwayland_surface *xsurface;
|
struct wlr_xwayland_surface *xsurface;
|
||||||
|
@ -42,6 +43,8 @@ client_from_wlr_surface(struct wlr_surface *s)
|
||||||
&& surface->role == WLR_XDG_SURFACE_ROLE_TOPLEVEL)
|
&& surface->role == WLR_XDG_SURFACE_ROLE_TOPLEVEL)
|
||||||
return surface->data;
|
return surface->data;
|
||||||
|
|
||||||
|
if (s && wlr_surface_is_subsurface(s))
|
||||||
|
return client_from_wlr_surface(wlr_surface_get_root_surface(s));
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue