rust: Fix old compiler compat

This commit is contained in:
Dorota Czaplejewicz
2019-10-20 14:32:34 +00:00
parent c99efc430c
commit 1290fd4a1e

View File

@ -371,19 +371,21 @@ pub mod c {
ui_keyboard: EekGtkKeyboard, ui_keyboard: EekGtkKeyboard,
) { ) {
let layout = unsafe { &mut *layout }; let layout = unsafe { &mut *layout };
let view = layout.get_current_view();
let point = widget_to_layout.forward( let point = widget_to_layout.forward(
Point { x: x_widget, y: y_widget } Point { x: x_widget, y: y_widget }
); );
let place = view.find_button_by_position(point);
// the immutable reference to `layout` through `view` // the immutable reference to `layout` through `view`
// must be dropped // must be dropped
// before `layout.press_key` borrows it mutably again // before `layout.press_key` borrows it mutably again
let state_place = place.map(|place| {( let state_place = {
place.button.state.clone(), let view = layout.get_current_view();
place.into(), 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 { if let Some((mut state, c_place)) = state_place {
layout.press_key( layout.press_key(
@ -412,19 +414,19 @@ pub mod c {
let layout = unsafe { &mut *layout }; let layout = unsafe { &mut *layout };
let virtual_keyboard = VirtualKeyboard(virtual_keyboard); let virtual_keyboard = VirtualKeyboard(virtual_keyboard);
let view = layout.get_current_view();
let point = widget_to_layout.forward( let point = widget_to_layout.forward(
Point { x: x_widget, y: y_widget } Point { x: x_widget, y: y_widget }
); );
let pressed = layout.pressed_keys.clone(); let pressed = layout.pressed_keys.clone();
let place = view.find_button_by_position(point); let state_place = {
let view = layout.get_current_view();
let state_place = place.map(|place| {( let place = view.find_button_by_position(point);
place.button.state.clone(), place.map(|place| {(
place.into(), place.button.state.clone(),
)}); place.into(),
)})
};
if let Some((mut state, c_place)) = state_place { if let Some((mut state, c_place)) = state_place {
let mut found = false; let mut found = false;