Ensure no input remains in the task_pool before resetting
This commit is contained in:
parent
2970ad662c
commit
6f428eb316
1 changed files with 9 additions and 2 deletions
|
|
@ -402,11 +402,18 @@ void passthrough(std::shared_ptr<input_t> &input, std::vector<std::uint8_t> &&in
|
|||
task_pool.push(passthrough_helper, input, util::cmove(input_data));
|
||||
}
|
||||
|
||||
void reset(){
|
||||
for(auto& kp : key_press){
|
||||
void reset() {
|
||||
if(task_id) {
|
||||
task_pool.cancel(task_id);
|
||||
}
|
||||
|
||||
// Ensure input is synchronous
|
||||
task_pool.push([]() {
|
||||
for(auto& kp : key_press) {
|
||||
platf::keyboard(platf_input, kp.first & 0x00FF, true);
|
||||
key_press[kp.first] = false;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void init() {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue