summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--AudioManagerCore/src/CAmDatabaseHandlerMap.cpp16
1 files changed, 7 insertions, 9 deletions
diff --git a/AudioManagerCore/src/CAmDatabaseHandlerMap.cpp b/AudioManagerCore/src/CAmDatabaseHandlerMap.cpp
index 48ef37b..cc95d28 100644
--- a/AudioManagerCore/src/CAmDatabaseHandlerMap.cpp
+++ b/AudioManagerCore/src/CAmDatabaseHandlerMap.cpp
@@ -3393,22 +3393,20 @@ am_Error_e CAmDatabaseHandlerMap::enumerateConverters(std::function<void(const a
bool CAmDatabaseHandlerMap::registerObserver(IAmDatabaseObserver * iObserver) {
assert(iObserver!=NULL);
- if (std::find(mDatabaseObservers.begin(), mDatabaseObservers.end(),
- iObserver) == mDatabaseObservers.end()) {
- mDatabaseObservers.push_back(
- dynamic_cast<AmDatabaseObserverCallbacks*>(iObserver)), dynamic_cast<AmDatabaseObserverCallbacks*>(iObserver)->mpDatabaseHandler =
- nullptr;
+ if (std::find(mDatabaseObservers.begin(), mDatabaseObservers.end(), iObserver) == mDatabaseObservers.end())
+ {
+ mDatabaseObservers.push_back(static_cast<AmDatabaseObserverCallbacks*>(iObserver));
+ static_cast<AmDatabaseObserverCallbacks*>(iObserver)->mpDatabaseHandler = this;
return true;
}
return false;
}
bool CAmDatabaseHandlerMap::unregisterObserver(IAmDatabaseObserver * iObserver) {
assert(iObserver!=NULL);
- auto it = std::find(mDatabaseObservers.begin(), mDatabaseObservers.end(),
- iObserver);
+ auto it = std::find(mDatabaseObservers.begin(), mDatabaseObservers.end(), iObserver);
if (it != mDatabaseObservers.end()) {
- mDatabaseObservers.erase(it), dynamic_cast<AmDatabaseObserverCallbacks*>(iObserver)->mpDatabaseHandler =
- nullptr;
+ mDatabaseObservers.erase(it);
+ static_cast<AmDatabaseObserverCallbacks*>(iObserver)->mpDatabaseHandler = nullptr;
return true;
}
return false;