X-Git-Url: http://gitweb.scilab.org/?p=scilab.git;a=blobdiff_plain;f=scilab%2Fmodules%2Frenderer%2Fsrc%2Fjava%2Forg%2Fscilab%2Fmodules%2Frenderer%2FJoGLView%2FScilabTextureManager.java;h=20a21d525e25e2b8bcf0c00b0dcc46c000ae147f;hp=a758d479d34b58bcee5c34099574d850f9c71a60;hb=fd20cda273fd273dc7b938b9ffc9ea6ba76a9b93;hpb=4deee11aa9feb8fca5b19cb03c44366fd7216c4d diff --git a/scilab/modules/renderer/src/java/org/scilab/modules/renderer/JoGLView/ScilabTextureManager.java b/scilab/modules/renderer/src/java/org/scilab/modules/renderer/JoGLView/ScilabTextureManager.java index a758d47..20a21d5 100644 --- a/scilab/modules/renderer/src/java/org/scilab/modules/renderer/JoGLView/ScilabTextureManager.java +++ b/scilab/modules/renderer/src/java/org/scilab/modules/renderer/JoGLView/ScilabTextureManager.java @@ -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 hashMap = new HashMap(); + private final Map hashMap = new HashMap(); private final DrawerVisitor drawerVisitor; private final Canvas canvas; @@ -65,6 +66,17 @@ public class ScilabTextureManager { } } + public void disposeAll() { + for (Map.Entry 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;