Bug 12235 fixed: Matplot did not update on color_map change
[scilab.git] / scilab / modules / renderer / src / java / org / scilab / modules / renderer / JoGLView / ScilabTextureManager.java
index a758d47..20a21d5 100644 (file)
@@ -24,13 +24,14 @@ import org.scilab.modules.renderer.JoGLView.util.OutOfMemoryException;
 import java.awt.Dimension;
 import java.nio.ByteBuffer;
 import java.util.HashMap;
+import java.util.Map;
 
 /**
  * @author Pierre Lando
  */
 public class ScilabTextureManager {
 
-    private final HashMap<String, Texture> hashMap = new HashMap<String, Texture>();
+    private final Map<String, Texture> hashMap = new HashMap<String, Texture>();
     private final DrawerVisitor drawerVisitor;
     private final Canvas canvas;
 
@@ -65,6 +66,17 @@ public class ScilabTextureManager {
         }
     }
 
+    public void disposeAll() {
+        for (Map.Entry<String, Texture> entry : hashMap.entrySet()) {
+            Texture t = entry.getValue();
+            if (t != null) {
+                canvas.getTextureManager().dispose(t);
+            }
+        }
+
+        hashMap.clear();
+    }
+
     private class ScilabTextureDataProvider extends AbstractTextureDataProvider implements GraphicView {
         private final String identifier;
         private Dimension dimension;