summaryrefslogtreecommitdiffstats
path: root/libs/surfaceflinger/BootAnimation.cpp
diff options
context:
space:
mode:
authorMathias Agopian <mathias@google.com>2009-04-17 19:36:26 -0700
committerMathias Agopian <mathias@google.com>2009-04-24 15:00:41 -0700
commit6cf0db228ca275dfcda57d79c55e5fa306809632 (patch)
treec1e57e8da8c8428bcac5afc877c16f472d0fb501 /libs/surfaceflinger/BootAnimation.cpp
parent2b1927f686eaec23a5798966b96aadaee3e2eb85 (diff)
downloadframeworks_base-6cf0db228ca275dfcda57d79c55e5fa306809632.zip
frameworks_base-6cf0db228ca275dfcda57d79c55e5fa306809632.tar.gz
frameworks_base-6cf0db228ca275dfcda57d79c55e5fa306809632.tar.bz2
more Surface lifetime management
Surfaces are now destroyed once all references from the clients are gone, but they go through a partial destruction as soon as the window manager requests it. This last part is still buggy. see comments in SurfaceFlinger::destroySurface()
Diffstat (limited to 'libs/surfaceflinger/BootAnimation.cpp')
-rw-r--r--libs/surfaceflinger/BootAnimation.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/libs/surfaceflinger/BootAnimation.cpp b/libs/surfaceflinger/BootAnimation.cpp
index 519b112..ee36b67 100644
--- a/libs/surfaceflinger/BootAnimation.cpp
+++ b/libs/surfaceflinger/BootAnimation.cpp
@@ -179,6 +179,7 @@ bool BootAnimation::threadLoop() {
eglMakeCurrent(mDisplay, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
eglDestroyContext(mDisplay, mContext);
eglDestroySurface(mDisplay, mSurface);
+ mFlingerSurface.clear();
mFlingerSurfaceControl.clear();
return r;
}