Review Request 124912: [screenlocker] Delay uninhibiting sleep till the lock window is shown

David Edmundson david at davidedmundson.co.uk
Tue Aug 25 11:04:59 UTC 2015


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124912/#review84330
-----------------------------------------------------------



ksmserver/screenlocker/lockwindow.h (line 54)
<https://git.reviewboard.kde.org/r/124912/#comment58399>

    this is a pretty silly class name now, given it's not a window



ksmserver/screenlocker/lockwindow.cpp (line 150)
<https://git.reviewboard.kde.org/r/124912/#comment58400>

    I know you're just editing it, but
    
    having just hidden the background window, we then set a background colour and event mask on it then move it....
    
    this literally makes no sense.



ksmserver/screenlocker/lockwindow.cpp (line 406)
<https://git.reviewboard.kde.org/r/124912/#comment58401>

    we can move this to background window constructor


- David Edmundson


On Aug. 25, 2015, 7:54 a.m., Martin Gräßlin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/124912/
> -----------------------------------------------------------
> 
> (Updated Aug. 25, 2015, 7:54 a.m.)
> 
> 
> Review request for Plasma, Kai Uwe Broulik and David Edmundson.
> 
> 
> Bugs: 348850
>     https://bugs.kde.org/show_bug.cgi?id=348850
> 
> 
> Repository: plasma-workspace
> 
> 
> Description
> -------
> 
> LockWindow is mostly just the logic to ensure that the greeter is kept
> on top of the stack. In addition it did render a black qwidget. Testing
> showed that the paintEvent never got invoked, though, so the rendering
> did not really work.
> 
> The rendering feature is now split out into a dedicated QRasterWindow
> as we don't need a full QWidget for it. It also needed to be split into
> a dedicated class as it's not possible to inherit from QSurface and mix
> with XLib code (QSurface defines a Window type which bites with XLib).
> 
> [screenlocker] Emit locked once the lock window is shown
> 
> The screen is only truly locked once our black background window is
> shown. So far we locked once the greeter process was started. At this
> point the screen was still unlocked and a suspend would result in system
> waking up with an unlocked screen for a brief period.
> 
> This change emits the locked signal once we got a MapNotify event for
> our black background window which means the screen is properly turned
> black and we can allow e.g. going to suspend.
> 
> 
> Diffs
> -----
> 
>   ksmserver/screenlocker/ksldapp.cpp d0636b8785101cb9896cea6399952dac0e4cd227 
>   ksmserver/screenlocker/lockwindow.h 265699a9789703ad099eee043a14d4700e90c243 
>   ksmserver/screenlocker/lockwindow.cpp 41af0e23f8442d75b7295debe50d9b29fbda7e7a 
> 
> Diff: https://git.reviewboard.kde.org/r/124912/diff/
> 
> 
> Testing
> -------
> 
> Added debug statements, tail -f on .xsession-errors:
> we call uninhibit before system goes to suspend
> 
> Unfortunately on wakeup I still see a flicker of the desktop. I'm not sure where it comes from, I assume X weirdness on resume from suspend.
> 
> 
> Thanks,
> 
> Martin Gräßlin
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20150825/bcf521bf/attachment-0001.html>


More information about the Plasma-devel mailing list