Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 361219

Summary: NPE from JFace CellEditor code on session timeout
Product: [RT] RAP Reporter: Ralf Sternberg <rsternberg>
Component: JFaceAssignee: Project Inbox <rap-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: 1.5   
Target Milestone: 1.5 M3   
Hardware: PC   
OS: Linux   
Whiteboard:

Description Ralf Sternberg CLA 2011-10-18 04:42:40 EDT
With the controls demo I observed this NPE at session timeout:
Exception while disposing shell: Shell {RWT
 Controls
 Demo}
java.lang.NullPointerException
	at org.eclipse.jface.viewers.TableViewerFocusCellManager.getInitialFocusCell(TableViewerFocusCellManager.java:71)
	at org.eclipse.jface.viewers.SWTFocusCellManager.handleFocusIn(SWTFocusCellManager.java:129)
	at org.eclipse.jface.viewers.SWTFocusCellManager.access$3(SWTFocusCellManager.java:127)
	at org.eclipse.jface.viewers.SWTFocusCellManager$2.handleEvent(SWTFocusCellManager.java:150)
	at org.eclipse.swt.internal.widgets.UntypedEventAdapter.dispatchEvent(UntypedEventAdapter.java:652)
	at org.eclipse.swt.internal.widgets.UntypedEventAdapter.focusGained(UntypedEventAdapter.java:96)
	at org.eclipse.swt.events.FocusEvent.dispatchToObserver(FocusEvent.java:68)
	at org.eclipse.rwt.internal.events.Event.processEvent(Event.java:44)
	at org.eclipse.swt.events.TypedEvent.processEvent(TypedEvent.java:161)
	at org.eclipse.swt.widgets.Display.setFocusControl(Display.java:291)
	at org.eclipse.swt.widgets.Display.access$3(Display.java:279)
	at org.eclipse.swt.widgets.Display$DisplayAdapter.setFocusControl(Display.java:2387)
	at org.eclipse.swt.widgets.Control.setFocusControl(Control.java:2344)
	at org.eclipse.swt.widgets.Control.forceFocus(Control.java:761)
	at org.eclipse.swt.widgets.Control.setFixedFocus(Control.java:2399)
	at org.eclipse.swt.widgets.Control.fixFocus(Control.java:2383)
	at org.eclipse.swt.widgets.Control.setVisible(Control.java:266)
	at org.eclipse.jface.viewers.CellEditor.deactivate(CellEditor.java:270)
	at org.eclipse.jface.viewers.CellEditor.deactivate(CellEditor.java:911)
	at org.eclipse.jface.viewers.ColumnViewerEditor.cancelEditing(ColumnViewerEditor.java:401)
	at org.eclipse.jface.viewers.ColumnViewerEditor$1.widgetDisposed(ColumnViewerEditor.java:132)
	at org.eclipse.swt.events.DisposeEvent.dispatchToObserver(DisposeEvent.java:64)
	at org.eclipse.rwt.internal.events.Event.processEvent(Event.java:44)
	at org.eclipse.swt.events.TypedEvent.processEvent(TypedEvent.java:161)
	at org.eclipse.swt.widgets.Widget.dispose(Widget.java:774)
	at org.eclipse.swt.widgets.Table.releaseChildren(Table.java:2322)
	at org.eclipse.swt.widgets.Widget.dispose(Widget.java:777)
	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:827)
	at org.eclipse.swt.widgets.Widget.dispose(Widget.java:777)
	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:827)
	at org.eclipse.swt.widgets.Widget.dispose(Widget.java:777)
	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:827)
	at org.eclipse.swt.widgets.Widget.dispose(Widget.java:777)
	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:827)
	at org.eclipse.swt.widgets.Widget.dispose(Widget.java:777)
	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:827)
	at org.eclipse.swt.widgets.Widget.dispose(Widget.java:777)
	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:827)
	at org.eclipse.swt.widgets.Widget.dispose(Widget.java:777)
	at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:827)
	at org.eclipse.swt.widgets.Shell.releaseChildren(Shell.java:1106)
	at org.eclipse.swt.widgets.Widget.dispose(Widget.java:777)
	at org.eclipse.swt.widgets.Display.disposeShells(Display.java:729)
	at org.eclipse.swt.widgets.Display.release(Display.java:693)
	at org.eclipse.swt.graphics.Device.dispose(Device.java:288)
	at org.eclipse.rwt.internal.lifecycle.UIThread.processShutdown(UIThread.java:166)
	at org.eclipse.rwt.internal.lifecycle.RWTLifeCycle$UIThreadController.run(RWTLifeCycle.java:103)
	at java.lang.Thread.run(Thread.java:662)
	at org.eclipse.rwt.internal.lifecycle.UIThread.run(UIThread.java:101)
Comment 1 Ivan Furnadjiev CLA 2011-11-07 03:45:30 EST
Ralf, I can't reproduce this NPE any more. Please reopen if it's still reproducible on your side.