Ensure no input remains in the task_pool before resetting

This commit is contained in:
loki
2021-05-09 11:56:53 +02:00
parent 2970ad662c
commit 6f428eb316
+7
View File
@@ -403,10 +403,17 @@ void passthrough(std::shared_ptr<input_t> &input, std::vector<std::uint8_t> &&in
} }
void reset() { void reset() {
if(task_id) {
task_pool.cancel(task_id);
}
// Ensure input is synchronous
task_pool.push([]() {
for(auto& kp : key_press) { for(auto& kp : key_press) {
platf::keyboard(platf_input, kp.first & 0x00FF, true); platf::keyboard(platf_input, kp.first & 0x00FF, true);
key_press[kp.first] = false; key_press[kp.first] = false;
} }
});
} }
void init() { void init() {