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





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On November 16th, 2015, 1:15 p.m. CET, <b>René J.V. Bertin</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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Here's a debugging trace after hitting a breakpoint set on the qFatal() statement I put into <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">MacPoller::stopCatchingIdleEvents</code> . One can see <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">KIdleTime::stopCatchingResumeEvent</code> being called in frame 1, but I cannot identify the calling frame. It doesn't appear to be <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">KIdleTimePrivate::_k_resumingFromIdle()</code> (a breakpoint in there isn't hit).</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;"><div class="codehilite" style="background: #f8f8f8"><pre style="line-height: 125%">Process <span style="color: #666666">88123</span> <span style="color: #A0A000">launched</span>: <span style="border: 1px solid #FF0000">'</span><span style="color: #666666">/</span>Applications<span style="color: #666666">/</span>MacPorts<span style="color: #666666">/</span>KF5<span style="color: #666666">/</span>examples<span style="color: #666666">/</span>kidletime_example.app<span style="color: #666666">/</span>Contents<span style="color: #666666">/</span>MacOS<span style="color: #666666">/</span>kidletime_example<span style="border: 1px solid #FF0000">'</span> (x86_64)
starting the idletime poll QTimer with interval <span style="color: #666666">0</span> and m_minTimeout <span style="color: #666666">-1</span> ; start of <span style="color: #008000; font-weight: bold">catch</span>
Your idle time is <span style="color: #666666">595</span>
Welcome<span style="color: #666666">!!</span> Move your mouse or <span style="color: #008000; font-weight: bold">do</span> something to start...
Great<span style="color: #666666">!</span> Now stay idle <span style="color: #008000; font-weight: bold">for</span> <span style="color: #666666">5</span> seconds to get a nice message. From <span style="color: #666666">10</span>seconds on, you can move your mouse to get back here.
If you will stay idle <span style="color: #008000; font-weight: bold">for</span> too <span style="color: #B00040">long</span>, I will simulate your activityafter <span style="color: #666666">25</span> seconds, and make everything start back
Appended timeout <span style="color: #666666">5000</span> ; min.<span style="color: #666666">==</span> <span style="color: #666666">-1</span>
Appended timeout <span style="color: #666666">10000</span> ; min.<span style="color: #666666">==</span> <span style="color: #666666">-1</span>
Appended timeout <span style="color: #666666">25000</span> ; min.<span style="color: #666666">==</span> <span style="color: #666666">-1</span>
stopping the idletime poll QTimer; end of <span style="color: #008000; font-weight: bold">catch</span>, idle<span style="color: #666666">=</span> <span style="color: #666666">2</span>
Process <span style="color: #666666">88123</span> stopped
<span style="color: #666666">*</span> <span style="color: #008000; font-weight: bold">thread</span> <span style="border: 1px solid #FF0000">#</span><span style="color: #666666">1:</span> tid <span style="color: #666666">=</span> <span style="color: #666666">0x37451f</span>, <span style="color: #666666">0x0000000104fb4359</span> KF5IdleTimeOsxPlugin.so<span style="border: 1px solid #FF0000">`</span>MacPoller<span style="color: #666666">::</span>stopCatchingIdleEvents(<span style="color: #008000; font-weight: bold">this</span><span style="color: #666666">=<</span>unavailable<span style="color: #666666">></span>) <span style="color: #666666">+</span> <span style="color: #666666">297</span> at macpoller.<span style="color: #A0A000">cpp</span>:<span style="color: #666666">372</span>, queue <span style="color: #666666">=</span> <span style="border: 1px solid #FF0000">'</span>com.apple.main<span style="color: #666666">-</span><span style="color: #008000; font-weight: bold">thread</span><span style="border: 1px solid #FF0000">'</span>, stop reason <span style="color: #666666">=</span> breakpoint <span style="color: #666666">1.1</span>
    frame <span style="border: 1px solid #FF0000">#</span><span style="color: #666666">0:</span> <span style="color: #666666">0x0000000104fb4359</span> KF5IdleTimeOsxPlugin.so<span style="border: 1px solid #FF0000">`</span>MacPoller<span style="color: #666666">::</span>stopCatchingIdleEvents(<span style="color: #008000; font-weight: bold">this</span><span style="color: #666666">=<</span>unavailable<span style="color: #666666">></span>) <span style="color: #666666">+</span> <span style="color: #666666">297</span> at macpoller.<span style="color: #A0A000">cpp</span>:<span style="color: #666666">372</span>
   <span style="color: #666666">369</span>      <span style="color: #008000; font-weight: bold">if</span> (m_idleTimer) {
   <span style="color: #666666">370</span>          qDebug() <span style="color: #666666"><<</span> <span style="color: #BA2121">"stopping the idletime poll QTimer; end of catch, idle="</span> <span style="color: #666666"><<</span> poll(<span style="color: #008000">false</span>);
   <span style="color: #666666">371</span>  <span style="color: #408080; font-style: italic">// stopCatchingIdleEvents is called after each resumingFromIdle signal??!</span>
<span style="color: #666666">-></span> <span style="color: #666666">372</span>          qFatal(__FUNCTION__);
   <span style="color: #666666">373</span>          m_idleTimer<span style="color: #666666">-></span>stop();
   <span style="color: #666666">374</span>      }
   <span style="color: #666666">375</span>  <span style="border: 1px solid #FF0000">#</span>endif
(lldb) bt
<span style="color: #666666">*</span> <span style="color: #008000; font-weight: bold">thread</span> <span style="border: 1px solid #FF0000">#</span><span style="color: #666666">1:</span> tid <span style="color: #666666">=</span> <span style="color: #666666">0x37451f</span>, <span style="color: #666666">0x0000000104fb4359</span> KF5IdleTimeOsxPlugin.so<span style="border: 1px solid #FF0000">`</span>MacPoller<span style="color: #666666">::</span>stopCatchingIdleEvents(<span style="color: #008000; font-weight: bold">this</span><span style="color: #666666">=<</span>unavailable<span style="color: #666666">></span>) <span style="color: #666666">+</span> <span style="color: #666666">297</span> at macpoller.<span style="color: #A0A000">cpp</span>:<span style="color: #666666">372</span>, queue <span style="color: #666666">=</span> <span style="border: 1px solid #FF0000">'</span>com.apple.main<span style="color: #666666">-</span><span style="color: #008000; font-weight: bold">thread</span><span style="border: 1px solid #FF0000">'</span>, stop reason <span style="color: #666666">=</span> breakpoint <span style="color: #666666">1.1</span>
  <span style="color: #666666">*</span> frame <span style="border: 1px solid #FF0000">#</span><span style="color: #666666">0:</span> <span style="color: #666666">0x0000000104fb4359</span> KF5IdleTimeOsxPlugin.so<span style="border: 1px solid #FF0000">`</span>MacPoller<span style="color: #666666">::</span>stopCatchingIdleEvents(<span style="color: #008000; font-weight: bold">this</span><span style="color: #666666">=<</span>unavailable<span style="color: #666666">></span>) <span style="color: #666666">+</span> <span style="color: #666666">297</span> at macpoller.<span style="color: #A0A000">cpp</span>:<span style="color: #666666">372</span>
    frame <span style="border: 1px solid #FF0000">#</span><span style="color: #666666">1:</span> <span style="color: #666666">0x000000010000b2c1</span> libKF5IdleTime<span style="color: #666666">.5</span>.dylib<span style="border: 1px solid #FF0000">`</span>KIdleTime<span style="color: #666666">::</span>qt_static_metacall(QObject<span style="color: #666666">*</span>, QMetaObject<span style="color: #666666">::</span>Call, <span style="color: #B00040">int</span>, <span style="color: #B00040">void</span><span style="color: #666666">**</span>) [inlined] KIdleTime<span style="color: #666666">::</span>stopCatchingResumeEvent() <span style="color: #666666">+</span> <span style="color: #666666">43</span> at kidletime.<span style="color: #A0A000">cpp</span>:<span style="color: #666666">113</span>
    frame <span style="border: 1px solid #FF0000">#</span><span style="color: #666666">2:</span> <span style="color: #666666">0x000000010000b296</span> libKF5IdleTime<span style="color: #666666">.5</span>.dylib<span style="border: 1px solid #FF0000">`</span>KIdleTime<span style="color: #666666">::</span>qt_static_metacall(_o<span style="color: #666666">=<</span>unavailable<span style="color: #666666">></span>, _c<span style="color: #666666">=<</span>unavailable<span style="color: #666666">></span>, _id<span style="color: #666666">=<</span>unavailable<span style="color: #666666">></span>, _a<span style="color: #666666">=<</span>unavailable<span style="color: #666666">></span>) <span style="color: #666666">+</span> <span style="color: #666666">582</span> at moc_kidletime.<span style="color: #A0A000">cpp</span>:<span style="color: #666666">113</span>
    frame <span style="border: 1px solid #FF0000">#</span><span style="color: #666666">3:</span> <span style="color: #666666">0x0000000101141252</span> QtCore<span style="border: 1px solid #FF0000">`</span>QMetaObject<span style="color: #666666">::</span>activate(sender<span style="color: #666666">=0x00000001041161f0</span>, signalOffset<span style="color: #666666">=<</span>unavailable<span style="color: #666666">></span>, local_signal_index<span style="color: #666666">=<</span>unavailable<span style="color: #666666">></span>, argv<span style="color: #666666">=<</span>unavailable<span style="color: #666666">></span>) <span style="color: #666666">+</span> <span style="color: #666666">2978</span> at qobject.<span style="color: #A0A000">cpp</span>:<span style="color: #666666">3713</span>
    frame <span style="border: 1px solid #FF0000">#</span><span style="color: #666666">4:</span> <span style="color: #666666">0x0000000101141252</span> QtCore<span style="border: 1px solid #FF0000">`</span>QMetaObject<span style="color: #666666">::</span>activate(sender<span style="color: #666666">=0x00000001041071c0</span>, signalOffset<span style="color: #666666">=<</span>unavailable<span style="color: #666666">></span>, local_signal_index<span style="color: #666666">=<</span>unavailable<span style="color: #666666">></span>, argv<span style="color: #666666">=<</span>unavailable<span style="color: #666666">></span>) <span style="color: #666666">+</span> <span style="color: #666666">2978</span> at qobject.<span style="color: #A0A000">cpp</span>:<span style="color: #666666">3713</span>
    frame <span style="border: 1px solid #FF0000">#</span><span style="color: #666666">5:</span> <span style="color: #666666">0x0000000101139740</span> QtCore<span style="border: 1px solid #FF0000">`</span>QObject<span style="color: #666666">::</span>event(<span style="color: #008000; font-weight: bold">this</span><span style="color: #666666">=0x00000001041071c0</span>, e<span style="color: #666666">=<</span>unavailable<span style="color: #666666">></span>) <span style="color: #666666">+</span> <span style="color: #666666">48</span> at qobject.<span style="color: #A0A000">cpp</span>:<span style="color: #666666">1220</span>
    frame <span style="border: 1px solid #FF0000">#</span><span style="color: #666666">6:</span> <span style="color: #666666">0x000000010004854b</span> QtWidgets<span style="border: 1px solid #FF0000">`</span>QApplicationPrivate<span style="color: #666666">::</span>notify_helper(<span style="color: #008000; font-weight: bold">this</span><span style="color: #666666">=<</span>unavailable<span style="color: #666666">></span>, receiver<span style="color: #666666">=0x00000001041071c0</span>, e<span style="color: #666666">=0x00007fff5fbfd4e0</span>) <span style="color: #666666">+</span> <span style="color: #666666">251</span> at qapplication.<span style="color: #A0A000">cpp</span>:<span style="color: #666666">3716</span>
    frame <span style="border: 1px solid #FF0000">#</span><span style="color: #666666">7:</span> <span style="color: #666666">0x000000010004b904</span> QtWidgets<span style="border: 1px solid #FF0000">`</span>QApplication<span style="color: #666666">::</span>notify(<span style="color: #008000; font-weight: bold">this</span><span style="color: #666666">=<</span>unavailable<span style="color: #666666">></span>, receiver<span style="color: #666666">=<</span>unavailable<span style="color: #666666">></span>, e<span style="color: #666666">=<</span>unavailable<span style="color: #666666">></span>) <span style="color: #666666">+</span> <span style="color: #666666">8212</span> at qapplication.<span style="color: #A0A000">cpp</span>:<span style="color: #666666">3681</span>
    frame <span style="border: 1px solid #FF0000">#</span><span style="color: #666666">8:</span> <span style="color: #666666">0x0000000101110703</span> QtCore<span style="border: 1px solid #FF0000">`</span>QCoreApplication<span style="color: #666666">::</span>notifyInternal(<span style="color: #008000; font-weight: bold">this</span><span style="color: #666666">=<</span>unavailable<span style="color: #666666">></span>, receiver<span style="color: #666666">=<</span>unavailable<span style="color: #666666">></span>, event<span style="color: #666666">=<</span>unavailable<span style="color: #666666">></span>) <span style="color: #666666">+</span> <span style="color: #666666">115</span> at qcoreapplication.<span style="color: #A0A000">cpp</span>:<span style="color: #666666">970</span>
    frame <span style="border: 1px solid #FF0000">#</span><span style="color: #666666">9:</span> <span style="color: #666666">0x0000000101163d16</span> QtCore<span style="border: 1px solid #FF0000">`</span>QTimerInfoList<span style="color: #666666">::</span>activateTimers(<span style="color: #008000; font-weight: bold">this</span><span style="color: #666666">=0x0000000104059b10</span>) <span style="color: #666666">+</span> <span style="color: #666666">1270</span> at qcoreapplication.<span style="color: #A0A000">h</span>:<span style="color: #666666">224</span>
    frame <span style="border: 1px solid #FF0000">#</span><span style="color: #666666">10:</span> <span style="color: #666666">0x0000000104ca5502</span> libqcocoa.dylib<span style="border: 1px solid #FF0000">`</span>QCocoaEventDispatcherPrivate<span style="color: #666666">::</span>activateTimersSourceCallback(info<span style="color: #666666">=0x0000000104059a90</span>) <span style="color: #666666">+</span> <span style="color: #666666">18</span> at qcocoaeventdispatcher.<span style="color: #A0A000">mm</span>:<span style="color: #666666">121</span>
    frame <span style="border: 1px solid #FF0000">#</span><span style="color: #666666">11:</span> <span style="color: #666666">0x00007fff90e4e5b1</span> CoreFoundation<span style="border: 1px solid #FF0000">`</span>__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ <span style="color: #666666">+</span> <span style="color: #666666">17</span>
    frame <span style="border: 1px solid #FF0000">#</span><span style="color: #666666">12:</span> <span style="color: #666666">0x00007fff90e3fc62</span> CoreFoundation<span style="border: 1px solid #FF0000">`</span>__CFRunLoopDoSources0 <span style="color: #666666">+</span> <span style="color: #666666">242</span>
    frame <span style="border: 1px solid #FF0000">#</span><span style="color: #666666">13:</span> <span style="color: #666666">0x00007fff90e3f3ef</span> CoreFoundation<span style="border: 1px solid #FF0000">`</span>__CFRunLoopRun <span style="color: #666666">+</span> <span style="color: #666666">831</span>
    frame <span style="border: 1px solid #FF0000">#</span><span style="color: #666666">14:</span> <span style="color: #666666">0x00007fff90e3ee75</span> CoreFoundation<span style="border: 1px solid #FF0000">`</span>CFRunLoopRunSpecific <span style="color: #666666">+</span> <span style="color: #666666">309</span>
    frame <span style="border: 1px solid #FF0000">#</span><span style="color: #666666">15:</span> <span style="color: #666666">0x00007fff93440a0d</span> HIToolbox<span style="border: 1px solid #FF0000">`</span>RunCurrentEventLoopInMode <span style="color: #666666">+</span> <span style="color: #666666">226</span>
    frame <span style="border: 1px solid #FF0000">#</span><span style="color: #666666">16:</span> <span style="color: #666666">0x00007fff934407b7</span> HIToolbox<span style="border: 1px solid #FF0000">`</span>ReceiveNextEventCommon <span style="color: #666666">+</span> <span style="color: #666666">479</span>
    frame <span style="border: 1px solid #FF0000">#</span><span style="color: #666666">17:</span> <span style="color: #666666">0x00007fff934405bc</span> HIToolbox<span style="border: 1px solid #FF0000">`</span>_BlockUntilNextEventMatchingListInModeWithFilter <span style="color: #666666">+</span> <span style="color: #666666">65</span>
    frame <span style="border: 1px solid #FF0000">#</span><span style="color: #666666">18:</span> <span style="color: #666666">0x00007fff8ac9c24e</span> AppKit<span style="border: 1px solid #FF0000">`</span>_DPSNextEvent <span style="color: #666666">+</span> <span style="color: #666666">1434</span>
    frame <span style="border: 1px solid #FF0000">#</span><span style="color: #666666">19:</span> <span style="color: #666666">0x00007fff8ac9b89b</span> AppKit<span style="border: 1px solid #FF0000">`</span><span style="color: #666666">-</span>[NSApplication <span style="color: #A0A000">nextEventMatchingMask</span>:<span style="color: #A0A000">untilDate</span>:<span style="color: #A0A000">inMode</span>:<span style="color: #A0A000">dequeue</span>:] <span style="color: #666666">+</span> <span style="color: #666666">122</span>
    frame <span style="border: 1px solid #FF0000">#</span><span style="color: #666666">20:</span> <span style="color: #666666">0x00007fff8ac8f99c</span> AppKit<span style="border: 1px solid #FF0000">`</span><span style="color: #666666">-</span>[NSApplication run] <span style="color: #666666">+</span> <span style="color: #666666">553</span>
    frame <span style="border: 1px solid #FF0000">#</span><span style="color: #666666">21:</span> <span style="color: #666666">0x0000000104ca611d</span> libqcocoa.dylib<span style="border: 1px solid #FF0000">`</span>QCocoaEventDispatcher<span style="color: #666666">::</span>processEvents(<span style="color: #008000; font-weight: bold">this</span><span style="color: #666666">=0x0000000104056170</span>, flags<span style="color: #666666">=<</span>unavailable<span style="color: #666666">></span>) <span style="color: #666666">+</span> <span style="color: #666666">2189</span> at qcocoaeventdispatcher.<span style="color: #A0A000">mm</span>:<span style="color: #666666">418</span>
    frame <span style="border: 1px solid #FF0000">#</span><span style="color: #666666">22:</span> <span style="color: #666666">0x000000010110de2d</span> QtCore<span style="border: 1px solid #FF0000">`</span>QEventLoop<span style="color: #666666">::</span>exec(QFlags<span style="color: #666666"><</span>QEventLoop<span style="color: #666666">::</span>ProcessEventsFlag<span style="color: #666666">></span>) [inlined] QEventLoop<span style="color: #666666">::</span>processEvents(QFlags<span style="color: #666666"><</span>QEventLoop<span style="color: #666666">::</span>ProcessEventsFlag<span style="color: #666666">></span>) <span style="color: #666666">+</span> <span style="color: #666666">381</span> at qeventloop.<span style="color: #A0A000">cpp</span>:<span style="color: #666666">128</span>
    frame <span style="border: 1px solid #FF0000">#</span><span style="color: #666666">23:</span> <span style="color: #666666">0x000000010110de14</span> QtCore<span style="border: 1px solid #FF0000">`</span>QEventLoop<span style="color: #666666">::</span>exec(<span style="color: #008000; font-weight: bold">this</span><span style="color: #666666">=0x00007fff5fbfee70</span>, flags<span style="color: #666666">=<</span>unavailable<span style="color: #666666">></span>) <span style="color: #666666">+</span> <span style="color: #666666">356</span> at qeventloop.<span style="color: #A0A000">cpp</span>:<span style="color: #666666">204</span>
    frame <span style="border: 1px solid #FF0000">#</span><span style="color: #666666">24:</span> <span style="color: #666666">0x0000000101110ca5</span> QtCore<span style="border: 1px solid #FF0000">`</span>QCoreApplication<span style="color: #666666">::</span>exec() <span style="color: #666666">+</span> <span style="color: #666666">325</span> at qcoreapplication.<span style="color: #A0A000">cpp</span>:<span style="color: #666666">1234</span>
    frame <span style="border: 1px solid #FF0000">#</span><span style="color: #666666">25:</span> <span style="color: #666666">0x00000001000025ec</span> kidletime_example<span style="border: 1px solid #FF0000">`</span>main(argc<span style="color: #666666">=1</span>, argv<span style="color: #666666">=<</span>unavailable<span style="color: #666666">></span>) <span style="color: #666666">+</span> <span style="color: #666666">60</span> at main.<span style="color: #A0A000">cpp</span>:<span style="color: #666666">29</span>
    frame <span style="border: 1px solid #FF0000">#</span><span style="color: #666666">26:</span> <span style="color: #666666">0x00007fff8d7ef5fd</span> libdyld.dylib<span style="border: 1px solid #FF0000">`</span>start <span style="color: #666666">+</span> <span style="color: #666666">1</span>
</pre></div>
</p></pre>
 </blockquote>




 <p>On November 16th, 2015, 1:18 p.m. CET, <b>René J.V. Bertin</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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Line 113 in moc_kidletime.cpp reads</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;"><div class="codehilite" style="background: #f8f8f8"><pre style="line-height: 125%">        <span style="color: #008000; font-weight: bold">case</span> <span style="color: #666666">7:</span> _t<span style="color: #666666">-></span>stopCatchingResumeEvent(); <span style="color: #008000; font-weight: bold">break</span>;
</pre></div>
</p></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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Ok, so apparently <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">KIdleTimePrivate::_k_resumingFromIdle()</code> does get called, and it's that method which then calls <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">stopCatchingResumeEvent</code>.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">If that's the intended behaviour, why does the KIdleTime example work on Linux, without "restarting" <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">catchNextResumeEvent</code>??</p></pre>
<br />










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


<br />
<p>On November 15th, 2015, 11:58 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 KDE Software on Mac OS X and KDE Frameworks.</div>
<div>By René J.V. Bertin.</div>


<p style="color: grey;"><i>Updated Nov. 15, 2015, 11:58 p.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kidletime
</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;">I noticed that the KIdleTime example doesn't work properly on OS X, and that the plugin for OS X still uses the deprecated Carbon-based algorithm that I already patched for KDE4.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">This patch is a work-in-progress (hence the qDebugs) update to use IOKit, IORegistry and CoreServices to do idle-time calculation as it should be done, and allow simulated user activity through a "less deprecated" function.</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.9 with Qt 5.5.1 and frameworks 5.16.0 .</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The example now works: when I set a QTimer with interval==0, the expected wait for user input (<code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">resumingFromIdle</code> signal) works. However, I am getting a <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">stopCatchingIdleEvents</code> signal which means the application waits forever, without ever getting to compare idle time to the list of timeouts.
I haven't been able to figure out where that signal comes from, nor why this doesn't happen on Linux.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Surely I'm missing something, but what?</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>src/plugins/osx/macpoller.cpp <span style="color: grey">(ad9c10f)</span></li>

 <li>src/plugins/osx/CMakeLists.txt <span style="color: grey">(e1b50b8)</span></li>

 <li>src/plugins/osx/macpoller.h <span style="color: grey">(ef51ea5)</span></li>

</ul>

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






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







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