desktop-shell: don't assume there's a pointer when mapping a popup
diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
index 3c3649c..5a613f1 100644
--- a/desktop-shell/shell.c
+++ b/desktop-shell/shell.c
@@ -3116,7 +3116,8 @@
weston_view_set_position(shsurf->view, shsurf->popup.x, shsurf->popup.y);
weston_view_update_transform(shsurf->view);
- if (shseat->seat->pointer->grab_serial == shsurf->popup.serial) {
+ if (shseat->seat->pointer &&
+ shseat->seat->pointer->grab_serial == shsurf->popup.serial) {
add_popup_grab(shsurf, shseat);
} else {
shell_surface_send_popup_done(shsurf);