Yes I think that it is a in the setKeyboardSelectedRow method of
HasDataPresenter. The good news is that I think that it is an easy code change
to fix it.

The problem is in the following code:

    } else if (KeyboardPagingPolicy.CHANGE_PAGE == keyboardPagingPolicy) {
      // Go to previous page.
      while (index < 0) {
        newPageStart -= pageSize;
        index += pageSize;
      }

Clearly if newPageStart is less that pageSize, it will go negative. You just
need to add the following code:

      if (newPageStart < 0) {
        index += newPageStart;
        newPageStart = 0;
      }


In fact, a few lines down in the code for  handling
KeyboardPagingPolicy.INCREASE_RANGE == keyboardPagingPolicy
you do see this protection against going negative. I think that it was just an
oversight that it was missed out for the CHANGE_PAGE policy.

How do you go about getting these code changes into the main build?


-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to