Reviewers: ruce_google.com,

Description:
Fixes a list subset error in AbstractListModel that was breaking paging.
Changes ListListModel's deferred command to be more careful about
clearing
its pending state (so that an exception won't break it permanently).


Please review this at http://gwt-code-reviews.appspot.com/293801/show

Affected files:
  M bikeshed/src/com/google/gwt/bikeshed/list/shared/AbstractListModel.java
  M bikeshed/src/com/google/gwt/bikeshed/list/shared/ListListModel.java


Index: bikeshed/src/com/google/gwt/bikeshed/list/shared/AbstractListModel.java
===================================================================
--- bikeshed/src/com/google/gwt/bikeshed/list/shared/AbstractListModel.java (revision 7826) +++ bikeshed/src/com/google/gwt/bikeshed/list/shared/AbstractListModel.java (working copy)
@@ -159,7 +159,8 @@
         int realStart = curStart < start ? start : curStart;
         int realEnd = curEnd > end ? end : curEnd;
         int realLength = realEnd - realStart;
-        List<T> realValues = values.subList(0, realLength);
+        List<T> realValues = values.subList(realStart - start,
+            realStart - start + realLength);
ListEvent<T> event = new ListEvent<T>(realStart, realLength, realValues);
         reg.getHandler().onDataChanged(event);
       }
Index: bikeshed/src/com/google/gwt/bikeshed/list/shared/ListListModel.java
===================================================================
--- bikeshed/src/com/google/gwt/bikeshed/list/shared/ListListModel.java (revision 7826) +++ bikeshed/src/com/google/gwt/bikeshed/list/shared/ListListModel.java (working copy)
@@ -48,6 +48,8 @@
      */
     private Command flushCommand = new Command() {
       public void execute() {
+        flushPending = false;
+
         int newSize = list.size();
         if (curSize != newSize) {
           curSize = newSize;
@@ -61,7 +63,6 @@
         }
         minModified = Integer.MAX_VALUE;
         maxModified = Integer.MIN_VALUE;
-        flushPending = false;
       }
     };



--
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to