From bc842ea528e7654db40f9c60571a48a6fd663804 Mon Sep 17 00:00:00 2001 From: Matthias Melcher Date: Thu, 18 Jan 2007 10:01:24 +0000 Subject: [PATCH] Fixed drawing issues of a tile in a scroll (STR #1507) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5606 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- CHANGES | 1 + src/Fl_Tile.cxx | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index 39ac34020..32d12fb09 100644 --- a/CHANGES +++ b/CHANGES @@ -1,5 +1,6 @@ CHANGES IN FLTK 1.1.8 + - Fixed drawing issues of a tile in a scroll (STR #1507) - Fixed dismissing buttons in menu bars (STR #1494) - Making a child group visible in a Fl_Tabs or Fl_Wizard group now shows that tab or pane. diff --git a/src/Fl_Tile.cxx b/src/Fl_Tile.cxx index ead237cad..2c70ea513 100644 --- a/src/Fl_Tile.cxx +++ b/src/Fl_Tile.cxx @@ -66,6 +66,8 @@ void Fl_Tile::position(int oix, int oiy, int newx, int newy) { // move the lower-right corner (sort of): void Fl_Tile::resize(int X,int Y,int W,int H) { + //Fl_Group::resize(X, Y, W, H); + //return; // remember how much to move the child widgets: int dx = X-x(); int dy = Y-y(); @@ -92,7 +94,9 @@ void Fl_Tile::resize(int X,int Y,int W,int H) { int B = yy+o->h(); if (*p++ >= OB) yy += dh; else if (yy > NB) yy = NB; if (*p++ >= OB) B += dh; else if (B > NB) B = NB; - o->resize(xx,yy,R-xx,B-yy); o->redraw(); + o->resize(xx,yy,R-xx,B-yy); + // do *not* call o->redraw() here! If you do, and the tile is inside a + // scroll, it'll set the damage areas wrong for all children! } }