kwo pushed a commit to branch master.

http://git.enlightenment.org/e16/e16.git/commit/?id=34d1de3984507e5c6caa88e9f1354d0262154aa3

commit 34d1de3984507e5c6caa88e9f1354d0262154aa3
Author: Kim Woelders <k...@woelders.dk>
Date:   Wed May 5 20:01:03 2021 +0200

    FX: Fix cleanup with compositing enabled
---
 src/ecompmgr.c | 13 +++++++++++++
 src/ecompmgr.h |  2 ++
 src/fx.c       |  3 +++
 3 files changed, 18 insertions(+)

diff --git a/src/ecompmgr.c b/src/ecompmgr.c
index 43ee7b3b..4717904e 100644
--- a/src/ecompmgr.c
+++ b/src/ecompmgr.c
@@ -431,6 +431,19 @@ ECompMgrDamageAll(void)
    ECompMgrDamageMerge(Mode_compmgr.rgn_screen);
 }
 
+void
+ECompMgrDamageArea(int x, int y, int w, int h)
+{
+   EX_SrvRegion        rgn;
+
+   if (!Mode_compmgr.active)
+      return;
+
+   rgn = Mode_compmgr.rgn_tmp2;
+   ERegionSetRect(rgn, x, y, w, h);
+   ECompMgrDamageMerge(rgn);
+}
+
 #if ENABLE_SHADOWS
 
 #define M_2PI_F ((float)(2 * M_PI))
diff --git a/src/ecompmgr.h b/src/ecompmgr.h
index 0a94c0fd..f3711e66 100644
--- a/src/ecompmgr.h
+++ b/src/ecompmgr.h
@@ -70,6 +70,8 @@ int                 ECompMgrRender(int dt);
 
 EX_Window           ECompMgrRootWin(void);
 
+void                ECompMgrDamageArea(int x, int y, int w, int h);
+
 EX_SrvRegion        ECompMgrChildClipRegion(void);
 
 #else
diff --git a/src/fx.c b/src/fx.c
index e9a39887..44c4d49d 100644
--- a/src/fx.c
+++ b/src/fx.c
@@ -107,6 +107,9 @@ _FxCleanup(FXData * d, int h)
        EXFreeGC(d->gc1);
 
        EClearArea(d->win, 0, WinGetH(VROOT) - h, WinGetW(VROOT), h);
+#if USE_COMPOSITE
+       ECompMgrDamageArea(0, WinGetH(VROOT) - h, WinGetW(VROOT), h);
+#endif
      }
 }
 

-- 


Reply via email to