Thanks for the fix Noel, this bug actually bit me today :))

-- Edvin

-----Original Message-----
From: [email protected] [mailto:[email protected]] 
Sent: 24. oktober 2011 13:04
To: [email protected]
Subject: svn commit: r1188090 - 
/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/TablePaneSkin.java

Author: noelgrandin
Date: Mon Oct 24 11:03:46 2011
New Revision: 1188090

URL: http://svn.apache.org/viewvc?rev=1188090&view=rev
Log:
fix potential infinite loop

Modified:
    pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/TablePaneSkin.java

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/TablePaneSkin.java
URL: 
http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/TablePaneSkin.java?rev=1188090&r1=1188089&r2=1188090&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/TablePaneSkin.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/TablePaneSkin.java Mon 
+++ Oct 24 11:03:46 2011
@@ -1512,7 +1512,9 @@ public class TablePaneSkin extends Conta
 
         // If we have don't actually have enough height available
 
-        while (remainingHeight < 0) {
+        int progress = 1; // prevent infinite loop
+        while (remainingHeight < 0 && progress > 0) {
+            progress = 0;
             for (int i = 0; i < rowCount; i++) {
                 if (isRowVisible(i)) {
                     TablePane.Row row = rows.get(i); @@ -1520,6 +1522,7 @@ 
public class TablePaneSkin extends Conta
                         if (rowHeights[i] > 0) {
                             rowHeights[i]--;
                             remainingHeight++;
+                            progress++;
                             if (remainingHeight >= 0) break;
                         }
                     }


Reply via email to