diff --git a/apps/openmw/mwgui/windowmanagerimp.cpp b/apps/openmw/mwgui/windowmanagerimp.cpp index a5c3a3b2a..55331d933 100644 --- a/apps/openmw/mwgui/windowmanagerimp.cpp +++ b/apps/openmw/mwgui/windowmanagerimp.cpp @@ -908,8 +908,23 @@ namespace MWGui window->onFrame(frameDuration); } + /* + Start of tes3mp change (major) + + Custom GUI elements added by TES3MP often cause a crash here when their + mMainWidget becomes null, so a temporary fix has been added until a + more appropriate solution is researched + */ if (!mCurrentModals.empty()) - mCurrentModals.back()->onFrame(frameDuration); + { + if (mCurrentModals.back()->mMainWidget != 0) + mCurrentModals.back()->onFrame(frameDuration); + else + mCurrentModals.pop_back(); + } + /* + End of tes3mp change (major) + */ mKeyboardNavigation->onFrame();