Skip to content

Watch DBus service right away to discard pending inhibitions reliably

PowerDevil delays applying a power management inhibition by 5 seconds to avoid brief inhibitions to e.g. wake up the screen and similar. However, when an inhibition was posted and the process then quit, we would then still enforce the inhibition as it wasn't explicitly revoked. Fix this by always watching the inhibition sender and remove it from pending when the service goes away.

BUG: 423131 FIXED-IN: 5.18.6

  • Ran qdbus org.freedesktop.PowerManagement.Inhibit /org/freedesktop/PowerManagement/Inhibit org.freedesktop.PowerManagement.Inhibit.Inhibit foo bar, got an inhibition queued, then discarded, and the 5 second timer then noticed it was already gone
  • Started playing a video and it was enforced after 5 seconds
  • Did a short inhibition and it wasn't enforced because it was gone by the time the 5 seconds were over

Merge request reports