<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="http://git.reviewboard.kde.org/r/106692/">http://git.reviewboard.kde.org/r/106692/</a>
     </td>
    </tr>
   </table>
   <br />





 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">This review has been submitted with commit 8be0b112e4d7322738445b0985134ea6de198505 by Oliver Henshaw to branch push/4.9.</pre>
 <br />







<p>- Commit</p>


<br />
<p>On October 2nd, 2012, 6:11 p.m., Oliver Henshaw wrote:</p>






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

<div>Review request for Solid.</div>
<div>By Oliver Henshaw.</div>


<p style="color: grey;"><i>Updated Oct. 2, 2012, 6:11 p.m.</i></p>






<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;">Don't prematurely unload suspendsession action

Sometimes ActionPool::loadAction is called with an empty (invalid) KConfigGroup
in order to retrieve an Action* to trigger. These callers treat loadAction as a
glorified getter, and should not disturb a loaded action. However, an "active"
action was unloaded unconditionally and not subsequently reloaded, since
actions can only be loaded with valid configurations.

This meant that the idle timeout for the "SuspendSession" action was
unregistered when session suspend was triggered by PowerDevil::Core or by a
button event.

- Only unload action if it's going to be loaded (i.e. group isValid)
- Make m_activeActions track loaded actions, for consistency.

Note: only the ActionPool::loadAction("SuspendSession") callers suffer
undesirable behaviour from triggering this bug. The"DPMSControl" caller from
HandleButtonEvents::processAction would disable DPMS if another bug did not mask
this one.

BUG: 306950</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;">Tested interaction of powerbutton action and timed power action for DPMS and lock screen on 4.8.x desktop and 4.9 VM (and for suspend session on desktop).</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>powerdevil/daemon/powerdevilactionpool.cpp <span style="color: grey">(484c27111be610822a368b6d4d7bdb912eb584b6)</span></li>

</ul>

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




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








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