diff options
| author | Manolo Gouy <Manolo> | 2017-07-26 07:45:59 +0000 |
|---|---|---|
| committer | Manolo Gouy <Manolo> | 2017-07-26 07:45:59 +0000 |
| commit | 4c999258f1c04cf02bd0d28a8e30f3fba4f84776 (patch) | |
| tree | b9dedd9279efb5097a1c526a53c4408d7e110910 /src/drivers/X11 | |
| parent | 463b3e5d9d1c34fee5fd3d5151f228435467f3f0 (diff) | |
X11 platform, resize window when moved across screens: remove hide()/show() calls.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12355 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/drivers/X11')
| -rw-r--r-- | src/drivers/X11/Fl_X11_Window_Driver.cxx | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/drivers/X11/Fl_X11_Window_Driver.cxx b/src/drivers/X11/Fl_X11_Window_Driver.cxx index f1a6962ac..7928dbba4 100644 --- a/src/drivers/X11/Fl_X11_Window_Driver.cxx +++ b/src/drivers/X11/Fl_X11_Window_Driver.cxx @@ -701,15 +701,13 @@ void Fl_X11_Window_Driver::resize_after_screen_change(void *data) { XGetWindowAttributes(fl_display, fl_xid(win), &actual); Window cr; XTranslateCoordinates(fl_display, fl_xid(win), actual.root, 0, 0, &oldx, &oldy, &cr); - win->hide(); 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); - win->position(oldx/f, oldy/f); - win->driver()->force_position(1); - Fl_Xlib_Graphics_Driver *d = (Fl_Xlib_Graphics_Driver*)Fl_Display_Device::display_device()->driver(); - d->scale(f); - win->show(); - win->wait_for_expose(); + Fl_Display_Device::display_device()->driver()->scale(f); + in_resize_after_scale_change = true; + win->driver()->size_range(); + win->resize(oldx/f, oldy/f, win->w(), win->h()); + in_resize_after_scale_change = false; data_for_resize_window_between_screens_.busy = false; } |
