summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/desktop/view/Popup.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/desktop/view/Popup.cpp b/src/desktop/view/Popup.cpp
index 58a16498..87c06e46 100644
--- a/src/desktop/view/Popup.cpp
+++ b/src/desktop/view/Popup.cpp
@@ -9,6 +9,7 @@
#include "../../managers/animation/AnimationManager.hpp"
#include "LayerSurface.hpp"
#include "../../managers/input/InputManager.hpp"
+#include "../../managers/eventLoop/EventLoopManager.hpp"
#include "../../render/Renderer.hpp"
#include "../../render/OpenGL.hpp"
#include <ranges>
@@ -108,8 +109,12 @@ void CPopup::initAllSignals() {
m_alpha->setCallbackOnEnd(
[this](auto) {
if (inert()) {
- g_pHyprRenderer->damageBox(CBox{coordsGlobal(), size()});
- fullyDestroy();
+ g_pEventLoopManager->doLater([p = m_self] {
+ if (!p)
+ return;
+ g_pHyprRenderer->damageBox(CBox{p->coordsGlobal(), p->size()});
+ p->fullyDestroy();
+ });
}
},
false);