aboutsummaryrefslogtreecommitdiffstats
path: root/src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseRenderer.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseRenderer.java')
-rw-r--r--src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseRenderer.java23
1 files changed, 15 insertions, 8 deletions
diff --git a/src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseRenderer.java b/src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseRenderer.java
index 98a07e6..7fb467f 100644
--- a/src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseRenderer.java
+++ b/src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseRenderer.java
@@ -254,12 +254,10 @@ public class PhotoPhaseRenderer implements GLSurfaceView.Renderer {
}
/**
- * Method called when renderer is destroyed
+ * Method called when renderer when GL context is destroyed
*/
- public void onDestroy() {
- if (DEBUG) Log.d(TAG, "onDestroy [" + mInstance + "]");
- // Register a receiver to listen for media reload request
- mContext.unregisterReceiver(mSettingsChangedReceiver);
+ public void onGLContextDestroy() {
+ if (DEBUG) Log.d(TAG, "onGLContextDestroy [" + mInstance + "]");
recycle();
if (mEffectContext != null) {
mEffectContext.release();
@@ -271,6 +269,15 @@ public class PhotoPhaseRenderer implements GLSurfaceView.Renderer {
}
/**
+ * Method called when renderer is destroyed
+ */
+ public void onDestroy() {
+ if (DEBUG) Log.d(TAG, "onDestroy [" + mInstance + "]");
+ // Register a receiver to listen for media reload request
+ mContext.unregisterReceiver(mSettingsChangedReceiver);
+ }
+
+ /**
* Method called when system runs under low memory
*/
public void onLowMemory() {
@@ -559,7 +566,7 @@ public class PhotoPhaseRenderer implements GLSurfaceView.Renderer {
}
// Delete the world
- if (mWorld != null) mWorld.recycle();
+ if (mWorld != null) mWorld.recycle(true);
if (mTextureManager != null) mTextureManager.recycle();
if (mOverlay != null) mOverlay.recycle();
if (mOopsShape != null) mOopsShape.recycle();
@@ -655,9 +662,9 @@ public class PhotoPhaseRenderer implements GLSurfaceView.Renderer {
mTextureManager.setScreenDimesions(screenDimensions);
mTextureManager.setPause(false);
- // Create the wallpaper (destroy the previous)
+ // Create the wallpaper (destroy the previous world)
if (mWorld != null) {
- mWorld.recycle();
+ mWorld.recycle(false);
}
mWorld = new PhotoPhaseWallpaperWorld(mContext, mTextureManager);