FL: Fix error in flowpack layout.

This commit is contained in:
Jonathan Moore Liles 2013-04-10 17:22:04 -07:00
parent e386d963aa
commit 8f89e237e9
1 changed files with 10 additions and 6 deletions

View File

@ -119,6 +119,8 @@ public:
int LX = 0; int LX = 0;
int LY = 0; int LY = 0;
int RH = 0;
for ( int i = 0; i < children(); ++i ) for ( int i = 0; i < children(); ++i )
{ {
Fl_Widget *o = child( i ); Fl_Widget *o = child( i );
@ -126,8 +128,6 @@ public:
if ( ! o->visible() ) if ( ! o->visible() )
continue; continue;
H = o->h() > H ? o->h() : H;
if ( _flow ) if ( _flow )
{ {
if ( _flowdown && Y + o->h() < H ) if ( _flowdown && Y + o->h() < H )
@ -138,18 +138,20 @@ public:
else if ( X + o->w() >= W ) else if ( X + o->w() >= W )
{ {
/* maybe wrap to the next row */ /* maybe wrap to the next row */
H += o->h(); H += RH + _vspacing;
RH = 0;
X = 0; X = 0;
} }
else else
{ {
/* otherwise, put it in the next column */ /* otherwise, put it in the next column */
Y = 0; Y = H;
} }
} }
RH = o->h() > RH ? o->h() : RH;
LW = o->w(); LW = o->w();
LH = o->h(); LH = o->h();
@ -183,6 +185,8 @@ public:
_max_width = X; _max_width = X;
} }
H += RH;
if ( ! _flow ) if ( ! _flow )
W = X; W = X;
} }