[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