Skip to content

dataengines/powermanagement: Use the right D-Bus interface for HasInhibit

Full disclosure: Apart from a line of warning output, I don't actually what (if anything) this is fixing. Submitting anyway, for consideration ideally by @nclarius who introduced this code and related features. Maybe you know where a bug might be hidden.

Background: I found this my journalctl log

org_kde_powerdevil[1063]: qt.dbus.integration: Could not find slot PowerManagementFdoAdaptor::HasInhibit

After some digging, I figured out that HasInhibit is indeed a member of powerdevil's PowerManagementInhibitAdaptor but not PowerManagementFdoAdaptor. Meaning the wrong interface is accessed.

I grepped the codebase for HasInhibit and it looks like only powermanagementengine.cpp in plasma-workspace/dataengines is using that. Indeed the D-Bus interface here lacks the .Inhibit suffix, unlike HasInhibitChanged which is using the right one.

Untested for now because I'm currently rebuilding all my workspace repos from scratch.

Merge request reports