diff options
| -rw-r--r-- | src/drivers/X11/Fl_X11_Screen_Driver.cxx | 2 | ||||
| -rw-r--r-- | src/drivers/Xlib/Fl_Xlib_Graphics_Driver_image.cxx | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/src/drivers/X11/Fl_X11_Screen_Driver.cxx b/src/drivers/X11/Fl_X11_Screen_Driver.cxx index 0739cf974..b8056ff0d 100644 --- a/src/drivers/X11/Fl_X11_Screen_Driver.cxx +++ b/src/drivers/X11/Fl_X11_Screen_Driver.cxx @@ -796,8 +796,6 @@ Fl_RGB_Image *Fl_X11_Screen_Driver::read_win_rectangle(int X, int Y, int w, int sx *= s; sy *= s; sw *= s; sh *= s; } if (win && !allow_outside && int(s) != s) { - ws = (w+1)*s-1; - hs = (h+1)*s-1; if (Xs + ws >= int(win->w()*s)) ws = win->w()*s - Xs -1; if (Ys + hs >= int(win->h()*s)) hs = win->h()*s - Ys -1; } diff --git a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_image.cxx b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_image.cxx index adceeae4f..688457a24 100644 --- a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_image.cxx +++ b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_image.cxx @@ -762,8 +762,10 @@ void Fl_Xlib_Graphics_Driver::draw_rgb(Fl_RGB_Image *rgb, int XP, int YP, int WP cache(rgb); } cache_size(rgb, W, H); + int Wfull = rgb->w(), Hfull = rgb->h(); + cache_size(rgb, Wfull, Hfull); scale_and_render_pixmap( *Fl_Graphics_Driver::id(rgb), rgb->d(), - rgb->data_w() / double(rgb->w()*scale()), rgb->data_h() / double(rgb->h()*scale()), + rgb->data_w() / double(Wfull), rgb->data_h() / double(Hfull), cx*scale(), cy*scale(), (X + offset_x_)*scale(), (Y + offset_y_)*scale(), W, H); } |
