diff --git a/Libraries/LibGUI/StackWidget.cpp b/Libraries/LibGUI/StackWidget.cpp index bde65d5151..1f06eed24e 100644 --- a/Libraries/LibGUI/StackWidget.cpp +++ b/Libraries/LibGUI/StackWidget.cpp @@ -26,6 +26,7 @@ #include #include +#include namespace GUI { @@ -42,7 +43,7 @@ void StackWidget::set_active_widget(Widget* widget) if (widget == m_active_widget) return; - bool active_widget_had_focus = m_active_widget && m_active_widget->is_focused(); + bool active_widget_had_focus = m_active_widget && window() && window()->focused_widget() == m_active_widget; if (m_active_widget) m_active_widget->set_visible(false); diff --git a/Libraries/LibGUI/TabWidget.cpp b/Libraries/LibGUI/TabWidget.cpp index 39583e593e..e3a6dcdb44 100644 --- a/Libraries/LibGUI/TabWidget.cpp +++ b/Libraries/LibGUI/TabWidget.cpp @@ -29,6 +29,7 @@ #include #include #include +#include #include #include #include @@ -81,7 +82,7 @@ void TabWidget::set_active_widget(Widget* widget) if (widget == m_active_widget) return; - bool active_widget_had_focus = m_active_widget && m_active_widget->is_focused(); + bool active_widget_had_focus = m_active_widget && window() && window()->focused_widget() == m_active_widget; if (m_active_widget) m_active_widget->set_visible(false);