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.
Details
Details
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.
Diff Detail
Diff Detail
- Repository
- R318 Dolphin
- Lint
Automatic diff as part of commit; lint not applicable. - Unit
Automatic diff as part of commit; unit tests not applicable.
src/main.cpp | ||
---|---|---|
147 | What about this code path? Previously it would create the dbus objects, now with this patch it would not. Is that a problem? |
src/main.cpp | ||
---|---|---|
147 | No, if the code reaches here, this instance was basically a glorified URL forwarder, and we wouldn't want it to be reachable via DBus at all. |
Comment Actions
Can't commit from my laptop for some reason (and don't have time to figure out why). If you could before tagging that'd be great!