Add deleting the client message handler when a app is terminated
authorChoi Munseok <ms47.choi@samsung.com>
Sat, 13 Apr 2013 09:23:47 +0000 (18:23 +0900)
committerChoi Munseok <ms47.choi@samsung.com>
Sat, 13 Apr 2013 09:23:47 +0000 (18:23 +0900)
Change-Id: I48309a7530b452ff4e12fb3a47fa0283a4c6fbb6
Signed-off-by: Choi Munseok <ms47.choi@samsung.com>
src/ui/FUi_EcoreEvas.cpp

index 7adde30..005b040 100644 (file)
@@ -407,6 +407,11 @@ OnClientMessageReceived(void* pData, int type, void* pEvent)
        SysTryReturn(NID_UI, pClientEvent, ECORE_CALLBACK_RENEW, E_SYSTEM, "[E_SYSTEM] A system error occurred.");
 
        _ControlManager* pControlManager = _ControlManager::GetInstance();
+       if (!pControlManager)
+       {
+               return ECORE_CALLBACK_RENEW;
+       }
+
        if (pClientEvent->message_type == __atomRotateRootAngle)
        {
                int angle = pClientEvent->data.l[0];
@@ -1099,7 +1104,7 @@ _EcoreEvas::_EcoreEvas(void)
        __pWindowVisibilityChanged = ecore_event_handler_add(ECORE_X_EVENT_WINDOW_VISIBILITY_CHANGE, OnWindowVisibilityChanged, (void*) this);
        SysTryReturnVoidResult(NID_UI, __pWindowVisibilityChanged, E_SYSTEM, "[E_SYSTEM] A system error occurred.");
 
-       ecore_event_handler_add(ECORE_X_EVENT_CLIENT_MESSAGE, OnClientMessageReceived, NULL);
+       __pClientMessageReceived = ecore_event_handler_add(ECORE_X_EVENT_CLIENT_MESSAGE, OnClientMessageReceived, NULL);
 
        ecore_x_event_mask_set(ecore_x_window_root_first_get(), ECORE_X_EVENT_MASK_WINDOW_CONFIGURE);
        ecore_event_handler_add(ECORE_X_EVENT_CLIENT_MESSAGE, OnAccessibilitySettingMessageReceived, NULL);