qt: remove `callAsync()` in favor of `QMetaObject::invokeMethod()` with `Qt::AutoConnection`
Currently, callAsync()
seems pretty much useless since we can directly use QMetaObject::invokeMethod()
. It might be argued that callAsync()
is more convenient since it is shorter.
The default connection type Qt::AutoConnection
invokes the method asynchronously if the object lives in a different thread, and synchronously if it lives in the same thread.
Explicit QueuedConnection
is not necessary and is harmful, because there is should be no need to queue if the object lives in the same thread as the caller. Currently, the playlist suffers from this condition that even though it lives in the same thread as the controller, callback actions are queued and this causes issues (I tried to correct in !5799 (closed) initially).
Request review @chub.