mirror of
https://github.com/brl/mutter.git
synced 2025-04-16 07:09:38 +00:00
pointer: Make nested grabs work
Something noticed on code inspection. If we have a popup grab, it will always return FALSE. The code here clearly meant to continue if we had an existing popup grab from an existing client.
This commit is contained in:
parent
be16c2fe71
commit
756a412436
@ -589,17 +589,15 @@ meta_wayland_pointer_start_popup_grab (MetaWaylandPointer *pointer,
|
|||||||
|
|
||||||
if (pointer->grab != &pointer->default_grab)
|
if (pointer->grab != &pointer->default_grab)
|
||||||
{
|
{
|
||||||
if (pointer->grab->interface == &popup_grab_interface)
|
if (pointer->grab->interface != &popup_grab_interface)
|
||||||
{
|
return FALSE;
|
||||||
|
|
||||||
grab = (MetaWaylandPopupGrab*)pointer->grab;
|
grab = (MetaWaylandPopupGrab*)pointer->grab;
|
||||||
|
|
||||||
if (wl_resource_get_client (surface->resource) != grab->grab_client)
|
if (wl_resource_get_client (surface->resource) != grab->grab_client)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (pointer->grab == &pointer->default_grab)
|
if (pointer->grab == &pointer->default_grab)
|
||||||
{
|
{
|
||||||
grab = g_slice_new0 (MetaWaylandPopupGrab);
|
grab = g_slice_new0 (MetaWaylandPopupGrab);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user