Index: 3d.c =================================================================== --- 3d.c (Revision 1482) +++ 3d.c (Arbeitskopie) @@ -676,13 +676,14 @@ { float aim = 0.0f; - damageScreen(s); - tds->tdWindowExists = FALSE; for(w = s->windows; w; w = w->next) { + float oldZ; tdw = GET_TD_WINDOW (w, GET_TD_SCREEN (w->screen, GET_TD_DISPLAY (w->screen->display))); + + oldZ = tdw->currentZ; if ( DO_3D(s->display) ) aim = tdw->z; @@ -695,6 +696,9 @@ else if(tdw->currentZ > aim) tdw->currentZ -= SPEED; + + if (tdw->currentZ != oldZ) + addWindowDamage (w); if(tdw->currentZ) tds->tdWindowExists = TRUE;