mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-28 22:41:43 +00:00
[broadway] Correctly handle ungrabs in the browser side
Always call doUngrab to get the right event, and always do this if the grabbed window is hidden or destroyed.
This commit is contained in:
parent
0098344f84
commit
22c250e324
@ -560,6 +560,9 @@ function cmdShowSurface(id)
|
||||
|
||||
function cmdHideSurface(id)
|
||||
{
|
||||
if (grab.window == id)
|
||||
doUngrab();
|
||||
|
||||
var surface = surfaces[id];
|
||||
|
||||
if (!surface.visible)
|
||||
@ -627,6 +630,9 @@ function moveToTop(surface) {
|
||||
|
||||
function cmdDeleteSurface(id)
|
||||
{
|
||||
if (grab.window == id)
|
||||
doUngrab();
|
||||
|
||||
var surface = surfaces[id];
|
||||
var i = stackingOrder.indexOf(surface);
|
||||
if (i >= 0)
|
||||
@ -714,8 +720,8 @@ function cmdGrabPointer(id, ownerEvents)
|
||||
function cmdUngrabPointer()
|
||||
{
|
||||
sendInput ("u", []);
|
||||
|
||||
grab.window = null;
|
||||
if (grab.window)
|
||||
doUngrab();
|
||||
}
|
||||
|
||||
function handleCommands(cmdObj)
|
||||
@ -1100,7 +1106,7 @@ function onMouseUp (ev) {
|
||||
sendInput ("B", [realWindowWithMouse, id, pos.rootX, pos.rootY, pos.winX, pos.winY, lastState, button]);
|
||||
|
||||
if (grab.window != null && grab.implicit)
|
||||
doUngrab(ev.timeStamp);
|
||||
doUngrab();
|
||||
}
|
||||
|
||||
/* Some of the keyboard handling code is from noVNC and
|
||||
|
Loading…
Reference in New Issue
Block a user