mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Linux: Fix assertions while running dialog boxes (issue #1822)
This commit is contained in:
47
patch/patches/child_shutdown_474165.patch
Normal file
47
patch/patches/child_shutdown_474165.patch
Normal file
@@ -0,0 +1,47 @@
|
||||
diff --git child/child_thread_impl.cc child/child_thread_impl.cc
|
||||
index 782c5d5..d1de033 100644
|
||||
--- child/child_thread_impl.cc
|
||||
+++ child/child_thread_impl.cc
|
||||
@@ -512,10 +512,6 @@ void ChildThreadImpl::Init(const Options& options) {
|
||||
}
|
||||
|
||||
ChildThreadImpl::~ChildThreadImpl() {
|
||||
- // ChildDiscardableSharedMemoryManager has to be destroyed while
|
||||
- // |thread_safe_sender_| is still valid.
|
||||
- discardable_shared_memory_manager_.reset();
|
||||
-
|
||||
#ifdef IPC_MESSAGE_LOG_ENABLED
|
||||
IPC::Logging::GetInstance()->SetIPCSender(NULL);
|
||||
#endif
|
||||
@@ -541,6 +537,9 @@ void ChildThreadImpl::Shutdown() {
|
||||
file_system_dispatcher_.reset();
|
||||
quota_dispatcher_.reset();
|
||||
WebFileSystemImpl::DeleteThreadSpecificInstance();
|
||||
+ // ChildDiscardableSharedMemoryManager has to be destroyed while
|
||||
+ // |thread_safe_sender_| is still valid.
|
||||
+ discardable_shared_memory_manager_.reset();
|
||||
}
|
||||
|
||||
void ChildThreadImpl::OnChannelConnected(int32 peer_pid) {
|
||||
diff --git renderer/render_thread_impl.cc renderer/render_thread_impl.cc
|
||||
index aa5828c..52f65b1 100644
|
||||
--- renderer/render_thread_impl.cc
|
||||
+++ renderer/render_thread_impl.cc
|
||||
@@ -765,8 +765,6 @@ void RenderThreadImpl::Shutdown() {
|
||||
FOR_EACH_OBSERVER(
|
||||
RenderProcessObserver, observers_, OnRenderProcessShutdown());
|
||||
|
||||
- ChildThreadImpl::Shutdown();
|
||||
-
|
||||
if (memory_observer_) {
|
||||
message_loop()->RemoveTaskObserver(memory_observer_.get());
|
||||
memory_observer_.reset();
|
||||
@@ -857,6 +855,8 @@ void RenderThreadImpl::Shutdown() {
|
||||
NPChannelBase::CleanupChannels();
|
||||
#endif
|
||||
|
||||
+ ChildThreadImpl::Shutdown();
|
||||
+
|
||||
// Shut down the message loop and the renderer scheduler before shutting down
|
||||
// Blink. This prevents a scenario where a pending task in the message loop
|
||||
// accesses Blink objects after Blink shuts down.
|
Reference in New Issue
Block a user