[beryl-commits] r4312 - trunk/beryl-plugins/src

cornelius at server.beryl-project.org cornelius at server.beryl-project.org
Wed Feb 28 04:53:12 CET 2007


Author: cornelius
Date: 2007-02-28 04:53:12 +0100 (Wed, 28 Feb 2007)
New Revision: 4312

Modified:
   trunk/beryl-plugins/src/animation.c
Log:
plugins/animation: Fixed another crash.


Modified: trunk/beryl-plugins/src/animation.c
===================================================================
--- trunk/beryl-plugins/src/animation.c	2007-02-27 22:28:44 UTC (rev 4311)
+++ trunk/beryl-plugins/src/animation.c	2007-02-28 03:53:12 UTC (rev 4312)
@@ -8215,11 +8215,13 @@
 					IPCS_GetBoolND(IPCS_OBJECT(s), "SWITCHER_IS_ACTIVE", FALSE))
 					continue;
 
-				Bool windowAboveFocusFading = FALSE;
-				AnimWindow *awNext;
-				if (!aw->the2ndLastNextWin || aw->lastNextWin == aw->the2ndLastNextWin)
+				if (!aw->the2ndLastNextWin || aw->the2ndLastNextWin->destroyed)
+					continue;
+
+				if (aw->lastNextWin == aw->the2ndLastNextWin)
 				{
 					// Check if above window is focus-fading
+					// (like a dialog of an app. window)
 					// if so, focus-fade this too
 					CompWindow *nw;
 					for (nw = w->next; nw; nw = nw->next)
@@ -8229,23 +8231,18 @@
 					}
 					if (nw)
 					{
-						awNext = GET_ANIM_WINDOW(nw, as);
+						AnimWindow *awNext = GET_ANIM_WINDOW(nw, as);
 						if (awNext && awNext->winThisIsPaintedBefore)
 						{
 							awNext->moreToBePaintedPrev = w;
 							aw->moreToBePaintedNext = nw;
-							windowAboveFocusFading = TRUE;
+							initiateFocusAnimation
+								(s, w, awNext->winThisIsPaintedBefore);
 						}
 					}
-					if (!windowAboveFocusFading)
-						continue;
+					continue;
 				}
-
-				if (windowAboveFocusFading)
-					initiateFocusAnimation(s, w,
-										   awNext->winThisIsPaintedBefore);
-				else
-					initiateFocusAnimation(s, w, aw->the2ndLastNextWin);
+				initiateFocusAnimation(s, w, aw->the2ndLastNextWin);
 			}
 		}
 	}




More information about the commits mailing list