Changed HTML input color_changed logic.
Made the HTML field send change events based on whether the new color's string is different from the previous color's string (instead of whether the new string parses to the current color value). Previously, updating the color value even when the corresponding string hadn't changed would unnecessarily quantize the color value to 8 bits just by opening/closing the Color Picker.
This commit is contained in:
parent
41365c6c8b
commit
21d778b0c3
1 changed files with 5 additions and 4 deletions
|
@ -556,16 +556,17 @@ void ColorPicker::_html_submitted(const String &p_html) {
|
|||
return;
|
||||
}
|
||||
|
||||
const Color previous_color = color;
|
||||
color = Color::from_string(p_html.strip_edges(), previous_color);
|
||||
Color new_color = Color::from_string(p_html.strip_edges(), color);
|
||||
|
||||
if (!is_editing_alpha()) {
|
||||
color.a = previous_color.a;
|
||||
new_color.a = color.a;
|
||||
}
|
||||
|
||||
if (color == previous_color) {
|
||||
if (new_color.to_argb32() == color.to_argb32()) {
|
||||
return;
|
||||
}
|
||||
color = new_color;
|
||||
|
||||
if (!is_inside_tree()) {
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue