[PATCH weston 1/3] shell: Don't ping the grab surface
Ander Conselvan de Oliveira
ander.conselvan.de.oliveira at intel.com
Mon Jul 16 04:15:48 PDT 2012
If the grab surface happens to be unresponsive, the busy cursor grab
will be started and that will cause the grab surface to receive focus,
which in turn leads to it being pingged again. Break the cycle by not
sending pings to it. If the shell is unresponsive it won't be able to
set the busy cursor anyway.
---
src/shell.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/src/shell.c b/src/shell.c
index 66c9d64..74d4e1b 100644
--- a/src/shell.c
+++ b/src/shell.c
@@ -918,6 +918,9 @@ ping_handler(struct weston_surface *surface, uint32_t serial)
if (!shsurf->resource.client)
return;
+ if (shsurf->surface == shsurf->shell->grab_surface)
+ return;
+
if (!shsurf->ping_timer) {
shsurf->ping_timer = malloc(sizeof *shsurf->ping_timer);
if (!shsurf->ping_timer)
--
1.7.4.1
More information about the wayland-devel
mailing list