Review Request: Use D-Bus to lock sessions and move "session locked" dialog (from KDevelop's main()) to kdevplatform

Ivan Shapovalov intelfx100 at
Wed Sep 5 09:02:52 UTC 2012

This is an automatically generated e-mail. To reply, visit:

(Updated Sept. 5, 2012, 9:02 a.m.)

Review request for KDevelop.


Updated from Milian's comments.

- Using both lockfiles and D-Bus services
- Dropped locking-related scriptable functions from SessionController at all

Also I've restructured functions for retrieving session directories and their lock-file paths (thus new functions in SessionControllerPrivate).

Note: lockfiles are purely secondary (used to get pid/appname/hostname), so if a D-Bus name is accessible and the lock-file is not, then the latter is QFile::remove()d and re-taken.


1: Use D-Bus instead of lock-files to lock kdevplatform sessions.

2: Moved the lockfile remove dialog which currently resides in KDevelop's main() - and which is usable only when the session name is explicitly given to the application - to kdevplatform's SessionController, adjusting the dialog for "lockfile -> dbus" changes.
This allows to get rid of nasty non-informative error messages about a session being already used and replace them with code that does the following things:
1) Attempts a DBus call to make a running instance visible;
2) If it didn't succeed, shows a dialog window asking permission to retry, show session chooser dialog or quit;
3) Repeats the entire procedure if a newly-picked session is locked too.
This code is also used when one picks a session from "Sessions" menu, so a nasty error message has also been removed also from there.

Related change to KDevelop is here: .

Diffs (updated)

  shell/core.cpp 206d48d 
  shell/sessioncontroller.h 551894d 
  shell/sessioncontroller.cpp c9fac67 



Existing unit-tests + manual UI testing.


Ivan Shapovalov

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the KDevelop-devel mailing list