Skip to content

Commit 37bac53

Browse files
committed
Unsubscribe before return to pool.
1 parent 2b4564e commit 37bac53

File tree

6 files changed

+12
-6
lines changed

6 files changed

+12
-6
lines changed

src/UnityMvvmToolkit.UnityPackage/Assets/Plugins/UnityMvvmToolkit/Runtime/UGUI/BindableUGUIElements/BindableButton.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,10 @@ public void ResetBindingContext(IObjectProvider objectProvider)
4040
return;
4141
}
4242

43+
_command.CanExecuteChanged -= OnCommandCanExecuteChanged;
44+
4345
objectProvider.ReturnCommandWrapper(_command, _commandBindingData);
4446

45-
_command.CanExecuteChanged -= OnCommandCanExecuteChanged;
4647
_command = null;
4748

4849
_button.onClick.RemoveListener(OnButtonClicked);

src/UnityMvvmToolkit.UnityPackage/Assets/Plugins/UnityMvvmToolkit/Runtime/UGUI/BindableUGUIElements/BindableInputField.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,10 @@ public void ResetBindingContext(IObjectProvider objectProvider)
3333
return;
3434
}
3535

36+
_valueProperty.ValueChanged -= OnPropertyValueChanged;
37+
3638
objectProvider.ReturnProperty(_valueProperty);
3739

38-
_valueProperty.ValueChanged -= OnPropertyValueChanged;
3940
_valueProperty = null;
4041

4142
_inputField.onValueChanged.RemoveListener(OnControlValueChanged);

src/UnityMvvmToolkit.UnityPackage/Assets/Plugins/UnityMvvmToolkit/Runtime/UGUI/BindableUGUIElements/BindableLabel.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,10 @@ public void ResetBindingContext(IObjectProvider objectProvider)
3333
return;
3434
}
3535

36+
_textProperty.ValueChanged -= OnPropertyValueChanged;
37+
3638
objectProvider.ReturnReadOnlyProperty(_textProperty);
3739

38-
_textProperty.ValueChanged -= OnPropertyValueChanged;
3940
_textProperty = null;
4041

4142
UpdateControlText(default);

src/UnityMvvmToolkit.UnityPackage/Assets/Plugins/UnityMvvmToolkit/Runtime/UITK/BindableUIElements/BindableButton.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,10 @@ public virtual void ResetBindingContext(IObjectProvider objectProvider)
3939
return;
4040
}
4141

42+
_command.CanExecuteChanged -= OnCommandCanExecuteChanged;
43+
4244
objectProvider.ReturnCommandWrapper(_command, _commandBindingData);
4345

44-
_command.CanExecuteChanged -= OnCommandCanExecuteChanged;
4546
_command = null;
4647

4748
clicked -= OnButtonClicked;

src/UnityMvvmToolkit.UnityPackage/Assets/Plugins/UnityMvvmToolkit/Runtime/UITK/BindableUIElements/BindableLabel.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,10 @@ public virtual void ResetBindingContext(IObjectProvider objectProvider)
3333
return;
3434
}
3535

36+
_textProperty.ValueChanged -= OnPropertyValueChanged;
37+
3638
objectProvider.ReturnReadOnlyProperty(_textProperty);
3739

38-
_textProperty.ValueChanged -= OnPropertyValueChanged;
3940
_textProperty = null;
4041

4142
UpdateControlText(default);

src/UnityMvvmToolkit.UnityPackage/Assets/Plugins/UnityMvvmToolkit/Runtime/UITK/BindableUIElements/BindableTextField.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,10 @@ public virtual void ResetBindingContext(IObjectProvider objectProvider)
3434
return;
3535
}
3636

37+
_valueProperty.ValueChanged -= OnPropertyValueChanged;
38+
3739
objectProvider.ReturnProperty(_valueProperty);
3840

39-
_valueProperty.ValueChanged -= OnPropertyValueChanged;
4041
_valueProperty = null;
4142

4243
this.UnregisterValueChangedCallback(OnControlValueChanged);

0 commit comments

Comments
 (0)