From: Nicolas Guyomard Date: Thu, 4 Dec 2014 14:43:22 +0000 (+0100) Subject: Fix show_input_panel_surface crash when no surface has focus X-Git-Tag: submit/tizen/20151116.055554~12 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=115efc16f7081ee7d2428f0844c7d2e5f9a3765d;p=platform%2Fupstream%2Fweston.git Fix show_input_panel_surface crash when no surface has focus Change-Id: Ia5105e9c7173a75ec166db170624fa7c9963820a --- diff --git a/desktop-shell/input-panel.c b/desktop-shell/input-panel.c index ffa3ade1..970747cd 100644 --- a/desktop-shell/input-panel.c +++ b/desktop-shell/input-panel.c @@ -69,10 +69,12 @@ show_input_panel_surface(struct input_panel_surface *ipsurf) if (!seat->keyboard || !seat->keyboard->focus) continue; focus = weston_surface_get_main_surface(seat->keyboard->focus); - ipsurf->output = focus->output; - x = ipsurf->output->x + (ipsurf->output->width - ipsurf->surface->width) / 2; - y = ipsurf->output->y + ipsurf->output->height - ipsurf->surface->height; - weston_view_set_position(ipsurf->view, x, y); + if (focus) { + ipsurf->output = focus->output; + x = ipsurf->output->x + (ipsurf->output->width - ipsurf->surface->width) / 2; + y = ipsurf->output->y + ipsurf->output->height - ipsurf->surface->height; + weston_view_set_position(ipsurf->view, x, y); + } } weston_layer_entry_insert(&shell->input_panel_layer.view_list,