From 32205495e6362888ad28389d3f9af05925198b12 Mon Sep 17 00:00:00 2001 From: Jannis Weis <31143295+weisJ@users.noreply.github.com> Date: Sun, 21 Aug 2022 21:45:43 +0200 Subject: [PATCH] LibGUI: Clear selected index of Breadcrumbbar if segment is removed If the segment corresponding to the selected index is removed the index is no longer valid. --- Userland/Libraries/LibGUI/Breadcrumbbar.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Userland/Libraries/LibGUI/Breadcrumbbar.cpp b/Userland/Libraries/LibGUI/Breadcrumbbar.cpp index 57366b6e63..5e63b7a2df 100644 --- a/Userland/Libraries/LibGUI/Breadcrumbbar.cpp +++ b/Userland/Libraries/LibGUI/Breadcrumbbar.cpp @@ -68,6 +68,7 @@ void Breadcrumbbar::clear_segments() { m_segments.clear(); remove_all_children(); + m_selected_segment = {}; } void Breadcrumbbar::append_segment(String text, Gfx::Bitmap const* icon, String data, String tooltip) @@ -120,6 +121,8 @@ void Breadcrumbbar::remove_end_segments(size_t start_segment_index) auto segment = m_segments.take_last(); remove_child(*segment.button); } + if (m_selected_segment.has_value() && *m_selected_segment >= start_segment_index) + m_selected_segment = {}; } Optional Breadcrumbbar::find_segment_with_data(String const& data)