Mir

Comment 0 for bug 1194384

Input event callbacks are made in a different thread to that where they were registered (where main is running).

This is extremely dangerous.

Many toolkits and simple apps rely on having mutually exclusive callbacks. This means callbacks will always run in the same thread that the app is. If you break this guarantee then many apps and toolkits are likely to break.

If we do continue down the road of silently making single-threaded apps multi-threaded then we will need to expose locking primitives in the client API, at least.