From 713ceb8454f634cb1c08fc044d862d2c371c3d07 Mon Sep 17 00:00:00 2001 From: Pascal Engeler <engelerp@phys.ethz.ch> Date: Thu, 12 Aug 2021 21:36:51 +0200 Subject: [PATCH] Added dangling block catch --- src/slim_blockchain_handler.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/slim_blockchain_handler.cpp b/src/slim_blockchain_handler.cpp index 09a4de1..2b47907 100644 --- a/src/slim_blockchain_handler.cpp +++ b/src/slim_blockchain_handler.cpp @@ -6,14 +6,15 @@ void SlimBlockchainHandler::update(Toolbox& tb) { + bool skip_events = false; //can't be dragging if mstate changes if (previous_mstate_ != tb.m_state) { clear_blocks_(); + skip_events = true; } //update tracked mstate previous_mstate_ = tb.m_state; - bool skip_events = false; /*Handle Messages*/ for (Message& m : tb.mailbox) { @@ -31,6 +32,12 @@ void SlimBlockchainHandler::update(Toolbox& tb) { } } + //Catch dangling Blocks, if no touches, then no dragging + if (!skip_events && dragpairs_.size() > 0 && tb.current_touchIDs.size() == 0) { + clear_blocks_(); + skip_events = true; + } + if (tb.m_state == static_cast<int>(MSTATE::IMMEDIATE) && !skip_events) { /*Handle Events*/ for (Pevent& pev : tb.events) { -- GitLab