Преглед на файлове

Avoid function signals in ColorPicker to access the tree when it isn't in the tree

Kongfa Waroros преди 4 години
родител
ревизия
5ec1eee6b1
променени са 1 файла, в които са добавени 5 реда и са изтрити 0 реда
  1. 5 0
      scene/gui/color_picker.cpp

+ 5 - 0
scene/gui/color_picker.cpp

@@ -579,6 +579,8 @@ void ColorPicker::_preset_input(const Ref<InputEvent> &p_event) {
 }
 
 void ColorPicker::_screen_input(const Ref<InputEvent> &p_event) {
+	if (!is_inside_tree())
+		return;
 
 	Ref<InputEventMouseButton> bev = p_event;
 	if (bev.is_valid() && bev->get_button_index() == BUTTON_LEFT && !bev->is_pressed()) {
@@ -609,6 +611,9 @@ void ColorPicker::_add_preset_pressed() {
 }
 
 void ColorPicker::_screen_pick_pressed() {
+	if (!is_inside_tree())
+		return;
+
 	Viewport *r = get_tree()->get_root();
 	if (!screen) {
 		screen = memnew(Control);