--- 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); }