Fix not opening views related with elementary change 87/74687/3
authorKamil Nowac <k.nowac@samsung.com>
Wed, 15 Jun 2016 07:59:09 +0000 (09:59 +0200)
committerKamil Nowa? <k.nowac@samsung.com>
Wed, 15 Jun 2016 08:11:58 +0000 (01:11 -0700)
[Issue]    http://suprem.sec.samsung.net/jira/browse/TWF-1441
[Problem]  Views do not open
[Solution] Unset view before hide and make sure evas_object_hide
           is called on the object
[Verify]   As in the issue url

Change-Id: Ia04472cb38b01cb2b0f696146fd4b4be18720547

services/SimpleUI/ViewManager.cpp

index 398acf5525559835dc008165b9b4bcdfb4057816..96b2af465f774be3e577e7f412f048dd3609a893 100644 (file)
@@ -129,26 +129,32 @@ void ViewManager::updateLayout(interfaces::AbstractUIComponent* previousView)
     Evas_Object* swallowed = elm_layout_content_get(m_mainLayout, "content");
     if (!m_viewStack.empty())
     {
-        if (m_viewStack.top()->getContent() == swallowed)
+        if (topOfStack()->getContent() == swallowed)
         {
             BROWSER_LOGD("[%s:%d] Top of stack is already visible!!!",
                          __PRETTY_FUNCTION__, __LINE__);
             return;
         }
-        if(previousView)
-            previousView->hideUI();
         elm_layout_content_unset(m_mainLayout, "content");
-        elm_layout_content_set(m_mainLayout, "content", m_viewStack.top()->getContent());
+        if (previousView)
+        {
+            previousView->hideUI();
+            evas_object_hide(previousView->getContent());
+        }
+        elm_layout_content_set(m_mainLayout, "content", topOfStack()->getContent());
+        evas_object_show(elm_layout_content_get(m_mainLayout, "content"));
 
-        m_viewStack.top()->showUI();
+        topOfStack()->showUI();
     }
     else
     {
         BROWSER_LOGD("[%s:%d] Stack is empty!!!",__PRETTY_FUNCTION__, __LINE__);
-        if(previousView)
-             previousView->hideUI();
-
         elm_layout_content_unset(m_mainLayout, "content");
+        if (previousView)
+        {
+             previousView->hideUI();
+             evas_object_hide(previousView->getContent());
+        }
         elm_layout_content_set(m_mainLayout, "content", nullptr);
     }
 }