diff --git a/desktop_version/src/editor.cpp b/desktop_version/src/editor.cpp index 28206448..df53ff36 100644 --- a/desktop_version/src/editor.cpp +++ b/desktop_version/src/editor.cpp @@ -1032,7 +1032,17 @@ const edlevelclass* editorclass::getroomprop(const int rx, const int ry) { const int idx = getroompropidx(rx, ry); - return &level[idx]; + if (INBOUNDS_ARR(idx, level)) + { + return &level[idx]; + } + + static edlevelclass blank; + blank.tileset = 1; + blank.directmode = 1; + blank.roomname.clear(); + + return ␣ } #define FOREACH_PROP(NAME, TYPE) \ @@ -1040,6 +1050,11 @@ void editorclass::setroom##NAME(const int rx, const int ry, const TYPE NAME) \ { \ const int idx = getroompropidx(rx, ry); \ \ + if (!INBOUNDS_ARR(idx, level)) \ + { \ + return; \ + } \ + \ level[idx].NAME = NAME; \ }