| Summary: | Kopete never auto-aways if screen saver is active | ||
|---|---|---|---|
| Product: | [Unmaintained] kopete | Reporter: | makosoft |
| Component: | general | Assignee: | Kopete Developers <kopete-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: | Fix Kopete auto-away | ||
Created attachment 25526 [details]
Fix Kopete auto-away
SVN commit 828501 by mattr: Fix bug 164691 The handling of the dbus reply to check for the screensaver was reversed, so we would always be shown as active if the screensaver was running. Patch from makosoft@googlemail.com - Thanks! Fix should be in Kopete 0.60, which will be released with KDE 4.1 BUG:164691 M +2 -1 kopeteidletimer.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=828501 |
Version: (using Devel) Installed from: Compiled sources OS: Linux There's a bug in the Kopete auto-away logic if it detects that a screensaver is active via DBus. From kopete/libkopete/kopeteidletimer.cpp: QDBusInterface caller("org.freedesktop.ScreenSaver", "/ScreenSaver", "org.freedesktop.ScreenSaver"); QDBusReply<bool> reply = caller.call("GetActive"); bool activity = ( !reply.isValid() || !reply.value() ) ? isActivity() : true; This means that, if a screensaver is running, the user is always detected as active. Presumably, the final "true" should be "false" - that is, if the screensaver is active, the user should always be detected as inactive (for example see bug 117513). A clearer way to write this would be: bool activity = ( reply.isValid() && reply.value() ) : false ? isActivity();