diff options
author | Vairavan Srinivasan <vairav@codeaurora.org> | 2010-12-23 14:05:44 -0800 |
---|---|---|
committer | Vairavan Srinivasan <vairav@codeaurora.org> | 2010-12-23 14:05:44 -0800 |
commit | fdfc1b27fe7a02d07931e6edb1d9bdae67b84eda (patch) | |
tree | 4015e9c9cfa5de66d884217040f910e8054c69bf /services/java/com/android/server/WallpaperManagerService.java | |
parent | 3b10aea50c1044ff33d02727829c47c061f6e1c8 (diff) | |
download | frameworks_base-fdfc1b27fe7a02d07931e6edb1d9bdae67b84eda.zip frameworks_base-fdfc1b27fe7a02d07931e6edb1d9bdae67b84eda.tar.gz frameworks_base-fdfc1b27fe7a02d07931e6edb1d9bdae67b84eda.tar.bz2 |
frameworks/base: Fix to release references to previous live wallpaper
The service connection to the previous live wallpaper is unbound when
a new wallpaper is effective. Although the service connection is
unbound it is not disconnected and its reference to wallpaper's
service and engine is still effective. This adds up to the total
JNI references and causes dalvik (hosting system_server) to abort.
Fix is to release the references in clearWallpaperComponentLocked.
Change-Id: Idd2bab83a56d2e6c6dd7ab9be08d5e14887aa384
Diffstat (limited to 'services/java/com/android/server/WallpaperManagerService.java')
-rw-r--r-- | services/java/com/android/server/WallpaperManagerService.java | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/services/java/com/android/server/WallpaperManagerService.java b/services/java/com/android/server/WallpaperManagerService.java index 859c85c..997e750 100644 --- a/services/java/com/android/server/WallpaperManagerService.java +++ b/services/java/com/android/server/WallpaperManagerService.java @@ -587,6 +587,8 @@ class WallpaperManagerService extends IWallpaperManager.Stub { mIWindowManager.removeWindowToken(mWallpaperConnection.mToken); } catch (RemoteException e) { } + mWallpaperConnection.mService = null; + mWallpaperConnection.mEngine = null; mWallpaperConnection = null; } } |