summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Fl_Window_Driver.cxx2
-rw-r--r--src/drivers/X11/Fl_X11_Window_Driver.cxx12
2 files changed, 2 insertions, 12 deletions
diff --git a/src/Fl_Window_Driver.cxx b/src/Fl_Window_Driver.cxx
index 1d1eac07e..288ac8257 100644
--- a/src/Fl_Window_Driver.cxx
+++ b/src/Fl_Window_Driver.cxx
@@ -269,8 +269,8 @@ void Fl_Window_Driver::resize_after_scale_change(int ns, float old_f, float new_
W = pWindow->w(); H = pWindow->h();
}
is_a_rescale = true;
- pWindow->resize(pWindow->x()*old_f/new_f, pWindow->y()*old_f/new_f, W, H);
size_range();
+ pWindow->resize(pWindow->x()*old_f/new_f, pWindow->y()*old_f/new_f, W, H);
is_a_rescale = false;
}
diff --git a/src/drivers/X11/Fl_X11_Window_Driver.cxx b/src/drivers/X11/Fl_X11_Window_Driver.cxx
index a374bd84c..c94ea8f97 100644
--- a/src/drivers/X11/Fl_X11_Window_Driver.cxx
+++ b/src/drivers/X11/Fl_X11_Window_Driver.cxx
@@ -696,18 +696,8 @@ Fl_X11_Window_Driver::type_for_resize_window_between_screens Fl_X11_Window_Drive
void Fl_X11_Window_Driver::resize_after_screen_change(void *data) {
Fl_Window *win = (Fl_Window*)data;
- int oldx, oldy;
- XWindowAttributes actual;
- XGetWindowAttributes(fl_display, fl_xid(win), &actual);
- Window cr;
- XTranslateCoordinates(fl_display, fl_xid(win), actual.root, 0, 0, &oldx, &oldy, &cr);
float f = Fl::screen_driver()->scale(data_for_resize_window_between_screens_.screen);
- Fl_X11_Window_Driver::driver(win)->screen_num(data_for_resize_window_between_screens_.screen);
- Fl_Display_Device::display_device()->driver()->scale(f);
- is_a_rescale = true;
- win->driver()->size_range();
- win->resize(oldx/f, oldy/f, win->w(), win->h());
- is_a_rescale = false;
+ win->driver()->resize_after_scale_change(data_for_resize_window_between_screens_.screen, f, f);
data_for_resize_window_between_screens_.busy = false;
}