Review Request 126078: [OS X] modernising the KIdleTime plugin (WIP!)
René J.V. Bertin
rjvbertin at gmail.com
Wed Nov 18 14:38:57 UTC 2015
> On Nov. 17, 2015, 11:58 p.m., Lamarque Souza wrote:
> > src/plugins/osx/macpoller_helper.mm, line 54
> > <https://git.reviewboard.kde.org/r/126078/diff/6/?file=417218#file417218line54>
> >
> > Usually when a new operation returns 0 it is because system is on short on RAM memory (or memory is too fragmented). I would add assert here instead of silently ignoring the failure to allocate memory.
And I would argue that it is up to the calling software to decide how to react to a failure to set up idle detection: in this case it's only the "resume from idle" functionality that can no longer work. The idle timeout detection feature should still be able to function (possibly by adding some kind of reset when the calculated idle time returns to 0).
Asserting would mean that the application aborts, which I find a bit overkill for a situation that could be handled a lot more elegantly. That would require handling the return value from `setupPoller()` in `KIdleTimePrivate::loadSystem()` and up, of course.
- René J.V.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/126078/#review88505
-----------------------------------------------------------
On Nov. 17, 2015, 10:13 p.m., René J.V. Bertin wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/126078/
> -----------------------------------------------------------
>
> (Updated Nov. 17, 2015, 10:13 p.m.)
>
>
> Review request for KDE Software on Mac OS X, KDE Frameworks and Dario Freddi.
>
>
> Repository: kidletime
>
>
> Description
> -------
>
> 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.
>
> 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.
>
>
> Diffs
> -----
>
> src/plugins/osx/CMakeLists.txt e1b50b8
> src/plugins/osx/macpoller.h ef51ea5
> src/plugins/osx/macpoller.cpp ad9c10f
> src/plugins/osx/macpoller_helper.mm PRE-CREATION
>
> Diff: https://git.reviewboard.kde.org/r/126078/diff/
>
>
> Testing
> -------
>
> On OS X 10.9 with Qt 5.5.1 and frameworks 5.16.0 .
>
> The example now works: when I set a QTimer with interval==0, the expected wait for user input (`resumingFromIdle` signal) works. However, I am getting a `stopCatchingIdleEvents` 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.
>
> Surely I'm missing something, but what?
>
>
> Thanks,
>
> René J.V. Bertin
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20151118/acbdef7e/attachment.html>
More information about the Kde-frameworks-devel
mailing list