summaryrefslogtreecommitdiffstats
path: root/examples/webenginewidgets/demobrowser/browserapplication.cpp
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@qt.io>2017-05-29 16:07:40 +0200
committerMichal Klocek <michal.klocek@qt.io>2017-06-06 13:54:58 +0000
commitdc70e81da3f7b639ace9c5cc14e1fd4eb1942e4c (patch)
tree5d7b27bed38f1fc6b2fc9d85c45a64fb709d2aff /examples/webenginewidgets/demobrowser/browserapplication.cpp
parent3deaeca6da60b22446d5facc4a0e73ff221a0947 (diff)
Fix flushing the cookies with demobrowser
Fix destruction of browser context, which takes place on qt_call_post_routines. Unfortunately demo browser destructs its windows just before qapplication destructor runs, so there is no more main event loop running. Please note this is just a quick fix, and proper fix would require refactoring the example not to use anit-pattern of deriving from qapplication. Task-number: QTBUG-58675 Change-Id: I419a1655a70397e69fecef2ceb37cbfc7e7f5ca4 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'examples/webenginewidgets/demobrowser/browserapplication.cpp')
-rw-r--r--examples/webenginewidgets/demobrowser/browserapplication.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/examples/webenginewidgets/demobrowser/browserapplication.cpp b/examples/webenginewidgets/demobrowser/browserapplication.cpp
index 32429a675..04ae7cc03 100644
--- a/examples/webenginewidgets/demobrowser/browserapplication.cpp
+++ b/examples/webenginewidgets/demobrowser/browserapplication.cpp
@@ -186,12 +186,11 @@ BrowserApplication::BrowserApplication(int &argc, char **argv)
BrowserApplication::~BrowserApplication()
{
delete s_downloadManager;
- for (int i = 0; i < m_mainWindows.size(); ++i) {
- BrowserMainWindow *window = m_mainWindows.at(i);
- delete window;
- }
+ s_downloadManager=nullptr;
delete s_networkAccessManager;
+ s_networkAccessManager=nullptr;
delete s_bookmarksManager;
+ s_bookmarksManager=nullptr;
}
void BrowserApplication::lastWindowClosed()
@@ -227,9 +226,13 @@ void BrowserApplication::quitBrowser()
if (ret == QMessageBox::No)
return;
}
-
- exit(0);
#endif
+ for (int i = 0; i < m_mainWindows.size(); ++i) {
+ BrowserMainWindow *window = m_mainWindows.at(i);
+ delete window;
+ }
+ m_mainWindows.clear();
+ close();
}
/*!