diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2017-11-16 14:36:33 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-01-05 13:59:35 +0000 |
commit | 9ef3a8263098c6a32db8b824aabf85587d1f1140 (patch) | |
tree | 9ef2a62d51287dd676ebada6d63058687144bc2c /src/core/web_engine_context.h | |
parent | 196ae04aa7c9b274880409fb38a050db99197900 (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.h | 5 |
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; |