shell: Do not crash when hiding input_panel
Allow an input panel to attach a NULL-buffer for hiding. Signed-off-by: Jan Arne Petersen <jpetersen@openismus.com>
This commit is contained in:
parent
3fb6e71814
commit
af7b6c9c6d
12
src/shell.c
12
src/shell.c
|
@ -3260,11 +3260,17 @@ bind_screensaver(struct wl_client *client,
|
||||||
static void
|
static void
|
||||||
input_panel_configure(struct weston_surface *surface, int32_t sx, int32_t sy)
|
input_panel_configure(struct weston_surface *surface, int32_t sx, int32_t sy)
|
||||||
{
|
{
|
||||||
struct weston_mode *mode = surface->output->current;
|
struct weston_mode *mode;
|
||||||
int32_t width = weston_surface_buffer_width(surface);
|
int32_t width = weston_surface_buffer_width(surface);
|
||||||
int32_t height = weston_surface_buffer_height(surface);
|
int32_t height = weston_surface_buffer_height(surface);
|
||||||
float x = (mode->width - width) / 2;
|
float x, y;
|
||||||
float y = mode->height - height;
|
|
||||||
|
if (!weston_surface_is_mapped(surface))
|
||||||
|
return;
|
||||||
|
|
||||||
|
mode = surface->output->current;
|
||||||
|
x = (mode->width - width) / 2;
|
||||||
|
y = mode->height - height;
|
||||||
|
|
||||||
/* Don't map the input panel here, wait for
|
/* Don't map the input panel here, wait for
|
||||||
* show_input_panels signal. */
|
* show_input_panels signal. */
|
||||||
|
|
Loading…
Reference in New Issue