Making sure that DBus objects are all created before the service

Authored by feverfew on Sep 2 2019, 9:13 PM.

Description

Making sure that DBus objects are all created before the service

Summary:
Currently the DBus service is created before the MainWindow DBus object is
created. This can cause hangs if another service makes calls to a a method
in an object that's not been initialised, when the service is already published.
This patch defers the creation of the service until all DBus objects are
created.

Test Plan:
Tested in KDevelop. Have "open new folders in tabs" feature enabled.
Open several folders with Dolphin at once. Before this patch
there would be noticeable hanging. With this patch all tabs instantly open with
no hanging.

Reviewers: elvisangelaccio, ngraham

Reviewed By: elvisangelaccio

Subscribers: kfm-devel

Tags: Dolphin

Differential Revision: https://phabricator.kde.org/D23672