diff options
| -rw-r--r-- | src/Fl_Screen_Driver.cxx | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/src/Fl_Screen_Driver.cxx b/src/Fl_Screen_Driver.cxx index c331ed525..e9fd4ec73 100644 --- a/src/Fl_Screen_Driver.cxx +++ b/src/Fl_Screen_Driver.cxx @@ -238,10 +238,7 @@ Fl_RGB_Image *Fl_Screen_Driver::traverse_to_gl_subwindows(Fl_Group *g, uchar *p, // the starting window or one inside a GL window if (full_img) g->as_window()->make_current(); int alloc_img = (full_img != NULL || p == NULL); // false means use p, don't alloc new memory for image - // on Darwin + X11, read_win_rectangle() sometimes returns NULL when there are subwindows, - // thus the call is repeated - do full_img = Fl::screen_driver()->read_win_rectangle( (alloc_img ? NULL : p), x, y, w, h, alpha); - while (!full_img); + full_img = Fl::screen_driver()->read_win_rectangle( (alloc_img ? NULL : p), x, y, w, h, alpha); } int n = g->children(); for (int i = 0; i < n; i++) { |
