mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-02-24 00:24:38 +00:00
LibGUI: GWindow's focused widget should be a WeakPtr.
This fixes some very obvious use-after-free accesses.
This commit is contained in:
@@ -337,7 +337,7 @@ void GWindow::set_focused_widget(GWidget* widget)
|
||||
GEventLoop::current().post_event(*m_focused_widget, make<GEvent>(GEvent::FocusOut));
|
||||
m_focused_widget->update();
|
||||
}
|
||||
m_focused_widget = widget;
|
||||
m_focused_widget = widget ? widget->make_weak_ptr() : nullptr;
|
||||
if (m_focused_widget) {
|
||||
GEventLoop::current().post_event(*m_focused_widget, make<GEvent>(GEvent::FocusIn));
|
||||
m_focused_widget->update();
|
||||
|
||||
Reference in New Issue
Block a user