diff options
author | Richard Grenville <pyxlcy@gmail.com> | 2014-11-30 15:39:07 +0800 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2015-01-24 16:19:43 +0100 |
commit | 7034296d83ef1a328f5e90ea65c0d77453b6a707 (patch) | |
tree | 5085598b107807aa21ef8e0fb6ceece0fa126788 /twin/compton-tde/compton.c | |
parent | a5535fa1eff0c2266d646accc6d19a9c8c0a6eb9 (diff) | |
download | tdebase-7034296d83ef1a328f5e90ea65c0d77453b6a707.tar.gz tdebase-7034296d83ef1a328f5e90ea65c0d77453b6a707.zip |
Bug fix: --no-fading-openclose doesn't work when fading out
- Fix the bug that --no-fading-openclose doesn not work when fading out
by writing w->fade_last as well in win_determine_fade().
- Write w->fade_last for applying w->fade_force, as well.
(cherry picked from commit 2dff937b31aa3753dca28fdda741be5d1da25088)
Diffstat (limited to 'twin/compton-tde/compton.c')
-rw-r--r-- | twin/compton-tde/compton.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/twin/compton-tde/compton.c b/twin/compton-tde/compton.c index ad310538b..30537b786 100644 --- a/twin/compton-tde/compton.c +++ b/twin/compton-tde/compton.c @@ -3009,32 +3009,32 @@ calc_dim(session_t *ps, win *w) { */ static void win_determine_fade(session_t *ps, win *w) { + // To prevent it from being overwritten by last-paint value if the window is + // unmapped on next frame, write w->fade_last as well if (UNSET != w->fade_force) { #ifdef DEBUG_FADE printf_dbgf("(%#010lx): fade forced\n", w->id); #endif - w->fade = w->fade_force; + w->fade_last = w->fade = w->fade_force; } else if (ps->o.no_fading_openclose && (w->in_openclose || w->destroyed)) { #ifdef DEBUG_FADE printf_dbgf("(): no_fading_openclose and in_openclose\n"); #endif - w->fade = false; + w->fade_last = w->fade = false; } else if (ps->o.no_fading_opacitychange && (!w->in_openclose)) { #ifdef DEBUG_FADE printf_dbgf("(): no_fading_opacitychange and !in_openclose\n"); #endif - w->fade = false; + w->fade_last = w->fade = false; } else if (ps->o.no_fading_destroyed_argb && w->destroyed && WMODE_ARGB == w->mode && w->client_win && w->client_win != w->id) { #ifdef DEBUG_FADE printf_dbgf("(): no_fading_destroyed_argb\n"); #endif - w->fade = false; - // Prevent it from being overwritten by last-paint value - w->fade_last = false; + w->fade_last = w->fade = false; } // Ignore other possible causes of fading state changes after window // gets unmapped |