From c0d2aa3f09ab0f68265d1aee28b9121bfadc945e Mon Sep 17 00:00:00 2001 From: ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> Date: Thu, 25 Apr 2024 15:12:34 +0200 Subject: [PATCH] Fix problem in window titlebar capture under X11. --- 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 8dc79fc68..270504fd7 100644 --- a/src/drivers/X11/Fl_X11_Screen_Driver.cxx +++ b/src/drivers/X11/Fl_X11_Screen_Driver.cxx @@ -703,8 +703,8 @@ Fl_RGB_Image *Fl_X11_Screen_Driver::read_win_rectangle(int X, int Y, int w, int hs = (h+1) * s; } #endif - if (win && Xs + ws >= int(win->w()*s)) ws = win->w()*s - Xs -1; - if (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 -1; + if (!allow_outside && win && Ys + hs >= int(win->h()*s)) hs = win->h()*s - Ys -1; if (ws < 1) ws = 1; if (hs < 1) hs = 1; if (!win || (dx >= sx && dy >= sy && dx + ws <= sx+sw && dy + hs <= sy+sh) ) {