aboutsummaryrefslogtreecommitdiff
path: root/src/ui/UiHost.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/UiHost.cpp')
-rw-r--r--src/ui/UiHost.cpp6
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);