More fixing for fade-outs.
authorDana Jansens <danakj@orodu.net>
Wed, 20 Feb 2008 06:20:40 +0000 (01:20 -0500)
committerDana Jansens <danakj@orodu.net>
Wed, 20 Feb 2008 16:35:44 +0000 (11:35 -0500)
When a window is destroyed, always override the fade out so that the finish_destroy_win function can be called.
When a ConfigureNotify event is processed on an unmapped window, don't set the clipChanged = True.  Fixes unmap->configure causing flashing during the fade-out.

xcompmgr.c

index 1a942a1..91ee807 100644 (file)
@@ -1669,10 +1669,12 @@ configure_win (Display *dpy, XConfigureEvent *ce)
             XFixesDestroyRegion (dpy, extents);
             add_damage (dpy, damage);
         }
+
+        clipChanged = True;
     }
+
     w->a.override_redirect = ce->override_redirect;
     restack_win (dpy, w, ce->above);
-    clipChanged = True;
 }
 
 static void
@@ -1743,7 +1745,7 @@ destroy_win (Display *dpy, Window id, Bool fade)
 #if HAS_NAME_WINDOW_PIXMAP
     if (w && w->pixmap && fade && winTypeFade[w->windowType])
        set_fade (dpy, w, w->opacity*1.0/OPAQUE, 0.0, fade_out_step,
-                  destroy_callback, False, (w->a.map_state != IsUnmapped));
+                  destroy_callback, False, True);
     else
 #endif
     {