SOURCES: compiz-wobbly.patch (NEW) Dirty hack fixing jerky wobbly ...

wolf wolf at pld-linux.org
Tue Feb 21 04:36:47 CET 2006


Author: wolf                         Date: Tue Feb 21 03:36:47 2006 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
Dirty hack fixing jerky wobbly windows.
http://lists.freedesktop.org/archives/xorg/2006-February/013042.html

---- Files affected:
SOURCES:
   compiz-wobbly.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/compiz-wobbly.patch
diff -u /dev/null SOURCES/compiz-wobbly.patch:1.1
--- /dev/null	Tue Feb 21 04:36:47 2006
+++ SOURCES/compiz-wobbly.patch	Tue Feb 21 04:36:41 2006
@@ -0,0 +1,140 @@
+--- wobbly.c	2006-02-16 23:17:25.000000000 +0000
++++ plugins/wobbly.c	2006-02-17 14:59:30.000000000 +0000
+@@ -1687,6 +1687,7 @@
+ 
+ 	    if (ww->wobbly)
+ 	    {
++			damagePendingOnScreen (w->screen); //aa
+ 		if (ww->wobbly & (WobblyInitial | WobblyVelocity))
+ 		{
+ 		    model = ww->model;
+@@ -1958,6 +1959,7 @@
+ 	    }
+ 	    vertices -= 2;
+ 	    glTexCoordPointer (2, GL_FLOAT, stride, vertices);
++		damagePendingOnScreen (w->screen); //aa	
+ 	}
+ 
+ 	glDrawElements (GL_QUADS, w->vCount, GL_UNSIGNED_SHORT, w->indices);
+@@ -1965,7 +1967,7 @@
+     else
+     {
+ 	WOBBLY_SCREEN (w->screen);
+-
++	damagePendingOnScreen (w->screen); //aa	
+ 	UNWRAP (ws, w->screen, drawWindowGeometry);
+ 	(*w->screen->drawWindowGeometry) (w);
+ 	WRAP (ws, w->screen, drawWindowGeometry, wobblyDrawWindowGeometry);
+@@ -1985,6 +1987,7 @@
+ 
+     if (ww->wobbly)
+     {
++	damagePendingOnScreen (w->screen); //aa	
+ 	if (mask & PAINT_WINDOW_SOLID_MASK)
+ 	    return FALSE;
+ 
+@@ -2021,6 +2024,7 @@
+ 
+ 	    if (ww->model)
+ 	    {
++		damagePendingOnScreen (w->screen); //aa		
+ 		modelInitObjects (ww->model,
+ 				  WIN_X (w), WIN_Y (w), WIN_W (w), WIN_H (w));
+ 
+@@ -2047,6 +2051,7 @@
+ 
+ 		    if (ww->grabbed && ww->model)
+ 			modelUpdateSnapping (w, ww->model);
++			damagePendingOnScreen (w->screen); //aa
+ 		}
+ 	    }
+ 	}
+@@ -2067,12 +2072,13 @@
+ 
+ 		    if (ww->grabbed && ww->model)
+ 		    {
++			damagePendingOnScreen (w->screen); //aa
+ 			if (modelDisableSnapping (w, ww->model))
+ 			{
+ 			    ww->wobbly |= WobblyInitial;
+ 			    ws->wobblyWindows |= ww->wobbly;
+ 
+-			    damagePendingOnScreen (w->screen);
++			   damagePendingOnScreen (w->screen);
+ 			}
+ 		    }
+ 		}
+@@ -2150,6 +2156,7 @@
+ 	    region.extents.x2 = ww->model->bottomRight.x + 0.5f;
+ 	    region.extents.y2 = ww->model->bottomRight.y + 0.5f;
+ 
++		damagePendingOnScreen (w->screen); //aa
+ 	    damageScreenRegion (w->screen, &region);
+ 
+ 	    return TRUE;
+@@ -2217,10 +2224,11 @@
+ 			      WIN_X (w), WIN_Y (w),
+ 			      WIN_W (w), WIN_H (w));
+ 
+-	    /*
++	    /* 
+ 	    ww->wobbly |= WobblyInitial;
+ 	    ws->wobblyWindows |= ww->wobbly;
+-	    */
++		*/
++		damagePendingOnScreen (w->screen); //aa		    
+ 	}
+ 
+ 	if (ww->model->scale.x != 1.0f || ww->model->scale.y != 1.0f)
+@@ -2260,6 +2268,7 @@
+ 
+     if (ww->model)
+     {
++	damagePendingOnScreen (w->screen); //aa		
+ 	if (ww->grabbed)
+ 	{
+ 	    ww->model->anchorObject->position.x += dx;
+@@ -2367,6 +2376,7 @@
+ 	    ww->wobbly |= WobblyInitial;
+ 	    ws->wobblyWindows |= ww->wobbly;
+ 
++
+ 	    damagePendingOnScreen (w->screen);
+ 	}
+ 
+@@ -2392,6 +2402,7 @@
+     if (ws->wobblyWindows)
+ 	mask |= PAINT_SCREEN_WITH_TRANSFORMED_WINDOWS_MASK;
+ 
++	damagePendingOnScreen (ws); //aa
+     UNWRAP (ws, s, paintScreen);
+     status = (*s->paintScreen) (s, sAttrib, region, mask);
+     WRAP (ws, s, paintScreen, wobblyPaintScreen);
+@@ -2461,6 +2472,7 @@
+     ws->focusEffect = WobblyEffectNone;
+ 
+     wobblyScreenInitOptions (ws, s->display->display);
++	damagePendingOnScreen (ws); //aa
+ 
+     WRAP (ws, s, preparePaintScreen, wobblyPreparePaintScreen);
+     WRAP (ws, s, donePaintScreen, wobblyDonePaintScreen);
+@@ -2487,6 +2499,7 @@
+     WOBBLY_SCREEN (s);
+ 
+     freeWindowPrivateIndex (s, ws->windowPrivateIndex);
++	damagePendingOnScreen (ws); //aa
+ 
+     free (ws->opt[WOBBLY_SCREEN_OPTION_MAP_EFFECT].value.s);
+     free (ws->opt[WOBBLY_SCREEN_OPTION_FOCUS_EFFECT].value.s);
+@@ -2533,9 +2546,10 @@
+ 		  CompWindow *w)
+ {
+     WOBBLY_WINDOW (w);
+-
++	
+     if (ww->model)
+     {
++	damagePendingOnScreen (w->screen); //aa
+ 	free (ww->model->objects);
+ 	free (ww->model);
+     }
================================================================


More information about the pld-cvs-commit mailing list