[udig-devel] [jira] Created: (UDIG-1037) Deleting layer on map
which is not open in editor
Aleksander Bandelj (JIRA)
jira at codehaus.org
Thu Oct 5 04:33:27 PDT 2006
Deleting layer on map which is not open in editor
-------------------------------------------------
Key: UDIG-1037
URL: http://jira.codehaus.org/browse/UDIG-1037
Project: uDIG
Issue Type: Bug
Components: API map, ui
Affects Versions: UDIG 1.1.RC5, UDIG 1.1.0
Reporter: Aleksander Bandelj
Layer on map without editor has no RenderManager. NullPointerException ensues, layer not deleted. Patch below.
Index: /home/alex/workspace/net.refractions.udig.project/src/net/refractions/udig/project/internal/commands/DeleteLayerCommand.java
===================================================================
--- /home/alex/workspace/net.refractions.udig.project/src/net/refractions/udig/project/internal/commands/DeleteLayerCommand.java (revision 21825)
+++ /home/alex/workspace/net.refractions.udig.project/src/net/refractions/udig/project/internal/commands/DeleteLayerCommand.java (working copy)
@@ -17,6 +17,7 @@
import net.refractions.udig.project.internal.Map;
import net.refractions.udig.project.internal.Policy;
import net.refractions.udig.project.internal.render.RenderExecutor;
+import net.refractions.udig.project.internal.render.RenderManager;
import org.eclipse.core.runtime.IProgressMonitor;
@@ -56,10 +57,13 @@
*/
public void run( IProgressMonitor monitor ) throws Exception {
map.getContextModel().getLayers().indexOf(layer);
- RenderExecutor renderExecutor = layer.getContextModel().getMap().getRenderManagerInternal().getRenderExecutor();
List<Layer> layers = layer.getContextModel().getLayers();
- if (layers.size() == 1 && renderExecutor!=null )
- renderExecutor.getContext().clearImage();
+ RenderManager renderManager= layer.getContextModel().getMap().getRenderManagerInternal();
+ if(renderManager != null) {
+ RenderExecutor renderExecutor = renderManager.getRenderExecutor();
+ if (layers.size() == 1 && renderExecutor!=null )
+ renderExecutor.getContext().clearImage();
+ }
layers.remove(layer);
map.getColourScheme().removeItem(layer.getID().toString()); //remove from scheme
}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the udig-devel
mailing list