fix: add check in IsMaximized for non-WS_THICKFRAME windows (#26586)

* fix: add check in IsMaximized for non-WS_THICKFRAME windows

* remove logs

* change GetPosition for GetNativeWindow

* change GetPosition for GetNativeWindow in IsMaximize

* add top left corner check

* add transparent maximization test

* replace window and display comparison

* rebase off master
This commit is contained in:
Michaela Laurencin 2020-11-30 22:27:58 -08:00 committed by GitHub
parent acfbbe9869
commit 32d4c9ad85
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 36 additions and 5 deletions

View file

@ -149,9 +149,7 @@ std::set<NativeWindowViews*> NativeWindowViews::forwarding_windows_;
HHOOK NativeWindowViews::mouse_hook_ = NULL;
void NativeWindowViews::Maximize() {
// Only use Maximize() when:
// 1. window has WS_THICKFRAME style;
// 2. and window is not frameless when there is autohide taskbar.
// Only use Maximize() when window has WS_THICKFRAME style
if (::GetWindowLong(GetAcceleratedWidget(), GWL_STYLE) & WS_THICKFRAME) {
if (IsVisible())
widget()->Maximize();
@ -161,8 +159,8 @@ void NativeWindowViews::Maximize() {
return;
} else {
restore_bounds_ = GetBounds();
auto display =
display::Screen::GetScreen()->GetDisplayNearestPoint(GetPosition());
auto display = display::Screen::GetScreen()->GetDisplayNearestWindow(
GetNativeWindow());
SetBounds(display.work_area(), false);
}
}