diff --git a/src/sp_lev.c b/src/sp_lev.c index 7efbb091a..f2ee11783 100644 --- a/src/sp_lev.c +++ b/src/sp_lev.c @@ -2588,6 +2588,9 @@ fill_special_room(struct mkroom* croom) { int i; + if (!croom) + return; + /* First recurse into subrooms. We don't want to block an ordinary room with * a special subroom from having the subroom filled, or an unfilled outer * room preventing a special subroom from being filled. */ @@ -2595,7 +2598,7 @@ fill_special_room(struct mkroom* croom) fill_special_room(croom->sbrooms[i]); } - if (!croom || croom->rtype == OROOM || croom->rtype == THEMEROOM + if (croom->rtype == OROOM || croom->rtype == THEMEROOM || croom->needfill == FILL_NONE) return;