Revert "fixed PLM issue. Assert occured when an application was closed using back...
authorKyungWoo Noh <kw1004.noh@samsung.com>
Fri, 18 Oct 2013 16:40:54 +0000 (16:40 +0000)
committerGerrit Code Review <gerrit@gerrit.vlan144.tizendev.org>
Fri, 18 Oct 2013 16:40:54 +0000 (16:40 +0000)
This reverts commit a76e0bc42d7a45883636d692dbae7dbd533f1b1a.

Change-Id: Ibd59b80fdb6cf0ad34707ff6f225c7c115756a53

src/base/runtime/FBaseRt_Event.cpp
src/base/runtime/FBaseRt_EventManager.cpp
src/base/runtime/FBaseRt_EventManager.h

index cb5f227..5d6c58c 100755 (executable)
@@ -156,7 +156,7 @@ _Event::AddListener(const IEventListener& listener, bool calledByCallerThread)
        SysTryReturnResult(NID_BASE_RT, !exist, E_OBJ_ALREADY_EXIST, "[E_OBJ_ALREADY_EXIST] Listener already exist.");
 
        listenerInfo.pListener = &listener;
-       listenerInfo.listener = _EventManager::GetEventListenerObjectManager()->Register(listener);
+       listenerInfo.listener = _EventManager::GetEventListenerObjectManager().Register(listener);
        listenerInfo.eventManager = eventManager;
 
        r = __listeners.Add(listenerInfo);
@@ -184,7 +184,7 @@ _Event::RemoveListener(const IEventListener& listener)
                        r = __listeners.Remove(listenerInfo);
                        SysTryLog(NID_BASE_RT, !IsFailed(r), "[%s] Propagating.", GetErrorMessage(r));
 
-                       _EventManager::GetEventListenerObjectManager()->Unregister(listenerInfo.listener);
+                       _EventManager::GetEventListenerObjectManager().Unregister(listenerInfo.listener);
 
                        exist = true;
                        break;
@@ -290,7 +290,7 @@ _Event::ProcessListeners(std::tr1::shared_ptr< IEventArg > arg)
                        }
                }
 
-               pEventListener = _EventManager::GetEventListenerObjectManager()->GetObject(listenerInfo.listener);
+               pEventListener = _EventManager::GetEventListenerObjectManager().GetObject(listenerInfo.listener);
                if (pEventListener != null)
                {
                        FireImpl(*pEventListener, *arg);
index 92f3b9e..4713ce3 100644 (file)
@@ -40,8 +40,6 @@ using namespace Tizen::Base::Runtime;
 
 namespace Tizen { namespace Base { namespace Runtime
 {
-__thread _ObjectManagerT< IEventListener >* pObjectManager = null;
-
 bool
 _EventManager::_EventMessage::operator ==(const _EventMessage& rhs) const
 {
@@ -271,7 +269,7 @@ _EventManager::OnEventReceived(GIOChannel* pGIOChannel, GIOCondition condition,
                                }
                                else
                                {
-                                       pEventListener = GetEventListenerObjectManager()->GetObject(message.listener);
+                                       pEventListener = GetEventListenerObjectManager().GetObject(message.listener);
                                        if (pEventListener != null)
                                        {
                                                pEvent->FireImpl(*pEventListener, *message.arg);
@@ -410,13 +408,12 @@ _EventManager::GetEventObjectManager(void)
        return objectManager;
 }
 
-_ObjectManagerT< IEventListener >*
+_ObjectManagerT< IEventListener >&
 _EventManager::GetEventListenerObjectManager(void)
 {
-       if(pObjectManager == null)
-               pObjectManager = new _ObjectManagerT< IEventListener >;
+       static _ObjectManagerT< IEventListener > objectManager;
 
-       return pObjectManager;
+       return objectManager;
 }
 
 } } } // Tizen::Base::Runtime
index 0080edc..7aba053 100644 (file)
@@ -186,7 +186,7 @@ public:
         *
         * @since 2.0
         */
-       static _ObjectManagerT< IEventListener >* GetEventListenerObjectManager(void);
+       static _ObjectManagerT< IEventListener >& GetEventListenerObjectManager(void);
 
 private:
        _EventManager(const _EventManager& rhs);