a mir::protobuf::Void extends from the MessageLite.
The overall issue seems to be a threaded one. Right now in the SDL mir port when we get an event it normally just adds and event to its own internal queue (need to double check that as well though really).
The issue is with pointer confinement now when we get a window focus event we set the keyboard focused which ends up asking the window to grab the pointer. This happens on the event callback thread. At the sametime its asking the surface to modify its contents its being released during a mir_connection_release_sync. Hence the corrupted looking state, it actually throws the error message that it cannot find the surface while trying to modify a surface during a connection release.
The fix is in SDL2. Though not sure if Mir could handle this error better.
a mir::protobuf::Void extends from the MessageLite.
The overall issue seems to be a threaded one. Right now in the SDL mir port when we get an event it normally just adds and event to its own internal queue (need to double check that as well though really).
The issue is with pointer confinement now when we get a window focus event we set the keyboard focused which ends up asking the window to grab the pointer. This happens on the event callback thread. At the sametime its asking the surface to modify its contents its being released during a mir_connection_ release_ sync. Hence the corrupted looking state, it actually throws the error message that it cannot find the surface while trying to modify a surface during a connection release.
The fix is in SDL2. Though not sure if Mir could handle this error better.