Fix transparent dimming layer display error
authorjaewon7.cho <jaewon7.cho@samsung.com>
Sun, 14 Apr 2013 08:00:30 +0000 (17:00 +0900)
committerjaewon7.cho <jaewon7.cho@samsung.com>
Sun, 14 Apr 2013 08:00:30 +0000 (17:00 +0900)
Change-Id: Ifc2dd5bb20030eca78f9e5b081f48ed18e74169f
Signed-off-by: jaewon7.cho <jaewon7.cho@samsung.com>
src/ui/FUi_ControlManager.cpp [changed mode: 0644->0755]
src/ui/FUi_DimmingManager.cpp
src/ui/inc/FUi_DimmingManager.h

old mode 100644 (file)
new mode 100755 (executable)
index 65958ba..41dcef7
@@ -582,6 +582,12 @@ _ControlManager::ActivateWindow(_Window& window)
        r = CallOnAttachedToMainTree(window);
        SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
 
+       if (window.IsDimmingEnabled())
+       {
+               r = _DimmingManager::GetInstance()->ShowDimmingLayer(&window);
+               SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
+       }
+
        return E_SUCCESS;
 }
 
index 94705ac..a5a2990 100755 (executable)
@@ -143,23 +143,13 @@ _DimmingManager::CreateDimmingLayer(_Window* pWindow)
        SysTryReturn(NID_UI, pDimmingLayer != null, E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");\r
 \r
        r = pDimmingLayer->Construct(*pWindow);\r
-       SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));\r
+       SysTryCatch(NID_UI, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));\r
        pWindow->SetDimmingLayer(pDimmingLayer);\r
 \r
-       if (pWindow->GetVisibleState())\r
-       {\r
-               if (pDimmingLayer->IsDimmingEnabled() == false)\r
-               {\r
-                       r = pDimmingLayer->SetDimmingEnabled(true);\r
-                       SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));\r
-               }\r
-       }\r
-       else\r
-       {\r
-               r = pDimmingLayer->SetDimmingEnabled(false);\r
-               SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));\r
-       }\r
+       return r;\r
 \r
+CATCH:\r
+       delete pDimmingLayer;\r
        return r;\r
 }\r
 \r
@@ -178,4 +168,30 @@ _DimmingManager::DeleteDimmingLayer(_Window* pWindow)
        }\r
 }\r
 \r
+result\r
+_DimmingManager::ShowDimmingLayer(_Window* pWindow)\r
+{\r
+       result r = E_SUCCESS;\r
+\r
+       _DimmingLayer* pDimmingLayer = pWindow->GetDimmingLayer();\r
+       if (pDimmingLayer)\r
+       {\r
+               if (pWindow->GetVisibleState())\r
+               {\r
+                       if (pDimmingLayer->IsDimmingEnabled() == false)\r
+                       {\r
+                               r = pDimmingLayer->SetDimmingEnabled(true);\r
+                               SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));\r
+                       }\r
+               }\r
+               else\r
+               {\r
+                       r = pDimmingLayer->SetDimmingEnabled(false);\r
+                       SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));\r
+               }\r
+       }\r
+\r
+       return r;\r
+}\r
+\r
 }} // Tizen::Ui\r
index ad0da04..71e6653 100755 (executable)
@@ -48,6 +48,7 @@ public:
 
        result CreateDimmingLayer(_Window* pWindow);
        void DeleteDimmingLayer(_Window* pWindow);
+       result ShowDimmingLayer(_Window* pWindow);
 
 private:
        ~_DimmingManager(void);