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:
parent
acfbbe9869
commit
32d4c9ad85
3 changed files with 36 additions and 5 deletions
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue