From 023a05b84a073366b295d09b1fae5093041b612a Mon Sep 17 00:00:00 2001 From: Marshall Greenblatt Date: Fri, 15 Nov 2024 12:56:46 -0500 Subject: [PATCH] osr: Fix crash in RenderWidgetHostImpl::WasHidden (fixes #3834) --- patch/patch.cfg | 3 +++ patch/patches/osr_fling_2745.patch | 11 ++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/patch/patch.cfg b/patch/patch.cfg index 1fd69b908..f096e9356 100644 --- a/patch/patch.cfg +++ b/patch/patch.cfg @@ -518,6 +518,9 @@ patches = [ # Add RenderWidgetHostImpl::SetCompositorForFlingScheduler to fix fling # scrolling in OSR mode. # https://github.com/chromiumembedded/cef/issues/2745 + # + # Fix crash in RenderWidgetHostImpl::WasHidden when closing OSR browser. + # https://github.com/chromiumembedded/cef/issues/3834 'name': 'osr_fling_2745', }, { diff --git a/patch/patches/osr_fling_2745.patch b/patch/patches/osr_fling_2745.patch index 34611a148..4f8fffefb 100644 --- a/patch/patches/osr_fling_2745.patch +++ b/patch/patches/osr_fling_2745.patch @@ -56,9 +56,18 @@ index f1030a744809c..c222a209949e6 100644 return nullptr; } diff --git content/browser/renderer_host/render_widget_host_impl.cc content/browser/renderer_host/render_widget_host_impl.cc -index 5a521aa5a6117..1a6454eb4f300 100644 +index 5a521aa5a6117..47433d6fb0841 100644 --- content/browser/renderer_host/render_widget_host_impl.cc +++ content/browser/renderer_host/render_widget_host_impl.cc +@@ -791,7 +791,7 @@ void RenderWidgetHostImpl::WasHidden() { + + // Cancel pending pointer lock requests, unless there's an open user prompt. + // Prompts should remain open and functional across tab switches. +- if (!delegate_->IsWaitingForPointerLockPrompt(this)) { ++ if (!delegate_ || !delegate_->IsWaitingForPointerLockPrompt(this)) { + RejectPointerLockOrUnlockIfNecessary( + blink::mojom::PointerLockResult::kWrongDocument); + } @@ -3232,6 +3232,11 @@ void RenderWidgetHostImpl::DecrementInFlightEventCount( } }