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











<div>



<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="https://git.reviewboard.kde.org/r/120800/diff/2/?file=322311#file322311line85" style="color: black; font-weight: bold; text-decoration: underline;">server/src/collectionscheduler.cpp</a>
    <span style="font-weight: normal;">

     (Diff revision 2)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">class PauseableTimer : public QTimer</pre></td>

  </tr>
 </tbody>



 
 

 <tbody>

  <tr>
    <th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">85</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">      <span class="n">start</span><span class="p">(</span> <span class="n">interval</span><span class="p">()</span> <span class="o">-</span> <span class="p">(</span> <span class="n">mStarted</span><span class="p">.</span><span class="n">secsTo</span><span class="p">(</span> <span class="n">mPaused</span> <span class="p">)</span> <span class="o">*</span> <span class="mi">1000</span> <span class="p">)</span> <span class="p">);</span></pre></td>
    <th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">85</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">      <span class="n">start</span><span class="p">(</span><span class="hl"> </span><span class="n"><span class="hl">qMax</span></span><span class="p"><span class="hl">(</span></span><span class="hl"> </span><span class="mi"><span class="hl">0</span></span><span class="p"><span class="hl">,</span></span> <span class="n">interval</span><span class="p">()</span> <span class="o">-</span> <span class="p">(</span> <span class="n">mStarted</span><span class="p">.</span><span class="n">secsTo</span><span class="p">(</span> <span class="n">mPaused</span> <span class="p">)</span> <span class="o">*</span> <span class="mi">1000</span> <span class="p">)<span class="hl">)</span></span> <span class="p">);</span></pre></td>
  </tr>

 </tbody>

</table>

 <div style="margin-left: 2em;">

  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Somehow this made the negative interval issue come back. Curiously, as with the original code, the warning message is printed much more often upstream by Qt than through the debug message in my previous "else" branch.
I'll try using a temp. variable - it'll be optimised away by the compiler (clang in my case) but might prevent issues with using calling <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">interval()</code> twice in rapid succession.</p></pre>
 </div>
</div>
<br />



<p>- René J.V. Bertin</p>


<br />
<p>On October 27th, 2014, 11:21 p.m. CET, René J.V. Bertin wrote:</p>









<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
 <tr>
  <td>

<div>Review request for Akonadi and KDE Software on Mac OS X.</div>
<div>By René J.V. Bertin.</div>


<p style="color: grey;"><i>Updated Oct. 27, 2014, 11:21 p.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
akonadi
</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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">After waking my Mac from (a night's) sleep, I noticed a quickly repeating error message about starting a QTimer with a negative interval. I could trace this to the PausableTimer instance in collectionscheduler.cpp .
The attached patch prevents the error condition by clipping the calculated remaining time interval to 0 .
I've left a debug statement that can of course doesn't need to be committed.</p></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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">On OS X 10.6.8 with kdelibs 4.14.2 and kdepim* 4.13.3</p></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>server/src/collectionscheduler.cpp <span style="color: grey">(8d4cd5c)</span></li>

</ul>

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






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








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