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, ®ion);
+
+ 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