From 8de39e769c6aa43ee4d0b1604d1999ebea23be72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20M=C3=BCller?= Date: Sat, 8 Jul 2023 11:00:24 +0200 Subject: [PATCH 1/3] Remove dead code of removed undo feature --- src/game/editor/editor.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/game/editor/editor.cpp b/src/game/editor/editor.cpp index 157cb18a6c7..07ab04d2ca7 100644 --- a/src/game/editor/editor.cpp +++ b/src/game/editor/editor.cpp @@ -6579,10 +6579,6 @@ void CEditor::Reset(bool CreateDefault) { m_Map.Clean(); - //delete undo file - char aBuffer[1024]; - m_pStorage->GetCompletePath(IStorage::TYPE_SAVE, "editor/", aBuffer, sizeof(aBuffer)); - mem_zero(m_apSavedBrushes, sizeof m_apSavedBrushes); // create default layers From 2cc03a144455e0324ce6cca95d112316059a185c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20M=C3=BCller?= Date: Sat, 8 Jul 2023 11:03:11 +0200 Subject: [PATCH 2/3] Closes all popup menus when loading map in editor The targets of many popup menus become invalid when loading or creating a new map with the editor hotkeys, so all popup menus have to be closed in this case, otherwise this can cause crashes with several different popups. --- src/game/editor/editor.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/game/editor/editor.cpp b/src/game/editor/editor.cpp index 07ab04d2ca7..137e998f135 100644 --- a/src/game/editor/editor.cpp +++ b/src/game/editor/editor.cpp @@ -6577,6 +6577,7 @@ void CEditor::RenderMousePointer() void CEditor::Reset(bool CreateDefault) { + UI()->ClosePopupMenus(); m_Map.Clean(); mem_zero(m_apSavedBrushes, sizeof m_apSavedBrushes); From fa65e19c5dea01ecd963f7a51dc27328c302e7c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20M=C3=BCller?= Date: Sat, 8 Jul 2023 11:40:43 +0200 Subject: [PATCH 3/3] Close quad point popup when selected quad or quad index invalid --- src/game/editor/popups.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/game/editor/popups.cpp b/src/game/editor/popups.cpp index b4ec8ae4034..7584f5a9727 100644 --- a/src/game/editor/popups.cpp +++ b/src/game/editor/popups.cpp @@ -1199,6 +1199,8 @@ CUI::EPopupMenuFunctionResult CEditor::PopupPoint(void *pContext, CUIRect View, { CEditor *pEditor = static_cast(pContext); std::vector vpQuads = pEditor->GetSelectedQuads(); + if(!in_range(pEditor->m_SelectedQuadIndex, 0, vpQuads.size() - 1)) + return CUI::POPUP_CLOSE_CURRENT; CQuad *pCurrentQuad = vpQuads[pEditor->m_SelectedQuadIndex]; enum