[PATCH weston] desktop-shell: don't crash input-panel if no kbd focus
Pekka Paalanen
ppaalanen at gmail.com
Thu Nov 20 00:25:17 PST 2014
From: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
If a keyboard exists but it has no current focus, yet something asks the
input-panel to come up, we would crash here. Check that there is a focus
before attempting to use it.
Maybe there should not even exist a case where input-panel tries to come
up without a keyboard focus, but I am not sure there is no race where it
could happen.
In any case, this fix was brought up by the ivi-shell work, where I
suppose you can somehow hit it.
Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Cc: Tanibata, Nobuhiko <ntanibata at jp.adit-jv.com>
---
desktop-shell/input-panel.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/desktop-shell/input-panel.c b/desktop-shell/input-panel.c
index 435cd5d..0b42c2f 100644
--- a/desktop-shell/input-panel.c
+++ b/desktop-shell/input-panel.c
@@ -66,7 +66,7 @@ show_input_panel_surface(struct input_panel_surface *ipsurf)
float x, y;
wl_list_for_each(seat, &shell->compositor->seat_list, link) {
- if (!seat->keyboard)
+ if (!seat->keyboard || !seat->keyboard->focus)
continue;
focus = weston_surface_get_main_surface(seat->keyboard->focus);
ipsurf->output = focus->output;
--
2.0.4
More information about the wayland-devel
mailing list