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