From 9d97988c05cb1cb6fdcb37beedeaf231383bbc6d Mon Sep 17 00:00:00 2001 From: "trop[bot]" <37223003+trop[bot]@users.noreply.github.com> Date: Fri, 3 Oct 2025 00:11:53 +0200 Subject: [PATCH] fix: snapped window restoring to correct position (#48438) Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Shelley Vohr --- shell/browser/native_window_views_win.cc | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/shell/browser/native_window_views_win.cc b/shell/browser/native_window_views_win.cc index fc1f476a93b..d2229721567 100644 --- a/shell/browser/native_window_views_win.cc +++ b/shell/browser/native_window_views_win.cc @@ -509,7 +509,7 @@ void NativeWindowViews::HandleSizeEvent(WPARAM w_param, LPARAM l_param) { WINDOWPLACEMENT wp; wp.length = sizeof(WINDOWPLACEMENT); - if (GetWindowPlacement(GetAcceleratedWidget(), &wp)) { + if (GetWindowPlacement(GetAcceleratedWidget(), &wp) && !was_snapped_) { last_normal_placement_bounds_ = gfx::Rect(wp.rcNormalPosition); } @@ -518,11 +518,9 @@ void NativeWindowViews::HandleSizeEvent(WPARAM w_param, LPARAM l_param) { if (w_param == SIZE_MAXIMIZED && last_window_state_ != ui::mojom::WindowShowState::kMaximized) { if (last_window_state_ == ui::mojom::WindowShowState::kMinimized) { - if (was_snapped_) { - SetRoundedCorners(false); - was_snapped_ = false; - } NotifyWindowRestore(); + if (was_snapped_) + was_snapped_ = false; } last_window_state_ = ui::mojom::WindowShowState::kMaximized; NotifyWindowMaximize(); @@ -545,12 +543,10 @@ void NativeWindowViews::HandleSizeEvent(WPARAM w_param, LPARAM l_param) { last_window_state_ = ui::mojom::WindowShowState::kFullscreen; NotifyWindowEnterFullScreen(); } else { - if (was_snapped_) { - SetRoundedCorners(false); - was_snapped_ = false; - } last_window_state_ = ui::mojom::WindowShowState::kNormal; NotifyWindowRestore(); + if (was_snapped_) + was_snapped_ = false; } break; default: