summaryrefslogtreecommitdiffstats
path: root/src/core/web_engine_context.h
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2017-11-16 14:36:33 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2018-01-05 13:59:35 +0000
commit9ef3a8263098c6a32db8b824aabf85587d1f1140 (patch)
tree9ef2a62d51287dd676ebada6d63058687144bc2c /src/core/web_engine_context.h
parent196ae04aa7c9b274880409fb38a050db99197900 (diff)
Fix access after free on shutdown
After we keep around the browser-context after the profile is deleted it was keeping pointers to deleted objects and would sometimes use them on shutdown. Change-Id: Ib67d0ee0b27cb1a1b64d9b8b4c348ed418b9bbc3 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Diffstat (limited to 'src/core/web_engine_context.h')
-rw-r--r--src/core/web_engine_context.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/core/web_engine_context.h b/src/core/web_engine_context.h
index 92c45e260..1b4be48b1 100644
--- a/src/core/web_engine_context.h
+++ b/src/core/web_engine_context.h
@@ -80,7 +80,7 @@ class WebEngineContext : public base::RefCounted<WebEngineContext> {
public:
static scoped_refptr<WebEngineContext> current();
- QSharedPointer<QtWebEngineCore::BrowserContextAdapter> defaultBrowserContext();
+ QSharedPointer<BrowserContextAdapter> defaultBrowserContext();
QObject *globalQObject();
#if BUILDFLAG(ENABLE_BASIC_PRINTING)
printing::PrintJobManager* getPrintJobManager();
@@ -90,6 +90,7 @@ public:
private:
friend class base::RefCounted<WebEngineContext>;
+ friend class BrowserContextAdapter;
WebEngineContext();
~WebEngineContext();
@@ -98,7 +99,7 @@ private:
std::unique_ptr<content::ContentMainRunner> m_contentRunner;
std::unique_ptr<content::BrowserMainRunner> m_browserRunner;
QObject* m_globalQObject;
- QSharedPointer<QtWebEngineCore::BrowserContextAdapter> m_defaultBrowserContext;
+ QSharedPointer<BrowserContextAdapter> m_defaultBrowserContext;
std::unique_ptr<DevToolsServerQt> m_devtoolsServer;
#if BUILDFLAG(ENABLE_BASIC_PRINTING)
std::unique_ptr<printing::PrintJobManager> m_printJobManager;