[fusion-commits] Animation plugin: Changes to 'master' (8e5615a9cc8d6f319ed62175004a1579eaf6c15e)

cornelius at server.beryl-project.org cornelius at server.beryl-project.org
Tue Jul 10 08:54:39 CEST 2007


New commits:
commit 8e5615a9cc8d6f319ed62175004a1579eaf6c15e
Author: Erkin Bahceci <erkinbah at gmail.com>
Date:   Tue Jul 10 02:52:20 2007 -0400

    Fix Qt3 menu anim interrupt on 1st opening. Pass on resize notify.


 animation.c |   32 +++++++++++++++++++++-----------
 1 files changed, 21 insertions(+), 11 deletions(-)


Modified: fusion/plugins/animation/animation.c
===================================================================
--- fusion/plugins/animation/animation.c
+++ fusion/plugins/animation/animation.c
@@ -3626,19 +3626,29 @@ static void animWindowResizeNotify(CompWindow * w, int dx, int dy, int dwidth, i
     ANIM_SCREEN(w->screen);
     ANIM_WINDOW(w);
 
-    if (isQt4TransientWindow(w)) // QT4 window
-	return;
-
-    if (aw->polygonSet && !aw->animInitialized)
+    // Don't let transient window open anim be interrupted with a resize notify
+    if (!(aw->curWindowEvent == WindowEventCreate &&
+	  (isQt3TransientWindow(w) || isQt4TransientWindow(w) ||
+	   (w->wmType &
+	    (CompWindowTypeDropdownMenuMask |
+	     CompWindowTypePopupMenuMask |
+	     CompWindowTypeMenuMask |
+	     CompWindowTypeTooltipMask |
+	     CompWindowTypeNotificationMask |
+	     CompWindowTypeComboMask |
+	     CompWindowTypeDndMask)))))
     {
-	// to refresh polygon coords
-	freePolygonSet(aw);
-    }
+	if (aw->polygonSet && !aw->animInitialized)
+	{
+	    // to refresh polygon coords
+	    freePolygonSet(aw);
+	}
 
-    if (aw->animRemainingTime > 0)
-    {
-	aw->animRemainingTime = 0;
-	postAnimationCleanup(w, TRUE);
+	if (aw->animRemainingTime > 0)
+	{
+	    aw->animRemainingTime = 0;
+	    postAnimationCleanup(w, TRUE);
+	}
     }
 
     if (aw->model)


More information about the commits mailing list