summaryrefslogtreecommitdiff
path: root/drm/drmserver/DrmManager.cpp
diff options
context:
space:
mode:
author Takeshi Aimi <aimitakeshi@gmail.com> 2010-11-30 16:27:42 +0900
committer Takeshi Aimi <aimitakeshi@gmail.com> 2010-11-30 16:27:42 +0900
commitf05913aaa0cc96eab32be3431de1a80d405527a1 (patch)
tree808fc1b7a3fd2bdb3e88723fe4d4f457d1217f8f /drm/drmserver/DrmManager.cpp
parentf0f6c54b13831b11bd7a3bd7a01dc49b7505e56e (diff)
DRM Framework bug fixes.
- Make sure to clean-up obsolete listeners. - Close cursor after using it. - Add virtual destructor to the base class of OnInfoListener. Changes are made by SEMC and Sony. Change-Id: Ibb6dd625ef48e3597188f0d7c90f9d4c780b6139
Diffstat (limited to 'drm/drmserver/DrmManager.cpp')
-rw-r--r--drm/drmserver/DrmManager.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/drm/drmserver/DrmManager.cpp b/drm/drmserver/DrmManager.cpp
index 537791c95e21..49df1c8f4b53 100644
--- a/drm/drmserver/DrmManager.cpp
+++ b/drm/drmserver/DrmManager.cpp
@@ -117,7 +117,11 @@ status_t DrmManager::unloadPlugIns() {
status_t DrmManager::setDrmServiceListener(
int uniqueId, const sp<IDrmServiceListener>& drmServiceListener) {
Mutex::Autolock _l(mLock);
- mServiceListeners.add(uniqueId, drmServiceListener);
+ if (NULL != drmServiceListener.get()) {
+ mServiceListeners.add(uniqueId, drmServiceListener);
+ } else {
+ mServiceListeners.removeItem(uniqueId);
+ }
return DRM_NO_ERROR;
}