Skip to content

qt: fix interface state locking on MacOS

On most platforms, the Qt interface is started in its own thread and the VLC interface startup routine needs to wait for the Qt interface to be ready before giving the control back to libvlc.

On MacOS, the interface is currently started into the main thread directly because of the platform constraints of Qt, blocking libvlc and enforcing the startup of Qt synchronously.

Because of that, the state lock was never given back, and the window, started from a different thread, was never able to lock it to check that the interface is correctly started.

The correct fix should be to make the Qt interface start correctly as in other platforms, but current attempts at making it a reality have failed. In particular, it doesn't seem possible to dispatch the startup. The changes here keep the current workaround, allowing application developers to check the behaviour on MacOS.

Merge request reports