AWT falls in infinite loop
U verdier philippe
verdier at ditv-philips.fr
Thu Aug 13 02:32:40 PDT 1998
I run the ICE web-browser (http://www.icesoft.no or Gamelan) and
AWT falls in infinite loop (which leads to a 'StackOverflowError'
in the VM of course). Here is the calls stack for a 'mouseEnter'
| -> AWTEvent.transferMouse
| -> DocContainer.processMouseEvent
| DocContainer is the component called 'to' (a 'transferMouse'
| method parameter). It is a component of the ICE browser which
| has a mouse listener. At this time, the 'DocContainer.processMouseEvent'
| method calls 'Component.processMouseEvent' which itself calls
| the component mouse listener (which does nothing). Then, the
| 'Component.processEvent' method is called:
| -> Component.processEvent
| -> MouseEvent.dispatch ----
Of course, the ICE browser works very well with JDK 1.1 !
Since all the events are managed through 'EventDispatchThread.run',
I think we can simply remove the call to 'dispatch' in the
'Component.processEvent' ! No ?
More information about the kaffe