X11: Fix rescaling of non-resizable window (issue #491)

This commit is contained in:
Albrecht Schlosser 2022-08-29 18:54:18 +02:00
parent 1ca767eb13
commit 746135f0ae

View File

@ -2119,8 +2119,9 @@ int fl_handle(const XEvent& thisevent)
////////////////////////////////////////////////////////////////
void Fl_X11_Window_Driver::resize(int X,int Y,int W,int H) {
int is_a_move = (X != x() || Y != y() || Fl_Window::is_a_rescale());
int is_a_resize = (W != w() || H != h() || Fl_Window::is_a_rescale());
int is_a_rescale = Fl_Window::is_a_rescale();
int is_a_move = (X != x() || Y != y() || is_a_rescale);
int is_a_resize = (W != w() || H != h() || is_a_rescale);
int resize_from_program = (pWindow != resize_bug_fix);
if (!resize_from_program) resize_bug_fix = 0;
if (is_a_move && resize_from_program) force_position(1);
@ -2145,6 +2146,8 @@ void Fl_X11_Window_Driver::resize(int X,int Y,int W,int H) {
}
}
if (is_a_rescale) size_range();
if (resize_from_program && shown()) {
float s = Fl::screen_driver()->scale(screen_num());
if (is_a_resize) {