From 5cc9845f2f2805efd8e831f29810f91ad793c530 Mon Sep 17 00:00:00 2001 From: ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> Date: Wed, 11 Sep 2024 22:17:07 +0200 Subject: [PATCH] Fix "fl_read_image() missing right and bottom pixel line" (#1066) --- src/drivers/X11/Fl_X11_Screen_Driver.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/drivers/X11/Fl_X11_Screen_Driver.cxx b/src/drivers/X11/Fl_X11_Screen_Driver.cxx index fffce8d35..5f9acfb55 100644 --- a/src/drivers/X11/Fl_X11_Screen_Driver.cxx +++ b/src/drivers/X11/Fl_X11_Screen_Driver.cxx @@ -706,8 +706,8 @@ Fl_RGB_Image *Fl_X11_Screen_Driver::read_win_rectangle(int X, int Y, int w, int hs = (h+1) * s; } #endif - if (!allow_outside && win && Xs + ws >= int(win->w()*s)) ws = win->w()*s - Xs -1; - if (!allow_outside && win && Ys + hs >= int(win->h()*s)) hs = win->h()*s - Ys -1; + if (!allow_outside && win && Xs + ws > int(win->w()*s)) ws = win->w()*s - Xs; + if (!allow_outside && win && Ys + hs > int(win->h()*s)) hs = win->h()*s - Ys; if (ws < 1) ws = 1; if (hs < 1) hs = 1; if (!win || (dx >= sx && dy >= sy && dx + ws <= sx+sw && dy + hs <= sy+sh) ) {