diff --git a/Userland/Applications/Browser/BrowserWindow.cpp b/Userland/Applications/Browser/BrowserWindow.cpp index f07ab53d1b..52a74eb20c 100644 --- a/Userland/Applications/Browser/BrowserWindow.cpp +++ b/Userland/Applications/Browser/BrowserWindow.cpp @@ -111,8 +111,10 @@ BrowserWindow::BrowserWindow(CookieJar& cookie_jar, URL url) m_tab_widget->activate_previous_tab(); }; - for (int i = 0; i <= 7; ++i) { + for (size_t i = 0; i <= 7; ++i) { m_window_actions.on_tabs.append([this, i] { + if (i >= m_tab_widget->tab_count()) + return; m_tab_widget->set_tab_index(i); }); } diff --git a/Userland/Libraries/LibGUI/TabWidget.h b/Userland/Libraries/LibGUI/TabWidget.h index 0352ac9c9c..e98961eaae 100644 --- a/Userland/Libraries/LibGUI/TabWidget.h +++ b/Userland/Libraries/LibGUI/TabWidget.h @@ -29,6 +29,7 @@ public: bool has_vertical_tabs() const { return m_tab_position == TabPosition::Left || m_tab_position == TabPosition::Right; } Optional active_tab_index() const; + size_t tab_count() { return m_tabs.size(); } Widget* active_widget() { return m_active_widget.ptr(); } Widget const* active_widget() const { return m_active_widget.ptr(); }