https://bugs.kde.org/show_bug.cgi?id=523605

Nate Graham <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Latest Commit|https://invent.kde.org/plas |https://invent.kde.org/plas
                   |ma/plasma5support/-/commit/ |ma/plasma5support/-/commit/
                   |5d9f76c0acad446537b84969386 |1812089139a10ceb9e35552d9fc
                   |4e976eaf09a18               |e4c20142130c6

--- Comment #5 from Nate Graham <[email protected]> ---
Git commit 1812089139a10ceb9e35552d9fce4c20142130c6 by Nate Graham.
Committed on 29/07/2026 at 17:34.
Pushed by ngraham into branch 'Plasma/6.6'.

Fix screen power management inhibition never being re-acquirable

stopSuppressingScreenPowerManagement calls
org.freedesktop.ScreenSaver.UnInhibit,
which returns void, but declared the reply as QDBusReply<uint>. A void reply
carries no arguments, so Qt's qDBusReplyFill falls through its type check and
sets QDBusError::InvalidSignature, making isValid() always false.

The cookie reset introduced in bea735c5 is conditional on isValid(), so
m_lockInhibitionCookie is never cleared. Since that cookie is inline static and
therefore process-wide, every subsequent beginSuppressingScreenPowerManagement
hits its guard, returns success, and never contacts PowerDevil. Screen power
management can only be inhibited once per process.

Use QDBusReply<void>, matching stopSuppressingSleep in the same function.


(cherry picked from commit 5d9f76c0acad446537b849693864e976eaf09a18)

Co-authored-by: Vincent de Robert <[email protected]>

M  +1    -1    src/dataengines/powermanagement/powermanagementjob.cpp

https://invent.kde.org/plasma/plasma5support/-/commit/1812089139a10ceb9e35552d9fce4c20142130c6

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to