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 } } --