Skip to content

Commit

Permalink
Merge pull request rust-windowing#6 from rye/cleanup-modifiers-change…
Browse files Browse the repository at this point in the history
…d-window-event

Extract two calls into reused variables
  • Loading branch information
murarth committed Jan 26, 2020
2 parents 4a8d78f + 216aae2 commit 496fe4c
Showing 1 changed file with 8 additions and 6 deletions.
14 changes: 8 additions & 6 deletions src/platform_impl/macos/view.rs
Original file line number Diff line number Diff line change
Expand Up @@ -625,9 +625,10 @@ fn retrieve_keycode(event: id) -> Option<VirtualKeyCode> {

// Update `state.modifiers` if `event` has something different
fn update_potentially_stale_modifiers(state: &mut ViewState, event: id) {
if state.modifiers != event_mods(event) {
state.modifiers = event_mods(event);
trace!("Modifiers are stale; updating modifiers");
let event_modifiers = event_mods(event);
if state.modifiers != event_modifiers {
state.modifiers = event_modifiers;

AppState::queue_event(EventWrapper::StaticEvent(Event::WindowEvent {
window_id: WindowId(get_window_id(state.ns_window)),
event: WindowEvent::ModifiersChanged(state.modifiers),
Expand Down Expand Up @@ -769,16 +770,17 @@ extern "C" fn flags_changed(this: &Object, _sel: Sel, event: id) {
events.push_back(window_event);
}

let window_id = WindowId(get_window_id(state.ns_window));

for event in events {
AppState::queue_event(EventWrapper::StaticEvent(Event::WindowEvent {
window_id: WindowId(get_window_id(state.ns_window)),
window_id,
event,
}));
}

AppState::queue_event(EventWrapper::StaticEvent(Event::WindowEvent {
// TODO Maybe memoize get_window_id if it's safe to reuse?
window_id: WindowId(get_window_id(state.ns_window)),
window_id,
event: WindowEvent::ModifiersChanged(state.modifiers),
}));
}
Expand Down

0 comments on commit 496fe4c

Please sign in to comment.