shell: don't crash on create_common_surface() failure

Noticed while reading code, that create_common_surface() may return
NULL, and callers of its direct callers check for NULL, but the
intermediate function in between would crash.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
This commit is contained in:
Pekka Paalanen 2014-10-01 14:03:56 +03:00
parent ef2b592ad4
commit e972b27f34

View file

@ -3879,6 +3879,9 @@ create_xdg_surface(struct shell_client *owner, void *shell,
struct shell_surface *shsurf;
shsurf = create_common_surface(owner, shell, surface, client);
if (!shsurf)
return NULL;
shsurf->type = SHELL_SURFACE_TOPLEVEL;
return shsurf;
@ -3963,6 +3966,9 @@ create_xdg_popup(struct shell_client *owner, void *shell,
struct shell_surface *shsurf;
shsurf = create_common_surface(owner, shell, surface, client);
if (!shsurf)
return NULL;
shsurf->type = SHELL_SURFACE_POPUP;
shsurf->popup.shseat = seat;
shsurf->popup.serial = serial;