From: hneuer Date: Fri, 4 Oct 2013 20:02:20 +0000 (+0200) Subject: ParticleEffect: Don't dispose external textures X-Git-Url: http://git.osdn.net/view?p=mikumikustudio%2Flibgdx-mikumikustudio.git;a=commitdiff_plain;h=2fe19354153acd73dd104f93d9f8612d4a6aac76 ParticleEffect: Don't dispose external textures --- diff --git a/backends/gdx-backends-gwt/src/com/badlogic/gdx/backends/gwt/emu/com/badlogic/gdx/graphics/g2d/ParticleEffect.java b/backends/gdx-backends-gwt/src/com/badlogic/gdx/backends/gwt/emu/com/badlogic/gdx/graphics/g2d/ParticleEffect.java index a18b16b79..041580cec 100644 --- a/backends/gdx-backends-gwt/src/com/badlogic/gdx/backends/gwt/emu/com/badlogic/gdx/graphics/g2d/ParticleEffect.java +++ b/backends/gdx-backends-gwt/src/com/badlogic/gdx/backends/gwt/emu/com/badlogic/gdx/graphics/g2d/ParticleEffect.java @@ -35,6 +35,7 @@ import com.badlogic.gdx.utils.StreamUtils; public class ParticleEffect implements Disposable { private final Array emitters; private BoundingBox bounds; + private boolean ownsTexture; public ParticleEffect () { emitters = new Array(8); @@ -170,6 +171,7 @@ public class ParticleEffect implements Disposable { } public void loadEmitterImages (FileHandle imagesDir) { + ownsTexture = true; for (int i = 0, n = emitters.size; i < n; i++) { ParticleEmitter emitter = emitters.get(i); String imagePath = emitter.getImagePath(); @@ -186,6 +188,7 @@ public class ParticleEffect implements Disposable { /** Disposes the texture for each sprite for each ParticleEmitter. */ @Override public void dispose () { + if (!ownsTexture) return; for (int i = 0, n = emitters.size; i < n; i++) { ParticleEmitter emitter = emitters.get(i); emitter.getSprite().getTexture().dispose(); diff --git a/gdx/src/com/badlogic/gdx/graphics/g2d/ParticleEffect.java b/gdx/src/com/badlogic/gdx/graphics/g2d/ParticleEffect.java index c093377fc..3c29c990b 100644 --- a/gdx/src/com/badlogic/gdx/graphics/g2d/ParticleEffect.java +++ b/gdx/src/com/badlogic/gdx/graphics/g2d/ParticleEffect.java @@ -37,6 +37,7 @@ import com.badlogic.gdx.utils.StreamUtils; public class ParticleEffect implements Disposable { private final Array emitters; private BoundingBox bounds; + private boolean ownsTexture; public ParticleEffect () { emitters = new Array(8); @@ -188,6 +189,7 @@ public class ParticleEffect implements Disposable { } public void loadEmitterImages (FileHandle imagesDir) { + ownsTexture = true; for (int i = 0, n = emitters.size; i < n; i++) { ParticleEmitter emitter = emitters.get(i); String imagePath = emitter.getImagePath(); @@ -203,6 +205,7 @@ public class ParticleEffect implements Disposable { /** Disposes the texture for each sprite for each ParticleEmitter. */ public void dispose () { + if (!ownsTexture) return; for (int i = 0, n = emitters.size; i < n; i++) { ParticleEmitter emitter = emitters.get(i); emitter.getSprite().getTexture().dispose();