openDsh / dash

Join us on Slack! https://join.slack.com/t/opendsh/shared_invite/zt-la398uly-a6eMH5ttEQhbtE6asVKx4Q
GNU General Public License v3.0
238 stars 69 forks source link

Queue page change to avoid deadlock #116

Closed icecube45 closed 2 years ago

icecube45 commented 2 years ago

When I changed how actions are detected to allow discrete press/release events, this causes Actions to be fired from eventHandler. Widget change tries to call eventHandler because there's a change event. This causes a deadlock on widget change.

To avoid, queue page change to arbiter's event loop instead of firing immediately. There may be an argument to be made around queuing all Actions fired by eventHandler, but not sure.

Fixes #115