Project

General

Profile

Bug #2924

Bug #2677: fix drawing and functional differences between P2J GUI and 4GL GUI

The combobox drop down throws ArrayIndexOutOfBound exception if the scroll buttons are used

Added by Sergey Ivanovskiy over 8 years ago. Updated over 7 years ago.

Status:
Closed
Priority:
Normal
Start date:
12/08/2015
Due date:
% Done:

100%

billable:
No
vendor_id:
GCD
case_num:

array_index_out_2.txt Magnifier (3.24 KB) Sergey Ivanovskiy, 12/23/2015 05:53 AM

History

#1 Updated by Sergey Ivanovskiy over 8 years ago

The steps to reproduce for the swing client the current version 1811t ./combo_box/combo_box9_1.p are
1) Open the drop down list
2) Click on the down scroll bar button several times, then repeat clicking on the up scroll bar button until this exception

Dec 08, 2015 1:14:21 PM Dispatcher.processInbound() 
SEVERE: {main} Unexpected throwable.
java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at com.goldencode.p2j.util.MethodInvoker.invoke(MethodInvoker.java:76)
    at com.goldencode.p2j.net.Dispatcher.processInbound(Dispatcher.java:705)
    at com.goldencode.p2j.net.Conversation.block(Conversation.java:319)
    at com.goldencode.p2j.net.Conversation.waitMessage(Conversation.java:257)
    at com.goldencode.p2j.net.Queue.transactImpl(Queue.java:1128)
    at com.goldencode.p2j.net.Queue.transact(Queue.java:585)
    at com.goldencode.p2j.net.BaseSession.transact(BaseSession.java:223)
    at com.goldencode.p2j.net.HighLevelObject.transact(HighLevelObject.java:163)
    at com.goldencode.p2j.net.RemoteObject$RemoteAccess.invokeCore(RemoteObject.java:1425)
    at com.goldencode.p2j.net.InvocationStub.invoke(InvocationStub.java:97)
    at com.sun.proxy.$Proxy4.standardEntry(Unknown Source)
    at com.goldencode.p2j.main.ClientCore.start(ClientCore.java:281)
    at com.goldencode.p2j.main.ClientCore.start(ClientCore.java:102)
    at com.goldencode.p2j.main.ClientDriver.start(ClientDriver.java:201)
    at com.goldencode.p2j.main.CommonDriver.process(CommonDriver.java:398)
    at com.goldencode.p2j.main.ClientDriver.process(ClientDriver.java:95)
    at com.goldencode.p2j.main.ClientDriver.main(ClientDriver.java:267)
Caused by: java.lang.ArrayIndexOutOfBoundsException: -1
    at java.util.ArrayList.elementData(ArrayList.java:418)
    at java.util.ArrayList.get(ArrayList.java:431)
    at com.goldencode.p2j.ui.client.model.ListModel.get(ListModel.java:96)
    at com.goldencode.p2j.ui.client.ScrollableList.getItemText(ScrollableList.java:154)
    at com.goldencode.p2j.ui.client.gui.ScrollableSelectionListGuiImpl.drawItem(ScrollableSelectionListGuiImpl.java:601)
    at com.goldencode.p2j.ui.client.gui.ScrollableSelectionListGuiImpl.access$400(ScrollableSelectionListGuiImpl.java:65)
    at com.goldencode.p2j.ui.client.gui.ScrollableSelectionListGuiImpl$2.run(ScrollableSelectionListGuiImpl.java:216)
    at com.goldencode.p2j.ui.client.gui.driver.AbstractGuiDriver.draw(AbstractGuiDriver.java:1988)
    at com.goldencode.p2j.ui.client.gui.ScrollableSelectionListGuiImpl.draw(ScrollableSelectionListGuiImpl.java:177)
    at com.goldencode.p2j.ui.client.widget.Viewport.draw(Viewport.java:64)
    at com.goldencode.p2j.ui.client.widget.AbstractContainer.draw(AbstractContainer.java:410)
    at com.goldencode.p2j.ui.client.gui.BorderedPanelGuiImpl.access$501(BorderedPanelGuiImpl.java:37)
    at com.goldencode.p2j.ui.client.gui.BorderedPanelGuiImpl$1$1.run(BorderedPanelGuiImpl.java:200)
    at com.goldencode.p2j.ui.client.gui.driver.AbstractGuiDriver.draw(AbstractGuiDriver.java:1988)
    at com.goldencode.p2j.ui.client.gui.BorderedPanelGuiImpl$1.run(BorderedPanelGuiImpl.java:189)
    at com.goldencode.p2j.ui.client.gui.driver.AbstractGuiDriver.draw(AbstractGuiDriver.java:1988)
    at com.goldencode.p2j.ui.client.gui.BorderedPanelGuiImpl.draw(BorderedPanelGuiImpl.java:136)
    at com.goldencode.p2j.ui.client.gui.ScrollPaneGuiImpl$2.run(ScrollPaneGuiImpl.java:159)
    at com.goldencode.p2j.ui.client.gui.driver.AbstractGuiDriver.draw(AbstractGuiDriver.java:1988)
    at com.goldencode.p2j.ui.client.gui.ScrollPaneGuiImpl.draw(ScrollPaneGuiImpl.java:150)
    at com.goldencode.p2j.ui.client.widget.AbstractContainer.draw(AbstractContainer.java:410)
    at com.goldencode.p2j.ui.client.widget.TitledWindow.draw(TitledWindow.java:100)
    at com.goldencode.p2j.ui.client.widget.OuterFrame.drawInt(OuterFrame.java:98)
    at com.goldencode.p2j.ui.client.gui.DropDownGuiImpl.access$000(DropDownGuiImpl.java:42)
    at com.goldencode.p2j.ui.client.gui.DropDownGuiImpl$1.run(DropDownGuiImpl.java:224)
    at com.goldencode.p2j.ui.client.gui.driver.AbstractGuiDriver.draw(AbstractGuiDriver.java:1988)
    at com.goldencode.p2j.ui.client.gui.DropDownGuiImpl.draw(DropDownGuiImpl.java:219)
    at com.goldencode.p2j.ui.client.widget.AbstractContainer.draw(AbstractContainer.java:410)
    at com.goldencode.p2j.ui.client.widget.Viewport.draw(Viewport.java:64)
    at com.goldencode.p2j.ui.client.widget.AbstractContainer.draw(AbstractContainer.java:410)
    at com.goldencode.p2j.ui.client.gui.BorderedPanelGuiImpl.access$501(BorderedPanelGuiImpl.java:37)
    at com.goldencode.p2j.ui.client.gui.BorderedPanelGuiImpl$1$1.run(BorderedPanelGuiImpl.java:200)
    at com.goldencode.p2j.ui.client.gui.driver.AbstractGuiDriver.draw(AbstractGuiDriver.java:1988)
    at com.goldencode.p2j.ui.client.gui.BorderedPanelGuiImpl$1.run(BorderedPanelGuiImpl.java:189)
    at com.goldencode.p2j.ui.client.gui.driver.AbstractGuiDriver.draw(AbstractGuiDriver.java:1988)
    at com.goldencode.p2j.ui.client.gui.BorderedPanelGuiImpl.draw(BorderedPanelGuiImpl.java:136)
    at com.goldencode.p2j.ui.client.gui.ScrollPaneGuiImpl$2.run(ScrollPaneGuiImpl.java:159)
    at com.goldencode.p2j.ui.client.gui.driver.AbstractGuiDriver.draw(AbstractGuiDriver.java:1988)
    at com.goldencode.p2j.ui.client.gui.ScrollPaneGuiImpl.draw(ScrollPaneGuiImpl.java:150)
    at com.goldencode.p2j.ui.client.gui.WindowWorkSpace.draw(WindowWorkSpace.java:87)
    at com.goldencode.p2j.ui.client.widget.AbstractContainer.draw(AbstractContainer.java:410)
    at com.goldencode.p2j.ui.client.gui.BorderedPanelGuiImpl.access$501(BorderedPanelGuiImpl.java:37)
    at com.goldencode.p2j.ui.client.gui.BorderedPanelGuiImpl$1$1.run(BorderedPanelGuiImpl.java:200)
    at com.goldencode.p2j.ui.client.gui.driver.AbstractGuiDriver.draw(AbstractGuiDriver.java:1988)
    at com.goldencode.p2j.ui.client.gui.BorderedPanelGuiImpl$1.run(BorderedPanelGuiImpl.java:189)
    at com.goldencode.p2j.ui.client.gui.driver.AbstractGuiDriver.draw(AbstractGuiDriver.java:1988)
    at com.goldencode.p2j.ui.client.gui.BorderedPanelGuiImpl.draw(BorderedPanelGuiImpl.java:136)
    at com.goldencode.p2j.ui.client.Window.draw(Window.java:1373)
    at com.goldencode.p2j.ui.client.gui.WindowGuiImpl.draw(WindowGuiImpl.java:469)
    at com.goldencode.p2j.ui.client.OutputManager.setInvalidate(OutputManager.java:1275)
    at com.goldencode.p2j.ui.chui.ThinClient.eventDrawingBracket(ThinClient.java:13840)
    at com.goldencode.p2j.ui.chui.ThinClient.applyWorker(ThinClient.java:13589)
    at com.goldencode.p2j.ui.chui.ThinClient.waitForEvent(ThinClient.java:12916)
    at com.goldencode.p2j.ui.chui.ThinClient.waitForWorker(ThinClient.java:10841)
    at com.goldencode.p2j.ui.client.ComboBox.activate(ComboBox.java:1097)
    at com.goldencode.p2j.ui.client.gui.ComboBoxGuiImpl.mousePressed(ComboBoxGuiImpl.java:429)
    at com.goldencode.p2j.ui.client.gui.driver.MouseHandler.applyMouseEvent(MouseHandler.java:323)
    at com.goldencode.p2j.ui.client.gui.driver.MouseHandler.handleMouseEvent(MouseHandler.java:238)
    at com.goldencode.p2j.ui.client.gui.driver.AbstractGuiDriver.handleMouseEvent(AbstractGuiDriver.java:2393)
    at com.goldencode.p2j.ui.client.TopLevelWindow.processEvent(TopLevelWindow.java:669)
    at com.goldencode.p2j.ui.client.gui.WindowGuiImpl.processEvent(WindowGuiImpl.java:1315)
    at com.goldencode.p2j.ui.chui.ThinClient.processProgressEvent(ThinClient.java:15280)
    at com.goldencode.p2j.ui.chui.ThinClient.processEventsWorker(ThinClient.java:14903)
    at com.goldencode.p2j.ui.chui.ThinClient.pop(ThinClient.java:13932)
    at com.goldencode.p2j.ui.chui.ThinClient.eventBracket(ThinClient.java:13915)
    at com.goldencode.p2j.ui.chui.ThinClient.eventDrawingBracket(ThinClient.java:13833)
    at com.goldencode.p2j.ui.chui.ThinClient.applyWorker(ThinClient.java:13589)
    at com.goldencode.p2j.ui.chui.ThinClient.waitForWorker(ThinClient.java:10915)
    at com.goldencode.p2j.ui.chui.ThinClient.waitFor(ThinClient.java:10423)
    at com.goldencode.p2j.ui.chui.ThinClient.waitFor(ThinClient.java:10377)
    ... 21 more

I haven't checked it for the trunc yet.

#2 Updated by Sergey Ivanovskiy over 8 years ago

Greg, please review the committed revision 10969. The bug's root causes are invalid auto generated scroll events.

#3 Updated by Greg Shah over 8 years ago

  • Status changed from New to Closed
  • % Done changed from 0 to 100
  • Assignee set to Sergey Ivanovskiy
  • Target version set to Milestone 12

Code Review Task Branch 1811t Revision 10969

The changes look good.

#4 Updated by Greg Shah over 7 years ago

  • Target version changed from Milestone 12 to GUI Support for a Complex ADM2 App

Also available in: Atom PDF