From 9ae1d4dc4924faa95f1031dd5485b9305b57d5be Mon Sep 17 00:00:00 2001 From: RichardFrangenberg Date: Sat, 11 Mar 2023 15:03:44 +0000 Subject: [PATCH 1/2] fix double emitting of value_changed event in _on_value_change function --- .../custom_widgets/properties_bin/custom_widget_vectors.py | 1 - 1 file changed, 1 deletion(-) diff --git a/NodeGraphQt/custom_widgets/properties_bin/custom_widget_vectors.py b/NodeGraphQt/custom_widgets/properties_bin/custom_widget_vectors.py index c075763c..51956684 100644 --- a/NodeGraphQt/custom_widgets/properties_bin/custom_widget_vectors.py +++ b/NodeGraphQt/custom_widgets/properties_bin/custom_widget_vectors.py @@ -38,7 +38,6 @@ def _on_value_change(self, value=None, index=None): if index is not None: self._value[index] = value self.value_changed.emit(self.toolTip(), self._value) - self.value_changed.emit(self.toolTip(), self._value) def _update_items(self): if not isinstance(self._value, (list, tuple)): From 535494b20fd0f1993143a2b7efc2de0ef18f44ce Mon Sep 17 00:00:00 2001 From: RichardFrangenberg Date: Sat, 11 Mar 2023 15:55:51 +0000 Subject: [PATCH 2/2] fixed bug, that new value list was only created when a vector gets updated when the set_value function was called, but not when a _NumberValueEdit was changed directly. --- .../custom_widgets/properties_bin/custom_widget_vectors.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NodeGraphQt/custom_widgets/properties_bin/custom_widget_vectors.py b/NodeGraphQt/custom_widgets/properties_bin/custom_widget_vectors.py index 51956684..e29a6a5b 100644 --- a/NodeGraphQt/custom_widgets/properties_bin/custom_widget_vectors.py +++ b/NodeGraphQt/custom_widgets/properties_bin/custom_widget_vectors.py @@ -36,6 +36,7 @@ def _add_item(self, index): def _on_value_change(self, value=None, index=None): if self._can_emit: if index is not None: + self._value = list(self._value) self._value[index] = value self.value_changed.emit(self.toolTip(), self._value) @@ -57,7 +58,6 @@ def get_value(self): return self._value def set_value(self, value=None): - value = list(value) if value != self.get_value(): self._value = value self._can_emit = False