diff --git a/src/events/Layers.cpp b/src/events/Layers.cpp index 7baeda67..1503f8cb 100644 --- a/src/events/Layers.cpp +++ b/src/events/Layers.cpp @@ -160,6 +160,12 @@ void Events::listener_unmapLayerSurface(void* owner, void* data) { wlr_box geomFixed = {layersurface->geometry.x + PMONITOR->vecPosition.x, layersurface->geometry.y + PMONITOR->vecPosition.y, layersurface->geometry.width, layersurface->geometry.height}; g_pHyprRenderer->damageBox(&geomFixed); + + geomFixed = {layersurface->geometry.x + (int)PMONITOR->vecPosition.x, layersurface->geometry.y + (int)PMONITOR->vecPosition.y, (int)layersurface->layerSurface->surface->current.width, (int)layersurface->layerSurface->surface->current.height}; + g_pHyprRenderer->damageBox(&geomFixed); + + geomFixed = {layersurface->geometry.x, layersurface->geometry.y, (int)layersurface->layerSurface->surface->current.width, (int)layersurface->layerSurface->surface->current.height}; + layersurface->geometry = geomFixed; // because the surface can overflow... for some reason? } void Events::listener_commitLayerSurface(void* owner, void* data) {