diff --git a/scene/gui/color_picker.cpp b/scene/gui/color_picker.cpp index c9dd6a6de01..0caa510f806 100644 --- a/scene/gui/color_picker.cpp +++ b/scene/gui/color_picker.cpp @@ -1196,7 +1196,14 @@ void ColorPicker::add_preset(const Color &p_color) { if (e) { presets.move_to_back(e); - preset_container->move_child(preset_group->get_pressed_button(), preset_container->get_child_count() - 1); + for (int i = 1; i < preset_container->get_child_count(); i++) { + ColorPresetButton *current_btn = Object::cast_to(preset_container->get_child(i)); + if (current_btn && p_color == current_btn->get_preset_color()) { + preset_container->move_child(current_btn, preset_container->get_child_count() - 1); + current_btn->set_pressed(true); + break; + } + } } else { presets.push_back(p_color);