<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://git.reviewboard.kde.org/r/117091/">https://git.reviewboard.kde.org/r/117091/</a>
     </td>
    </tr>
   </table>
   <br />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On March 26th, 2014, 10:07 p.m. UTC, <b>Thomas Lübking</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">you could sighup or sigusr the greeter process and have it

setImmediateLock(true);
desktopResized();

in return</pre>
 </blockquote>




 <p>On March 27th, 2014, 1:10 p.m. UTC, <b>Wolfgang Bauer</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I agree, this would be a bit nicer...
But I tried it and cannot get it to work.

My signal handler is called, and both setImmediateLock(true) and desktopResized() are called, (I verified this with debug output statements) but the password dialog still doesn't show.
</pre>
 </blockquote>





 <p>On March 27th, 2014, 1:53 p.m. UTC, <b>Wolfgang Bauer</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Oops, sorry. I just noticed that the signal handler is apparently only called when I run kscreenlocker_greet manually (and do "kill -USR1"), but not when the locker runs it.
Will have to investigate this.</pre>
 </blockquote>





 <p>On April 1st, 2014, 1:02 p.m. UTC, <b>Wolfgang Bauer</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Forget my previous comment.
The signal handler was actually called all the time.
But "setImmediateLock(true);" followed by "desktopResized();" DOES NOT have any (visual) effect.
I have yet to find out what else to call to make that dialog appear. Any idea maybe?

Calling exit(1) does work, but that's not much different to killing the greeter I suppose... ;-)
</pre>
 </blockquote>








</blockquote>

<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Ahhh... me was too smart in the multiscreen code ;-)
the "for" loop in desktopResized() (which is relevant for the m_immediateLock handling) won't be entered since no screen changed.

Instead you'd run

for (int i = 0; i < desktop()->screenCount(); ++i) {
   QDeclarativeProperty(m_views.at(i)->rootObject(), "locked").write(true);
}

aside fixing the m_immediateLock value.

Sorry for the false information.</pre>
<br />










<p>- Thomas</p>


<br />
<p>On March 26th, 2014, 4:58 p.m. UTC, Wolfgang Bauer wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for kde-workspace and Aaron J. Seigo.</div>
<div>By Wolfgang Bauer.</div>


<p style="color: grey;"><i>Updated March 26, 2014, 4:58 p.m.</i></p>







<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Bugs: </b>


 <a href="http://bugs.kde.org/show_bug.cgi?id=327947">327947</a>, 

 <a href="http://bugs.kde.org/show_bug.cgi?id=329076">329076</a>


</div>



<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kde-workspace
</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">If the screen locker is set to not require a password to unlock, it will not show the password input field even when the powermanagement settings suspend the system and are set to require a password after resume (when it was already running at that point).
This locks people out of their system.

As there seems to be no way to switch the already running greeter to immediateLock mode, it is killed in that case by this patch. It gets restarted immediately with the --immediatelock option in KSldApp::lockProcessFinished() and shows the password input field then.</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Disable "Require password after" in the screen locker settings (the default), set it to start after 1 min. (for easier testing).
Enable "Suspend session after" and set it to 2 minutes. (set the action to "Suspend", "Hibernate", or "Lock Screen", doesn't matter)
Make sure "Lock screen on resume" is enabled in the powermanagements "Advanced Options" (it is by default).

After 1 minute the screen locker kicks in, and doesn't require a password.
After 2 minutes the session gets suspended, hibernated or locked, and requires a password to resume.

Without this patch no password dialog is shown, the user cannot resume the session by entering the password.

With this patch this works: there is a password input field, the session is unlocked when the user enters the password.

Other openSUSE users have tested this as well, see f.e. https://bugzilla.novell.com/show_bug.cgi?id=864305#c4</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>ksmserver/screenlocker/ksldapp.cpp <span style="color: grey">(3dfcc9e)</span></li>

</ul>

<p><a href="https://git.reviewboard.kde.org/r/117091/diff/" style="margin-left: 3em;">View Diff</a></p>







  </td>
 </tr>
</table>








  </div>
 </body>
</html>