Review Request 117324: Add logind integration to screenlocker
David Edmundson
david at davidedmundson.co.uk
Thu Apr 3 15:03:22 UTC 2014
> On April 3, 2014, 1:52 p.m., David Edmundson wrote:
> > ksmserver/screenlocker/logind.cpp, line 51
> > <https://git.reviewboard.kde.org/r/117324/diff/1/?file=262337#file262337line51>
> >
> > This is a blocking call to DBus.
> >
> > Probably not an issue given ksmserver doesn't have a UI which will freeze; especially during construction, but given you tried making the other calls async it's worth mentioning. QDbusInterface ctor is also blocking.
>
> Martin Gräßlin wrote:
> yes that's absolutely worth mentioning given that this would happen during session startup. Is there a non-blocking variant?
isServiceRegistered becomes:
QDBusPendingCall async = QDBusConnection::sessionBus().interface()->asyncCall(QLatin1String("ListNames"));
QDBusPendingCallWatcher *callWatcher = new QDBusPendingCallWatcher(async, this);
connect(callWatcher, SIGNAL(finished(QDBusPendingCallWatcher*)),
this, SLOT(serviceNameFetchFinished(QDBusPendingCallWatcher*)));
and QDbusInterface can be replaced by constructing a QDBusMessage manually
- David
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/117324/#review54943
-----------------------------------------------------------
On April 2, 2014, 9:05 a.m., Martin Gräßlin wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/117324/
> -----------------------------------------------------------
>
> (Updated April 2, 2014, 9:05 a.m.)
>
>
> Review request for Plasma, Àlex Fiestas, David Edmundson, and Kirill Elagin.
>
>
> Bugs: 314989
> https://bugs.kde.org/show_bug.cgi?id=314989
>
>
> Repository: plasma-workspace
>
>
> Description
> -------
>
> Add logind integration to screenlocker
>
> A new class LogindIntegration is added to the screenlocker. This class
> listens to the Lock and Unlock signals emitted by the session object on
> the logind service.
>
> This is integrated with the screenlocker application to start or quit the
> lock when the signals are emitted. This means a locked screen is unlocked
> when the Unlock signal is received from logind. Logind is a higher
> authority for the screenlocker and thus follows the requests from logind.
>
>
> Diffs
> -----
>
> ksmserver/screenlocker/CMakeLists.txt 55ebc6f
> ksmserver/screenlocker/autotests/CMakeLists.txt PRE-CREATION
> ksmserver/screenlocker/autotests/fakelogind.h PRE-CREATION
> ksmserver/screenlocker/autotests/fakelogind.cpp PRE-CREATION
> ksmserver/screenlocker/autotests/logindtest.cpp PRE-CREATION
> ksmserver/screenlocker/ksldapp.cpp f2e5262
> ksmserver/screenlocker/logind.h PRE-CREATION
> ksmserver/screenlocker/logind.cpp PRE-CREATION
>
> Diff: https://git.reviewboard.kde.org/r/117324/diff/
>
>
> Testing
> -------
>
> so far only tested with the unit test. Still need to restart the session.
>
>
> Thanks,
>
> Martin Gräßlin
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20140403/eb9c7873/attachment-0001.html>
More information about the Plasma-devel
mailing list