Find on page does not open after tab close 76/92576/3
authorKamil Nowac <k.nowac@samsung.com>
Mon, 17 Oct 2016 10:53:32 +0000 (12:53 +0200)
committerJarek Pytlinski <j.pytlinski@samsung.com>
Tue, 18 Oct 2016 07:58:24 +0000 (00:58 -0700)
[Issue]    N/A
[Problem]  Signals are not disconnected on tab close
[Solution] Disconnect signals on tab closing
[Verify]   1. Open any page
           2. Select word and open find on page from
              context menu
           -> Find on page should open
           3. Go to tabs manager and close tab
           4. Repeat steps 1 and 2
           -> Find on page should open

Change-Id: I462177d564e65e025b103389c9b417dfc18de2af

services/WebEngineService/WebEngineService.cpp

index 632f899ab41fdbf17f98b245ca759806ccb22e53..0fb38325a4196692219d17b26dcdbfe2c52e24ed 100755 (executable)
@@ -607,12 +607,12 @@ bool WebEngineService::closeTab(TabId id) {
             closingTabId),
         m_stateStruct->mostRecentTab.end());
 
-    if (closingTabId == m_stateStruct->currentTabId) {
-        if (m_currentWebView)
-            m_currentWebView.reset();
-    }
     if (m_stateStruct->tabs.size() == 0) {
         m_stateStruct->currentTabId = TabId::NONE;
+        if (m_currentWebView) {
+            disconnectSignals(m_currentWebView);
+            m_currentWebView.reset();
+        }
     }
     else if (closingTabId == m_stateStruct->currentTabId && m_stateStruct->mostRecentTab.size()){
         res = switchToTab(m_stateStruct->mostRecentTab.back());