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);