From: Ian Jackson Date: Sat, 20 Mar 2021 19:25:35 +0000 (+0000) Subject: clock: auto-swap active player X-Git-Tag: otter-0.5.0~620 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=638bd8c84270800a094e9b947c9713bf1dddc51d;p=otter.git clock: auto-swap active player Signed-off-by: Ian Jackson --- diff --git a/src/clock.rs b/src/clock.rs index ce9a065f..6c6539ea 100644 --- a/src/clock.rs +++ b/src/clock.rs @@ -673,7 +673,14 @@ impl PieceTrait for Clock { let state: &mut State = gpc.xdata_mut_exp()?; let was_running = state.implies_running(was_held); - // xxx auto-change active player + if_chain! { + if was_held == None; + if let Some(Current { user }) = state.current; + if now_held == Some(state.users[user].player); + then { + state.current = Some(Current { user: ! user }); + } + } state.do_start_or_stop(piece, was_running, now_held, ig)?; unprepared_update(piece)