X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fd0bab435360c3c0e889dc242458d32760f4630f..ad02525dadb780a4bacb6482ac633e90a10fe25c:/src/html/htmlcell.cpp diff --git a/src/html/htmlcell.cpp b/src/html/htmlcell.cpp index 3a100af4d6..3244eb577f 100644 --- a/src/html/htmlcell.cpp +++ b/src/html/htmlcell.cpp @@ -21,11 +21,11 @@ #include "wx/colour.h" #include "wx/dc.h" #include "wx/settings.h" + #include "wx/module.h" #endif #include "wx/html/htmlcell.h" #include "wx/html/htmlwin.h" -#include "wx/module.h" #include @@ -884,12 +884,12 @@ void wxHtmlContainerCell::Layout(int w) if ( step > 0 ) { // first count the cells which will get extra space - int total = 0; + int total = -1; const wxHtmlCell *c; if ( line != cell ) { - for ( c = line->GetNext(); c != cell; c = c->GetNext() ) + for ( c = line; c != cell; c = c->GetNext() ) { if ( c->IsLinebreakAllowed() ) { @@ -901,11 +901,22 @@ void wxHtmlContainerCell::Layout(int w) // and now extra space to those cells which merit it if ( total ) { - // first cell on line is not moved: - line->SetPos(line->GetPosX() + s_indent, - line->GetPosY() + ypos); + // first visible cell on line is not moved: + while (line !=cell && !line->IsLinebreakAllowed()) + { + line->SetPos(line->GetPosX() + s_indent, + line->GetPosY() + ypos); + line = line->GetNext(); + } + + if (line != cell) + { + line->SetPos(line->GetPosX() + s_indent, + line->GetPosY() + ypos); + + line = line->GetNext(); + } - line = line->GetNext(); for ( int n = 0; line != cell; line = line->GetNext() ) { if ( line->IsLinebreakAllowed() )