Windows: Fix rescale bug while window is maximized

This commit is contained in:
dannye
2024-11-24 09:30:43 -06:00
committed by ManoloFLTK
parent 403981a293
commit f60af127de
+10
View File
@@ -1961,7 +1961,17 @@ int Fl_WinAPI_Window_Driver::fake_X_wm(int &X, int &Y, int &bt, int &bx, int &by
////////////////////////////////////////////////////////////////
static void delayed_maximize(Fl_Window *win) {
Fl::remove_check((Fl_Timeout_Handler)delayed_maximize, win);
win->un_maximize();
win->maximize();
}
void Fl_WinAPI_Window_Driver::resize(int X, int Y, int W, int H) {
if (Fl_Window::is_a_rescale() && pWindow->maximize_active()) {
Fl::add_check((Fl_Timeout_Handler)delayed_maximize, pWindow);
}
//fprintf(stderr, "resize w()=%d W=%d h()=%d H=%d\n",pWindow->w(), W,pWindow->h(), H);
UINT flags = SWP_NOSENDCHANGING | SWP_NOZORDER | SWP_NOACTIVATE | SWP_NOOWNERZORDER;
int is_a_resize = (W != w() || H != h() || Fl_Window::is_a_rescale());