am b4488930: am 45dd12cb: Merge change I9f3020db into eclair

Merge commit 'b448893039dc7f06ff5a76e8be6444808b4cf2ea' into eclair-mr2-plus-aosp

* commit 'b448893039dc7f06ff5a76e8be6444808b4cf2ea':
  fix [2243164] live wallpaper screen artifacts at end of boot
This commit is contained in:
Mathias Agopian
2009-11-06 17:25:31 -08:00
committed by Android Git Automerger

View File

@@ -437,6 +437,9 @@ bool BootAnimation::movie()
nsecs_t lastFrame = systemTime();
nsecs_t frameDuration = s2ns(1) / animation.fps;
Region clearReg(Rect(mWidth, mHeight));
clearReg.subtractSelf(Rect(xc, yc, xc+animation.width, yc+animation.height));
for (int i=0 ; i<pcount && !exitPending() ; i++) {
const Animation::Part& part(animation.parts[i]);
const size_t fcount = part.frames.size();
@@ -460,6 +463,18 @@ bool BootAnimation::movie()
frame.map->getDataLength());
}
if (!clearReg.isEmpty()) {
Region::const_iterator head(clearReg.begin());
Region::const_iterator tail(clearReg.end());
glEnable(GL_SCISSOR_TEST);
while (head != tail) {
const Rect& r(*head++);
glScissor(r.left, mHeight - r.bottom,
r.width(), r.height());
glClear(GL_COLOR_BUFFER_BIT);
}
glDisable(GL_SCISSOR_TEST);
}
glDrawTexiOES(xc, yc, 0, animation.width, animation.height);
eglSwapBuffers(mDisplay, mSurface);