Skip to content

qt: remove `callAsync()` in favor of `QMetaObject::invokeMethod()` with `Qt::AutoConnection`

Fatih Uzunoğlu requested to merge fuzun/vlc:qt/removecallasync into master

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.

Merge request reports