From 1290fd4a1ed9bef7ff951f9c08f1d40f4ff4faa1 Mon Sep 17 00:00:00 2001 From: Dorota Czaplejewicz Date: Sun, 20 Oct 2019 14:32:34 +0000 Subject: [PATCH] rust: Fix old compiler compat --- src/layout.rs | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/src/layout.rs b/src/layout.rs index 8989744d..c87b89bf 100644 --- a/src/layout.rs +++ b/src/layout.rs @@ -371,19 +371,21 @@ pub mod c { ui_keyboard: EekGtkKeyboard, ) { let layout = unsafe { &mut *layout }; - let view = layout.get_current_view(); let point = widget_to_layout.forward( Point { x: x_widget, y: y_widget } ); - let place = view.find_button_by_position(point); // the immutable reference to `layout` through `view` // must be dropped // before `layout.press_key` borrows it mutably again - let state_place = place.map(|place| {( - place.button.state.clone(), - place.into(), - )}); + let state_place = { + let view = layout.get_current_view(); + let place = view.find_button_by_position(point); + place.map(|place| {( + place.button.state.clone(), + place.into(), + )}) + }; if let Some((mut state, c_place)) = state_place { layout.press_key( @@ -412,19 +414,19 @@ pub mod c { let layout = unsafe { &mut *layout }; let virtual_keyboard = VirtualKeyboard(virtual_keyboard); - let view = layout.get_current_view(); - let point = widget_to_layout.forward( Point { x: x_widget, y: y_widget } ); let pressed = layout.pressed_keys.clone(); - let place = view.find_button_by_position(point); - - let state_place = place.map(|place| {( - place.button.state.clone(), - place.into(), - )}); + let state_place = { + let view = layout.get_current_view(); + let place = view.find_button_by_position(point); + place.map(|place| {( + place.button.state.clone(), + place.into(), + )}) + }; if let Some((mut state, c_place)) = state_place { let mut found = false;