From 52df1aeb590e59d43b4c4da4fc3efd16f2aea48b Mon Sep 17 00:00:00 2001 From: Haoyu Qiu Date: Sun, 21 Sep 2025 22:17:38 +0800 Subject: [PATCH] ColorPicker: Fix preset button order after calling `add_preset` --- scene/gui/color_picker.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/scene/gui/color_picker.cpp b/scene/gui/color_picker.cpp index 5a3d5e859d1..17e2d8a94f9 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);