Hi Omur, after many months I finally ran into this problem again and still had your email in the inbox ready to go.
I applied your patch and it works nicely. Thanks, Andrea On Tue, Jul 31, 2012 at 7:15 PM, omur yavuz <[email protected]> wrote: > Found a solution , i hope this can be a bug fix , looks like opening IMap > using new editor , it does not update MapGraphicContext viewportmodel , but > IMap. Changing "!context.getViewportModel()" to > "context.getMap().getViewportModel()" solved problem. > > > public MapGraphicContextImpl(final IRenderContext context, > Graphics2D destination) { > super(); > setGeoResourceInternal(context.getGeoResource()); > setLayerInternal((Layer) context.getLayer()); > setRenderManagerInternal((RenderManager) context.getRenderManager()); > setMapInternal((Map) context.getMap()); > vpg = new AWTGraphics(destination, context.getMapDisplay().getDPI()); > > // add listener if doesn't already exist for layer > IViewportModelListener listener = (IViewportModelListener) context > .getLayer().getBlackboard().get(BLACKBOARD_LAYER_KEY); > if (listener == null) { > listener = new IViewportModelListener() { > public void changed(ViewportModelEvent event) { > // need to invalidate image & refresh the layer > > > if (renderManagerInternal.isDisposed()) { > setRenderManagerInternal(new RenderManagerDynamic()); > > > } > > > > try { > //if (!context.getViewportModel().isBoundsChanging()) { <-- old code > if (!context.getMap().getViewportModel().isBoundsChanging()) { // <-- new > code > context.getLayer() > .getBlackboard() > .put(MapGraphicRenderer.BLACKBOARD_IMAGE_KEY, > null); > context.getLayer().refresh(null); > } > } catch (Exception ex) { > ex.printStackTrace(); > } > } > }; > > > > context.getViewportModel().addViewportModelListener(listener); > context.getLayer().getBlackboard() > .put(BLACKBOARD_LAYER_KEY, listener); > } > > > > On Jul 31, 2012, at 6:06 PM, omur yavuz wrote: > > Hello Everyone , > > i ve a problem with MapGraphics. if i close the map and reopen , it does > not render MapGraphic Layers : throws IllegalStateException because of > MapGraphicsContext renderManager is disposed . > > !ENTRY net.refractions.udig.project 1 0 2012-07-31 17:51:08.665 > !MESSAGE > !STACK 0 > java.lang.IllegalStateException: RenderManager is disposed > at > net.refractions.udig.project.internal.render.impl.RenderManagerImpl.checkState(RenderManagerImpl.java:472) > at > net.refractions.udig.project.internal.render.impl.RenderManagerImpl.getViewportModelInternal(RenderManagerImpl.java:359) > at > net.refractions.udig.project.internal.impl.AbstractContextImpl.getViewportModel(AbstractContextImpl.java:87) > at > net.refractions.udig.mapgraphic.internal.MapGraphicContextImpl$1.changed(MapGraphicContextImpl.java:37) > at > net.refractions.udig.project.internal.render.impl.ViewportModelImpl.notifyListeners(ViewportModelImpl.java:1378) > at > net.refractions.udig.project.internal.render.impl.ViewportModelImpl.fireNotification(ViewportModelImpl.java:873) > at > net.refractions.udig.project.internal.render.impl.ViewportModelImpl.setBounds(ViewportModelImpl.java:420) > at > net.refractions.udig.project.internal.render.impl.ViewportModelImpl.zoom(ViewportModelImpl.java:749) > at > net.refractions.udig.project.internal.command.navigation.ZoomCommand.runImpl(ZoomCommand.java:60) > at > net.refractions.udig.project.internal.command.navigation.AbstractNavCommand.run(AbstractNavCommand.java:72) > at > net.refractions.udig.project.internal.command.navigation.NavComposite.runCommand(NavComposite.java:100) > at > net.refractions.udig.project.internal.command.navigation.NavComposite.execute(NavComposite.java:80) > at > net.refractions.udig.project.command.CommandManager$Executor.execute(CommandManager.java:394) > at > net.refractions.udig.project.command.CommandManager$Executor.run(CommandManager.java:325) > at > net.refractions.udig.project.command.CommandManager$Executor.run(CommandManager.java:311) > at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) > > > This s same for all MapGraphic layers. Any advice to fix this bug? Im > looking for recreating MapGraphicContext but couldn't find yet > > > > _______________________________________________ > User-friendly Desktop Internet GIS (uDig) > http://udig.refractions.net > http://lists.refractions.net/mailman/listinfo/udig-devel > _______________________________________________ User-friendly Desktop Internet GIS (uDig) http://udig.refractions.net http://lists.refractions.net/mailman/listinfo/udig-devel
