From bf762f566f1c8c5e9c636f0d1ad4e485ad322da9 Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Tue, 12 Jul 2022 23:11:34 +0200 Subject: Fix VRAM memory leak when releasing snapshots --- src/events/Monitors.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/events/Monitors.cpp') diff --git a/src/events/Monitors.cpp b/src/events/Monitors.cpp index d523aeb3..cf7e4b49 100644 --- a/src/events/Monitors.cpp +++ b/src/events/Monitors.cpp @@ -186,7 +186,6 @@ void Events::listener_monitorFrame(void* owner, void* data) { if (PMONITOR->ID == pMostHzMonitor->ID || !*PNOVFR) { // unfortunately with VFR we don't have the guarantee mostHz is going to be updated all the time, so we have to ignore that g_pCompositor->sanityCheckWorkspaces(); g_pAnimationManager->tick(); - g_pCompositor->cleanupFadingOut(); HyprCtl::tickHyprCtl(); // so that we dont get that race condition multithread bullshit @@ -229,6 +228,9 @@ void Events::listener_monitorFrame(void* owner, void* data) { return; } + // we need to cleanup fading out when rendering the appropriate context + g_pCompositor->cleanupFadingOut(PMONITOR->ID); + if (!hasChanged && *PDAMAGETRACKINGMODE != DAMAGE_TRACKING_NONE && PMONITOR->forceFullFrames == 0 && damageBlinkCleanup == 0) { pixman_region32_fini(&damage); wlr_output_rollback(PMONITOR->output); -- cgit v1.2.3