]> git.saurik.com Git - wxWidgets.git/blobdiff - src/html/htmlcell.cpp
BU_EXACTFIT adapted
[wxWidgets.git] / src / html / htmlcell.cpp
index 986f6436f00d6df41f1707f539b4043ede7d7909..4747a35f431c92554eb041e208dd696d3ff86214 100644 (file)
@@ -4,7 +4,7 @@
 // Author:      Vaclav Slavik
 // RCS-ID:      $Id$
 // Copyright:   (c) 1999 Vaclav Slavik
-// Licence:     wxWidgets Licence
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
@@ -775,7 +775,7 @@ void wxHtmlContainerCell::Layout(int w)
                 // between two cells separated by, e.g. font change, cell which
                 // is wrong
 
-                const int step = s_width - xpos;
+                int step = s_width - xpos;
                 if ( step > 0 )
                 {
                     // first count the cells which will get extra space
@@ -800,7 +800,7 @@ void wxHtmlContainerCell::Layout(int w)
                     {
                         prev =
                         next = NULL;
-                        for ( int n = 0; line != cell; line = line->GetNext() )
+                        for ( int n = 0; line != cell; prev = line, line = line->GetNext() )
                         {
                             line->SetPos(line->GetPosX() + s_indent +
                                            ((n * step) / total),
@@ -818,8 +818,14 @@ void wxHtmlContainerCell::Layout(int w)
                             }
                         }
                     }
+                    else
+                    {
+                        // this will cause the code to enter "else branch" below:
+                        step = 0;
+                    }
                 }
-                else // no extra space to distribute
+                // else branch:
+                if ( step <= 0 ) // no extra space to distribute
                 {
                     // just set the indent properly
                     while (line != cell)