summaryrefslogtreecommitdiff
path: root/src/events/Layers.cpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-07-25 20:47:56 +0200
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-07-25 20:47:56 +0200
commitcde39e0b6eba385d3eab4c524b6de80121c174f5 (patch)
treef7e9b2e05b1e6c48d1a0d79ffb8519bc4a73a9e8 /src/events/Layers.cpp
parentb1d3a1deeaabe7b8de7f6fe908b0d57934f3dfeb (diff)
ls fixes
Diffstat (limited to 'src/events/Layers.cpp')
-rw-r--r--src/events/Layers.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/events/Layers.cpp b/src/events/Layers.cpp
index 50b9b504..b3463d98 100644
--- a/src/events/Layers.cpp
+++ b/src/events/Layers.cpp
@@ -66,7 +66,7 @@ void Events::listener_destroyLayerSurface(void* owner, void* data) {
if (!g_pCompositor->getMonitorFromID(layersurface->monitorID))
Debug::log(WARN, "Layersurface destroyed on an invalid monitor (removed?)");
- if (!layersurface->fadingOut && PMONITOR) {
+ if (!layersurface->fadingOut) {
if (layersurface->mapped) {
Debug::log(LOG, "Forcing an unmap of a LS that did a straight destroy!");
listener_unmapLayerSurface(layersurface, nullptr);
@@ -157,6 +157,14 @@ void Events::listener_unmapLayerSurface(void* owner, void* data) {
if (!g_pCompositor->getMonitorFromID(layersurface->monitorID)) {
Debug::log(WARN, "Layersurface unmapping on invalid monitor (removed?) ignoring.");
+
+ g_pCompositor->m_vSurfacesFadingOut.push_back(layersurface);
+
+ layersurface->mapped = false;
+
+ layersurface->fadingOut = true;
+
+ layersurface->alpha.setValueAndWarp(0.f);
return;
}