mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Split UI thread shutdown into before and after stages (see #3609)
Existing UI thread shutdown tasks need to be executed before the UI thread RunLoop is terminated. Those tasks have now been moved to CefMainRunner::StartShutdownOnUIThread and FinishShutdownOnUIThread is now called after the RunLoop is terminated. This fixes a shutdown crash in ChromeProcessSingleton::DeleteInstance. DeleteInstance needs to be called on the UI thread near the end of the shutdown process (after ChromeProcessSingleton::Cleanup is called via PostMainMessageLoopRun).
This commit is contained in:
@@ -33,6 +33,7 @@ class AlloyMainRunnerDelegate : public CefMainRunnerDelegate {
|
||||
void BeforeMainThreadInitialize(const CefMainArgs& args) override;
|
||||
void BeforeMainThreadRun(bool multi_threaded_message_loop) override;
|
||||
void AfterUIThreadInitialize() override;
|
||||
void BeforeUIThreadShutdown() override;
|
||||
void AfterUIThreadShutdown() override;
|
||||
void BeforeMainThreadShutdown() override;
|
||||
void AfterMainThreadShutdown() override;
|
||||
|
Reference in New Issue
Block a user