Uploaded image for project: 'ZK'
  1. ZK
  2. ZK-3693

NPE + IndexOutOfBoundsException when replacing a listitem

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Normal
    • Resolution: Fixed
    • Affects Version/s: 8.5.0
    • Fix Version/s: 8.5.0
    • Component/s: Components
    • Security Level: Jimmy
    • Labels:

      Description

      Steps to Reproduce

      run the attached example rod-list-replace.zul
      1. scroll to the bottom of the listbox dragging the scrollbar
      2. scroll down again
      3. click the last listitem

      Current Result

      1. the scroll position will jump up again ~50% of the height
      2. the scroll position remains at the bottom
      3. 3 exceptions are thrown:

      java.lang.IndexOutOfBoundsException: Index: 276, Size: 160
      	at java.util.ArrayList.rangeCheck(ArrayList.java:653)
      	at java.util.ArrayList.get(ArrayList.java:429)
      	at org.zkoss.zul.ListModelList.getElementAt(ListModelList.java:158)
      	at org.zkoss.zul.Listbox$Renderer.render(Listbox.java:2759)
      	at org.zkoss.zul.Listbox.renderItems(Listbox.java:2891)
      	at org.zkoss.zkmax.zul.impl.LiveListboxDataLoader.loadModelAndRenderItems(LiveListboxDataLoader.java:292)
      	at org.zkoss.zkmax.zul.impl.LiveListboxDataLoader.access$200(LiveListboxDataLoader.java:60)
      	at org.zkoss.zkmax.zul.impl.LiveListboxDataLoader$1.onEvent(LiveListboxDataLoader.java:321)
      	at org.zkoss.zkmax.zul.impl.LiveListboxDataLoader$1.onEvent(LiveListboxDataLoader.java:310)
      	at org.zkoss.zk.ui.AbstractComponent.onEvent(AbstractComponent.java:3165)
      	at org.zkoss.zk.ui.AbstractComponent.service(AbstractComponent.java:3135)
      	at org.zkoss.zk.ui.AbstractComponent.service(AbstractComponent.java:3077)
      	at org.zkoss.zk.ui.impl.EventProcessor.process(EventProcessor.java:138)
      	at org.zkoss.zk.ui.impl.UiEngineImpl.processEvent(UiEngineImpl.java:1846)
      ...
      
      java.lang.NullPointerException
      	at org.zkoss.zul.Listbox$Renderer.render(Listbox.java:2754)
      	at org.zkoss.zul.Listbox.renderItems(Listbox.java:2891)
      	at org.zkoss.zul.Listbox.service(Listbox.java:3740)
      	at org.zkoss.zk.ui.impl.DesktopImpl.service(DesktopImpl.java:758)
      	at org.zkoss.zk.ui.impl.UiEngineImpl.execUpdate(UiEngineImpl.java:1310)
      	at org.zkoss.zk.au.http.DHtmlUpdateServlet.process(DHtmlUpdateServlet.java:606)
      ...
      
      java.lang.NullPointerException
      	at org.zkoss.zul.Listbox$Renderer.render(Listbox.java:2754)
      	at org.zkoss.zul.Listbox.renderItems(Listbox.java:2891)
      	at org.zkoss.zul.Listbox.service(Listbox.java:3740)
      	at org.zkoss.zk.ui.impl.DesktopImpl.service(DesktopImpl.java:758)
      	at org.zkoss.zk.ui.impl.UiEngineImpl.execUpdate(UiEngineImpl.java:1310)
      	at org.zkoss.zk.au.http.DHtmlUpdateServlet.process(DHtmlUpdateServlet.java:606)
      ...
      

      Expected Result

      stable scroll position
      no exceptions

      Debug Info

      related to ZK-3570 (ROD and renderAll are used in combination...)

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              rudyhuang rudyhuang
              Reporter:
              cor3000 cor3000
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 6 hours
                  6h