diff options
author | ordigdug <originaldigdug@yahoo.com> | 2018-08-18 11:10:23 -0400 |
---|---|---|
committer | ordigdug <originaldigdug@yahoo.com> | 2018-08-18 11:47:14 -0400 |
commit | 17b439844da7fa1460914c839240157d847a8f85 (patch) | |
tree | b775f9f0963daac55898df466002040c62618a1f | |
parent | ff8e6f920cd99954c3394412713950c1195199f2 (diff) |
Fixes colorpicker popup immeditately closing when interacting with colorpicker property in a subinspector. Fixes #19559
-rw-r--r-- | editor/editor_properties.cpp | 9 | ||||
-rw-r--r-- | editor/editor_properties.h | 1 |
2 files changed, 9 insertions, 1 deletions
diff --git a/editor/editor_properties.cpp b/editor/editor_properties.cpp index 0cbd5f0bff..e1490d7fbe 100644 --- a/editor/editor_properties.cpp +++ b/editor/editor_properties.cpp @@ -1735,12 +1735,18 @@ EditorPropertyTransform::EditorPropertyTransform() { void EditorPropertyColor::_color_changed(const Color &p_color) { - emit_signal("property_changed", get_edited_property(), p_color); + emit_signal("property_changed", get_edited_property(), p_color, true); +} + +void EditorPropertyColor::_popup_closed() { + + emit_signal("property_changed", get_edited_property(), picker->get_pick_color(), false); } void EditorPropertyColor::_bind_methods() { ClassDB::bind_method(D_METHOD("_color_changed"), &EditorPropertyColor::_color_changed); + ClassDB::bind_method(D_METHOD("_popup_closed"), &EditorPropertyColor::_popup_closed); } void EditorPropertyColor::update_property() { @@ -1758,6 +1764,7 @@ EditorPropertyColor::EditorPropertyColor() { add_child(picker); picker->set_flat(true); picker->connect("color_changed", this, "_color_changed"); + picker->connect("popup_closed", this, "_popup_closed"); } ////////////// NODE PATH ////////////////////// diff --git a/editor/editor_properties.h b/editor/editor_properties.h index d5fac9c1a0..ea107d76b0 100644 --- a/editor/editor_properties.h +++ b/editor/editor_properties.h @@ -476,6 +476,7 @@ class EditorPropertyColor : public EditorProperty { GDCLASS(EditorPropertyColor, EditorProperty) ColorPickerButton *picker; void _color_changed(const Color &p_color); + void _popup_closed(); protected: static void _bind_methods(); |