Browse Source

Making sure there is only one listener set at a time

Alvaro Estrada 6 năm trước cách đây
mục cha
commit
8e715bd475

+ 4 - 0
spine-cpp/spine-cpp/src/spine/AnimationState.cpp

@@ -163,9 +163,11 @@ void TrackEntry::resetRotationDirections() {
 
 
 void TrackEntry::setListener(AnimationStateListener inValue) {
 void TrackEntry::setListener(AnimationStateListener inValue) {
 	_listener = inValue;
 	_listener = inValue;
+	_listenerObj = NULL;
 }
 }
 
 
 void TrackEntry::setListener(AnimationStateListenerClass* inValue) {
 void TrackEntry::setListener(AnimationStateListenerClass* inValue) {
+	_listener = dummyOnAnimationEventFunc;
 	_listenerObj = inValue;
 	_listenerObj = inValue;
 }
 }
 
 
@@ -648,9 +650,11 @@ void AnimationState::setTimeScale(float inValue) {
 
 
 void AnimationState::setListener(AnimationStateListener inValue) {
 void AnimationState::setListener(AnimationStateListener inValue) {
 	_listener = inValue;
 	_listener = inValue;
+	_listenerObj = NULL;
 }
 }
 
 
 void AnimationState::setListener(AnimationStateListenerClass* inValue) {
 void AnimationState::setListener(AnimationStateListenerClass* inValue) {
+	_listener = dummyOnAnimationEventFunc;
 	_listenerObj = inValue;
 	_listenerObj = inValue;
 }
 }