Sfoglia il codice sorgente

Merge pull request #21155 from ordigdug/fix-colorpicker-popup

Fixes colorpicker popup immeditately closing when interacting with co…
Rémi Verschelde 7 anni fa
parent
commit
8bc9986db4
2 ha cambiato i file con 9 aggiunte e 1 eliminazioni
  1. 8 1
      editor/editor_properties.cpp
  2. 1 0
      editor/editor_properties.h

+ 8 - 1
editor/editor_properties.cpp

@@ -1734,12 +1734,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() {
@@ -1757,6 +1763,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 //////////////////////

+ 1 - 0
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();