[udig-devel] closing mapeditor results in NullPointerException (upgrade RC8->RC12)

Jesse Eichar jeichar at refractions.net
Fri Dec 7 09:00:34 PST 2007


I'm afraid I'm not sure about the first exception.  The second and  
third are probably because the renderers are still rendering after the  
map has been closed and when they finish they can't send the message  
to the rendermanager.  I can fix that issue easily enough.  Question:   
which of these are making it to the user's attention?

Jesse

On 7-Dec-07, at 1:13 AM, tony.roth at GMX.de wrote:

> As mentioned in my other mail we have to upgrade udig in our  
> application from rc8 to rc12.
>
> In our application the map is just used for output of WMS-Maps and  
> some temporary layers. The user doesn't really handle with maps or  
> saves them. Therefore I have overwritten isDirty() in MapEditor  
> which returns always false in my application.
>
> If the user closes the MapEditor in the applicatin or if the  
> mapeditor is closed programmatically (e.g. on changing to another  
> perspective) then the following exceptions occur. This is new to  
> RC12. In RC8 we don't get any exceptions neither on closing the  
> editor programmatically nor when the user closes the edtor.
>
> Any ideas what's going wrong?
>
> !ENTRY org.eclipse.ui.workbench 4 0 2007-12-07 10:15:00.421
> !MESSAGE An unexpected exception was thrown.
> !STACK 0
> java.lang.NullPointerException
>  at org.eclipse.emf.ecore.impl.BasicEObjectImpl 
> $2.getChildren(BasicEObjectImpl.java:839)
>  at  
> org 
> .eclipse 
> .emf.common.util.AbstractTreeIterator.next(AbstractTreeIterator.java: 
> 142)
>  at  
> net 
> .refractions 
> .udig 
> .project 
> .ui.internal.RenderManagerDynamic.dispose(RenderManagerDynamic.java: 
> 296)
>  at  
> net 
> .refractions 
> .udig.project.ui.internal.MapEditor.dispose(MapEditor.java:668)
>  at  
> org 
> .eclipse 
> .ui 
> .internal 
> .WorkbenchPartReference.doDisposePart(WorkbenchPartReference.java:720)
>  at  
> org 
> .eclipse 
> .ui.internal.EditorReference.doDisposePart(EditorReference.java:306)
>  at  
> org 
> .eclipse 
> .ui 
> .internal.WorkbenchPartReference.dispose(WorkbenchPartReference.java: 
> 671)
>  at  
> org.eclipse.ui.internal.WorkbenchPage.disposePart(WorkbenchPage.java: 
> 1604)
>  at  
> org 
> .eclipse 
> .ui.internal.WorkbenchPage.handleDeferredEvents(WorkbenchPage.java: 
> 1354)
>  at  
> org 
> .eclipse.ui.internal.WorkbenchPage.deferUpdates(WorkbenchPage.java: 
> 1338)
>  at  
> org 
> .eclipse.ui.internal.WorkbenchPage.closeEditors(WorkbenchPage.java: 
> 1312)
>  at  
> org.eclipse.ui.internal.WorkbenchPage.closeEditor(WorkbenchPage.java: 
> 1367)
>  at org.eclipse.ui.internal.EditorPane.doHide(EditorPane.java:61)
>  at org.eclipse.ui.internal.PartStack.close(PartStack.java:543)
>  at org.eclipse.ui.internal.EditorStack.close(EditorStack.java:206)
>  at org.eclipse.ui.internal.PartStack$1.close(PartStack.java:122)
>  at  
> org.eclipse.ui.internal.presentations.util.TabbedStackPresentation 
> $1.handleEvent(TabbedStackPresentation.java:81)
>  at  
> org 
> .eclipse 
> .ui 
> .internal 
> .presentations 
> .util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:267)
>  at  
> org 
> .eclipse 
> .ui 
> .internal 
> .presentations 
> .util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:276)
>  at  
> org 
> .eclipse 
> .ui 
> .internal.presentations.defaultpresentation.DefaultTabFolder.access 
> $1(DefaultTabFolder.java:1)
>  at  
> org 
> .eclipse 
> .ui.internal.presentations.defaultpresentation.DefaultTabFolder 
> $1.closeButtonPressed(DefaultTabFolder.java:67)
>  at  
> org 
> .eclipse 
> .ui 
> .internal 
> .presentations.PaneFolder.notifyCloseListeners(PaneFolder.java:596)
>  at org.eclipse.ui.internal.presentations.PaneFolder 
> $3.close(PaneFolder.java:189)
>  at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:2159)
>  at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java: 
> 320)
>  at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
>  at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
>  at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java: 
> 3682)
>  at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3293)
>  at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java: 
> 2389)
>  at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
>  at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
>  at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
>  at  
> org 
> .eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java: 
> 289)
>  at  
> org 
> .eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java: 
> 461)
>  at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java: 
> 149)
>  at de.foo.bar.client.MyApplication.run(MyApplication.java:175)
>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>  at  
> sun 
> .reflect 
> .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>  at  
> sun 
> .reflect 
> .DelegatingMethodAccessorImpl 
> .invoke(DelegatingMethodAccessorImpl.java:25)
>  at java.lang.reflect.Method.invoke(Method.java:585)
>  at  
> org 
> .eclipse 
> .equinox 
> .internal 
> .app.EclipseAppContainer.callMethod(EclipseAppContainer.java:572)
>  at  
> org 
> .eclipse 
> .equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:171)
>  at  
> org 
> .eclipse 
> .core 
> .runtime 
> .internal 
> .adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java: 
> 106)
>  at  
> org 
> .eclipse 
> .core 
> .runtime 
> .internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
>  at  
> org 
> .eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java: 
> 363)
>  at  
> org 
> .eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java: 
> 176)
>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>  at  
> sun 
> .reflect 
> .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>  at  
> sun 
> .reflect 
> .DelegatingMethodAccessorImpl 
> .invoke(DelegatingMethodAccessorImpl.java:25)
>  at java.lang.reflect.Method.invoke(Method.java:585)
>  at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
>  at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
>  at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
>  at org.eclipse.equinox.launcher.Main.main(Main.java:1148)
> !ENTRY net.refractions.udig.ui 1 0 2007-12-07 10:15:01.984
> !MESSAGE
> !STACK 0
> java.lang.NullPointerException
>  at  
> net 
> .refractions 
> .udig.project.internal.render.impl.RenderExecutorComposite 
> $CompositeRendererListener.stateChanged(RenderExecutorComposite.java: 
> 85)
>  at  
> net.refractions.udig.project.internal.render.impl.RenderExecutorImpl 
> $RendererListener.notifyChanged(RenderExecutorImpl.java:163)
>  at  
> org 
> .eclipse 
> .emf 
> .common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java: 
> 247)
>  at  
> net 
> .refractions 
> .udig 
> .project 
> .internal.render.impl.RendererImpl.setState(RendererImpl.java:168)
>  at  
> net 
> .refractions.udig.project.internal.render.impl.CompositeRendererImpl 
> $3.renderDone(CompositeRendererImpl.java:196)
>  at  
> net 
> .refractions 
> .udig 
> .project 
> .internal 
> .render 
> .RenderListenerAdapter.notifyChanged(RenderListenerAdapter.java:74)
>  at  
> org 
> .eclipse 
> .emf 
> .common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java: 
> 247)
>  at  
> net 
> .refractions 
> .udig 
> .project 
> .internal.render.impl.RendererImpl.setState(RendererImpl.java:168)
>  at  
> net 
> .refractions 
> .udig 
> .project 
> .internal 
> .render.impl.RenderExecutorImpl.setState(RenderExecutorImpl.java:283)
>  at  
> net.refractions.udig.project.internal.render.impl.RenderExecutorImpl 
> $RendererListener.stateChanged(RenderExecutorImpl.java:178)
>  at  
> net.refractions.udig.project.internal.render.impl.RenderExecutorImpl 
> $RendererListener.notifyChanged(RenderExecutorImpl.java:163)
>  at  
> org 
> .eclipse 
> .emf 
> .common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java: 
> 247)
>  at  
> net 
> .refractions 
> .udig 
> .project 
> .internal.render.impl.RendererImpl.setState(RendererImpl.java:168)
>  at  
> net 
> .refractions 
> .udig 
> .render 
> .internal 
> .feature 
> .basic.BasicFeatureRenderer.setState(BasicFeatureRenderer.java:181)
>  at  
> net 
> .refractions 
> .udig 
> .project 
> .internal 
> .render.impl.RenderExecutorImpl.render(RenderExecutorImpl.java:560)
>  at  
> net.refractions.udig.project.internal.render.impl.RenderExecutorImpl 
> $RendererListener.stateChanged(RenderExecutorImpl.java:172)
>  at  
> net.refractions.udig.project.internal.render.impl.RenderExecutorImpl 
> $RendererListener.notifyChanged(RenderExecutorImpl.java:163)
>  at  
> org 
> .eclipse 
> .emf 
> .common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java: 
> 247)
>  at  
> net 
> .refractions 
> .udig 
> .project 
> .internal.render.impl.RendererImpl.setState(RendererImpl.java:168)
>  at  
> net 
> .refractions 
> .udig 
> .render 
> .internal 
> .feature 
> .basic.BasicFeatureRenderer.setState(BasicFeatureRenderer.java:181)
>  at net.refractions.udig.project.ui.internal.RenderManagerDynamic 
> $2.visit(RenderManagerDynamic.java:117)
>  at  
> net 
> .refractions 
> .udig 
> .project 
> .internal 
> .render.impl.RenderExecutorImpl.visit(RenderExecutorImpl.java:526)
>  at net.refractions.udig.project.ui.internal.RenderManagerDynamic 
> $2.visit(RenderManagerDynamic.java:131)
>  at  
> net 
> .refractions 
> .udig 
> .project 
> .internal 
> .render 
> .impl.RenderExecutorComposite.visit(RenderExecutorComposite.java:322)
>  at  
> net 
> .refractions 
> .udig 
> .project 
> .ui 
> .internal 
> .RenderManagerDynamic.doInternalRefresh(RenderManagerDynamic.java:112)
>  at  
> net.refractions.udig.project.ui.internal.RenderManagerDynamic.access 
> $0(RenderManagerDynamic.java:102)
>  at net.refractions.udig.project.ui.internal.RenderManagerDynamic 
> $1.run(RenderManagerDynamic.java:93)
>  at net.refractions.udig.ui.PlatformGIS$Runner.run(PlatformGIS.java: 
> 204)
>  at net.refractions.udig.ui.PlatformGIS$Runner.run(PlatformGIS.java: 
> 183)
> !ENTRY net.refractions.udig.project.ui 1 0 2007-12-07 10:15:01.984
> !MESSAGE
> !STACK 0
> java.lang.NullPointerException
>  at  
> net 
> .refractions 
> .udig.project.internal.render.impl.RenderExecutorComposite 
> $CompositeRendererListener.stateChanged(RenderExecutorComposite.java: 
> 85)
>  at  
> net.refractions.udig.project.internal.render.impl.RenderExecutorImpl 
> $RendererListener.notifyChanged(RenderExecutorImpl.java:163)
>  at  
> org 
> .eclipse 
> .emf 
> .common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java: 
> 247)
>  at  
> net 
> .refractions 
> .udig 
> .project 
> .internal.render.impl.RendererImpl.setState(RendererImpl.java:168)
>  at  
> net 
> .refractions.udig.project.internal.render.impl.CompositeRendererImpl 
> $3.renderDone(CompositeRendererImpl.java:196)
>  at  
> net 
> .refractions 
> .udig 
> .project 
> .internal 
> .render 
> .RenderListenerAdapter.notifyChanged(RenderListenerAdapter.java:74)
>  at  
> org 
> .eclipse 
> .emf 
> .common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java: 
> 247)
>  at  
> net 
> .refractions 
> .udig 
> .project 
> .internal.render.impl.RendererImpl.setState(RendererImpl.java:168)
>  at  
> net 
> .refractions 
> .udig 
> .project 
> .internal 
> .render.impl.RenderExecutorImpl.setState(RenderExecutorImpl.java:283)
>  at  
> net.refractions.udig.project.internal.render.impl.RenderExecutorImpl 
> $RendererListener.stateChanged(RenderExecutorImpl.java:178)
>  at  
> net.refractions.udig.project.internal.render.impl.RenderExecutorImpl 
> $RendererListener.notifyChanged(RenderExecutorImpl.java:163)
>  at  
> org 
> .eclipse 
> .emf 
> .common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java: 
> 247)
>  at  
> net 
> .refractions 
> .udig 
> .project 
> .internal.render.impl.RendererImpl.setState(RendererImpl.java:168)
>  at  
> net 
> .refractions 
> .udig 
> .render 
> .internal 
> .feature 
> .basic.BasicFeatureRenderer.setState(BasicFeatureRenderer.java:181)
>  at  
> net 
> .refractions 
> .udig 
> .project 
> .internal 
> .render.impl.RenderExecutorImpl.render(RenderExecutorImpl.java:560)
>  at  
> net.refractions.udig.project.internal.render.impl.RenderExecutorImpl 
> $RendererListener.stateChanged(RenderExecutorImpl.java:172)
>  at  
> net.refractions.udig.project.internal.render.impl.RenderExecutorImpl 
> $RendererListener.notifyChanged(RenderExecutorImpl.java:163)
>  at  
> org 
> .eclipse 
> .emf 
> .common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java: 
> 247)
>  at  
> net 
> .refractions 
> .udig 
> .project 
> .internal.render.impl.RendererImpl.setState(RendererImpl.java:168)
>  at  
> net 
> .refractions 
> .udig 
> .render 
> .internal 
> .feature 
> .basic.BasicFeatureRenderer.setState(BasicFeatureRenderer.java:181)
>  at net.refractions.udig.project.ui.internal.RenderManagerDynamic 
> $2.visit(RenderManagerDynamic.java:117)
>  at  
> net 
> .refractions 
> .udig 
> .project 
> .internal 
> .render.impl.RenderExecutorImpl.visit(RenderExecutorImpl.java:526)
>  at net.refractions.udig.project.ui.internal.RenderManagerDynamic 
> $2.visit(RenderManagerDynamic.java:131)
>  at  
> net 
> .refractions 
> .udig 
> .project 
> .internal 
> .render 
> .impl.RenderExecutorComposite.visit(RenderExecutorComposite.java:322)
>  at  
> net 
> .refractions 
> .udig 
> .project 
> .ui 
> .internal 
> .RenderManagerDynamic.doInternalRefresh(RenderManagerDynamic.java:112)
>  at  
> net.refractions.udig.project.ui.internal.RenderManagerDynamic.access 
> $0(RenderManagerDynamic.java:102)
>  at net.refractions.udig.project.ui.internal.RenderManagerDynamic 
> $1.run(RenderManagerDynamic.java:93)
>  at net.refractions.udig.ui.PlatformGIS$Runner.run(PlatformGIS.java: 
> 204)
>  at net.refractions.udig.ui.PlatformGIS$Runner.run(PlatformGIS.java: 
> 183)
>
>
> tony roth
> _______________________________________________
> User-friendly Desktop Internet GIS (uDig)
> http://udig.refractions.net
> http://lists.refractions.net/mailman/listinfo/udig-devel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.refractions.net/pipermail/udig-devel/attachments/20071207/275ee4e0/attachment-0001.html


More information about the udig-devel mailing list