diff --git a/jme3-core/src/main/java/com/jme3/renderer/opengl/GLRenderer.java b/jme3-core/src/main/java/com/jme3/renderer/opengl/GLRenderer.java index 3d2bd1c15a..e6c5af95cc 100644 --- a/jme3-core/src/main/java/com/jme3/renderer/opengl/GLRenderer.java +++ b/jme3-core/src/main/java/com/jme3/renderer/opengl/GLRenderer.java @@ -2413,7 +2413,8 @@ private void bindTextureAndUnit(int target, Image img, int unit) { gl.glActiveTexture(GL.GL_TEXTURE0 + unit); context.boundTextureUnit = unit; } - if (context.boundTextures[unit]==null||context.boundTextures[unit].get() != img.getWeakRef().get()) { + + if (context.boundTextures[unit] == null || context.boundTextures[unit].get() != img.getWeakRef().get()) { gl.glBindTexture(target, img.getId()); context.boundTextures[unit] = img.getWeakRef(); statistics.onTextureUse(img, true); diff --git a/jme3-core/src/test/java/com/jme3/anim/AnimComposerTest.java b/jme3-core/src/test/java/com/jme3/anim/AnimComposerTest.java index 331784352d..183e9651b3 100644 --- a/jme3-core/src/test/java/com/jme3/anim/AnimComposerTest.java +++ b/jme3-core/src/test/java/com/jme3/anim/AnimComposerTest.java @@ -31,8 +31,15 @@ */ package com.jme3.anim; +import com.jme3.anim.tween.action.Action; +import com.jme3.anim.tween.action.ClipAction; +import com.jme3.cinematic.Cinematic; +import com.jme3.cinematic.events.AnimEvent; import org.junit.Assert; import org.junit.Test; +import org.mockito.Mockito; + +import java.awt.event.ActionEvent; /** * @author Remy Van Doosselaer @@ -69,4 +76,25 @@ public void testGetAnimClipsNamesIsNotModifiable() { composer.getAnimClipsNames().add("test"); } + /** + * Verify that issue#1537 was resolved : onStop() kills prior event on the same layer + */ + @Test + public void testGetLayerManagerReturnsRightEvent(){ + AnimComposer composer = new AnimComposer(); + composer.makeLayer("testLayer", null); + + composer.addAnimClip(new AnimClip("testClip")); + AnimEvent ev1 = new AnimEvent(composer, "testClip", "testLayer"); + AnimEvent ev2 = new AnimEvent(composer, "testClip", "testLayer"); + + ev1.onPlay(); + Assert.assertEquals(composer.getLayerManager("testLayer"), ev1); + ev2.onPlay(); + Assert.assertEquals(composer.getLayerManager("testLayer"), ev2); + ev1.onStop(); + Assert.assertEquals(composer.getLayerManager("testLayer"), ev2); + ev2.onStop(); + Assert.assertNull(composer.getLayerManager("testLayer")); + } }