From 00880a11ce1b00ff39b6487997841081bbef1438 Mon Sep 17 00:00:00 2001 From: Cyprian Klimaszewski <111280526+Rito13@users.noreply.github.com> Date: Mon, 24 Nov 2025 23:28:41 +0100 Subject: [PATCH] Fix 98700eee43, Fix #14815: Properly handle picker window invalidation. (#14816) --- src/picker_gui.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/picker_gui.cpp b/src/picker_gui.cpp index d4799b3fb8..12085ec828 100644 --- a/src/picker_gui.cpp +++ b/src/picker_gui.cpp @@ -468,7 +468,7 @@ void PickerWindow::OnDropdownSelect(WidgetID widget, int index, int click_result } /* We need to refresh if a filter is removed. */ - this->InvalidateData({PickerInvalidation::Type, PickerInvalidation::Filter}); + this->InvalidateData({PickerInvalidation::Type, PickerInvalidation::Filter, PickerInvalidation::Position}); break; } @@ -479,7 +479,7 @@ void PickerWindow::OnDropdownSelect(WidgetID widget, int index, int click_result } else { SetBadgeFilter(this->badge_filter_choices, BadgeID(index)); } - this->InvalidateData({PickerInvalidation::Type, PickerInvalidation::Filter}); + this->InvalidateData({PickerInvalidation::Type, PickerInvalidation::Filter, PickerInvalidation::Position}); } break; } @@ -555,7 +555,7 @@ void PickerWindow::OnEditboxChanged(WidgetID wid) } else { this->type_string_filter.btf.reset(); } - this->InvalidateData({PickerInvalidation::Type, PickerInvalidation::Filter}); + this->InvalidateData({PickerInvalidation::Type, PickerInvalidation::Filter, PickerInvalidation::Position}); break; default: @@ -693,7 +693,6 @@ void PickerWindow::BuildPickerTypeList() if (!this->has_type_picker) return; this->GetWidget(WID_PW_TYPE_MATRIX)->SetCount(static_cast(this->types.size())); - this->EnsureSelectedTypeIsVisible(); } void PickerWindow::EnsureSelectedTypeIsValid()