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 <shelley.vohr@gmail.com>
This commit is contained in:
parent
29d60d9b50
commit
9d97988c05
1 changed files with 5 additions and 9 deletions
|
@ -509,7 +509,7 @@ void NativeWindowViews::HandleSizeEvent(WPARAM w_param, LPARAM l_param) {
|
||||||
WINDOWPLACEMENT wp;
|
WINDOWPLACEMENT wp;
|
||||||
wp.length = sizeof(WINDOWPLACEMENT);
|
wp.length = sizeof(WINDOWPLACEMENT);
|
||||||
|
|
||||||
if (GetWindowPlacement(GetAcceleratedWidget(), &wp)) {
|
if (GetWindowPlacement(GetAcceleratedWidget(), &wp) && !was_snapped_) {
|
||||||
last_normal_placement_bounds_ = gfx::Rect(wp.rcNormalPosition);
|
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 &&
|
if (w_param == SIZE_MAXIMIZED &&
|
||||||
last_window_state_ != ui::mojom::WindowShowState::kMaximized) {
|
last_window_state_ != ui::mojom::WindowShowState::kMaximized) {
|
||||||
if (last_window_state_ == ui::mojom::WindowShowState::kMinimized) {
|
if (last_window_state_ == ui::mojom::WindowShowState::kMinimized) {
|
||||||
if (was_snapped_) {
|
|
||||||
SetRoundedCorners(false);
|
|
||||||
was_snapped_ = false;
|
|
||||||
}
|
|
||||||
NotifyWindowRestore();
|
NotifyWindowRestore();
|
||||||
|
if (was_snapped_)
|
||||||
|
was_snapped_ = false;
|
||||||
}
|
}
|
||||||
last_window_state_ = ui::mojom::WindowShowState::kMaximized;
|
last_window_state_ = ui::mojom::WindowShowState::kMaximized;
|
||||||
NotifyWindowMaximize();
|
NotifyWindowMaximize();
|
||||||
|
@ -545,12 +543,10 @@ void NativeWindowViews::HandleSizeEvent(WPARAM w_param, LPARAM l_param) {
|
||||||
last_window_state_ = ui::mojom::WindowShowState::kFullscreen;
|
last_window_state_ = ui::mojom::WindowShowState::kFullscreen;
|
||||||
NotifyWindowEnterFullScreen();
|
NotifyWindowEnterFullScreen();
|
||||||
} else {
|
} else {
|
||||||
if (was_snapped_) {
|
|
||||||
SetRoundedCorners(false);
|
|
||||||
was_snapped_ = false;
|
|
||||||
}
|
|
||||||
last_window_state_ = ui::mojom::WindowShowState::kNormal;
|
last_window_state_ = ui::mojom::WindowShowState::kNormal;
|
||||||
NotifyWindowRestore();
|
NotifyWindowRestore();
|
||||||
|
if (was_snapped_)
|
||||||
|
was_snapped_ = false;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue