]> git.pld-linux.org Git - packages/compiz.git/commitdiff
Dirty hack fixing jerky wobbly windows.
authorwolf <wolf@pld-linux.org>
Tue, 21 Feb 2006 03:36:41 +0000 (03:36 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
http://lists.freedesktop.org/archives/xorg/2006-February/013042.html

Changed files:
    compiz-wobbly.patch -> 1.1

compiz-wobbly.patch [new file with mode: 0644]

diff --git a/compiz-wobbly.patch b/compiz-wobbly.patch
new file mode 100644 (file)
index 0000000..c8fb064
--- /dev/null
@@ -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);
+     }
This page took 0.080408 seconds and 4 git commands to generate.