diff options
Diffstat (limited to 'src/ui/UiHost.cpp')
-rw-r--r-- | src/ui/UiHost.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/ui/UiHost.cpp b/src/ui/UiHost.cpp index 5eee3925..5db113bf 100644 --- a/src/ui/UiHost.cpp +++ b/src/ui/UiHost.cpp @@ -182,11 +182,13 @@ bool UiHost::RequestFocusFor(Control* control) { if (focus_control_ == control) return true; - DispatchEvent(event_names::LoseFocus, focus_control_, - &Control::LoseFocusEvent, nullptr, false); + const auto old_focus_control = focus_control_; focus_control_ = control; + DispatchEvent(event_names::LoseFocus, old_focus_control, + &Control::LoseFocusEvent, nullptr, false); + DispatchEvent(event_names::GainFocus, control, &Control::GainFocusEvent, nullptr, false); |