summaryrefslogtreecommitdiffstats
path: root/libs/rs/rsContext.cpp
diff options
context:
space:
mode:
authorJason Sams <rjsams@android.com>2009-09-25 16:37:33 -0700
committerJason Sams <rjsams@android.com>2009-09-25 16:37:33 -0700
commit61f08d6fa7c7657e9fbcd17e9a1c5b9114bb3844 (patch)
treee836663efc3047198d5aef1723cee4e5556fe8c4 /libs/rs/rsContext.cpp
parent66b2771d745aa66df5cf80b300b5ba0f936ff22e (diff)
downloadframeworks_base-61f08d6fa7c7657e9fbcd17e9a1c5b9114bb3844.zip
frameworks_base-61f08d6fa7c7657e9fbcd17e9a1c5b9114bb3844.tar.gz
frameworks_base-61f08d6fa7c7657e9fbcd17e9a1c5b9114bb3844.tar.bz2
Improved object lifecycle tracking and fix leaks.
Diffstat (limited to 'libs/rs/rsContext.cpp')
-rw-r--r--libs/rs/rsContext.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/libs/rs/rsContext.cpp b/libs/rs/rsContext.cpp
index 653d427..70add92 100644
--- a/libs/rs/rsContext.cpp
+++ b/libs/rs/rsContext.cpp
@@ -269,11 +269,16 @@ void * Context::threadProc(void *vrsc)
}
LOGV("RS Thread exiting");
+ rsc->mRaster.clear();
+ rsc->mFragment.clear();
+ rsc->mVertex.clear();
+ rsc->mFragmentStore.clear();
+ rsc->mRootScript.clear();
+ rsc->mStateRaster.deinit(rsc);
+ rsc->mStateVertex.deinit(rsc);
+ rsc->mStateFragment.deinit(rsc);
+ rsc->mStateFragmentStore.deinit(rsc);
ObjectBase::zeroAllUserRef(rsc);
- rsc->mRaster.set(NULL);
- rsc->mFragment.set(NULL);
- rsc->mVertex.set(NULL);
- rsc->mFragmentStore.set(NULL);
glClearColor(0,0,0,0);
glClear(GL_COLOR_BUFFER_BIT);