diff --git a/ui/ozone/platform/wayland/host/wayland_window.cc b/ui/ozone/platform/wayland/host/wayland_window.cc index 7701deda447bd..ac4db9e59db12 100644 --- a/ui/ozone/platform/wayland/host/wayland_window.cc +++ b/ui/ozone/platform/wayland/host/wayland_window.cc @@ -1323,7 +1323,13 @@ void WaylandWindow::ProcessPendingConfigureState(uint32_t serial) { } } + // RequestStateFromServer transitively calls delegate()->OnStateUpdate(), + // which may synchronously delete |this|. + auto weak_this = AsWeakPtr(); RequestStateFromServer(state, serial); + if (!weak_this) { + return; + } // Reset values. pending_configure_state_ = PendingConfigureState();