From 8f89e237e9310bd38c1bf4da9f141791e72e242a Mon Sep 17 00:00:00 2001 From: Jonathan Moore Liles Date: Wed, 10 Apr 2013 17:22:04 -0700 Subject: [PATCH] FL: Fix error in flowpack layout. --- FL/Fl_Flowpack.H | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/FL/Fl_Flowpack.H b/FL/Fl_Flowpack.H index fe3980e..adde768 100644 --- a/FL/Fl_Flowpack.H +++ b/FL/Fl_Flowpack.H @@ -119,15 +119,15 @@ public: int LX = 0; int LY = 0; + int RH = 0; + for ( int i = 0; i < children(); ++i ) { Fl_Widget *o = child( i ); if ( ! o->visible() ) continue; - - H = o->h() > H ? o->h() : H; - + if ( _flow ) { if ( _flowdown && Y + o->h() < H ) @@ -138,18 +138,20 @@ public: else if ( X + o->w() >= W ) { /* maybe wrap to the next row */ - H += o->h(); - + H += RH + _vspacing; + RH = 0; X = 0; } else { /* otherwise, put it in the next column */ - Y = 0; + Y = H; } } + RH = o->h() > RH ? o->h() : RH; + LW = o->w(); LH = o->h(); @@ -183,6 +185,8 @@ public: _max_width = X; } + H += RH; + if ( ! _flow ) W = X; }