Avoid signal methods in ColorPicker to access the tree when it isn't in the tree
This commit is contained in:
parent
81fc37b1ff
commit
7c6646c8ac
1 changed files with 8 additions and 0 deletions
|
@ -578,6 +578,10 @@ 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()) {
|
||||
emit_signal("color_changed", color);
|
||||
|
@ -607,6 +611,10 @@ 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);
|
||||
|
|
Loading…
Reference in a new issue