The InitExecutor
constructor moves the instance to a dedicated thread. This PR changes that by using GUIUtil::ObjectInvoke
to run the relevant code in that thread.
A possible follow-up is to ditch the dedicated thread and use QThreadPool
or even QtConcurrent::run
(if we want to enable that).