diff --git a/main/gui/source/window/window.cpp b/main/gui/source/window/window.cpp index 9d5ebd044..bd1fb159d 100644 --- a/main/gui/source/window/window.cpp +++ b/main/gui/source/window/window.cpp @@ -524,14 +524,10 @@ namespace hex { static double popupDelay = -2.0; static u32 displayFrameCount = 0; - static std::unique_ptr currPopup; + static AutoReset> currPopupStorage; static Lang name(""); - AT_FIRST_TIME { - EventImHexClosing::subscribe([] { - currPopup.reset(); - }); - }; + auto &currPopup = *currPopupStorage; if (auto &popups = impl::PopupBase::getOpenPopups(); !popups.empty()) { if (!ImGui::IsPopupOpen(ImGuiID(0), ImGuiPopupFlags_AnyPopupId)) {