Skip to content

Fix action registration and unregistration order

It appears like the order between QDBus::NoBlock and QDBus::Block calls is undefined. If a blocking call is made after a few non-block calls, those non-block calls can arrive at the destination after the blocking call.

This is the root cause of some global shortcuts not working in kwin. When restarting compositing, the effects will release and register shortcuts but kglobalacceld receives setInactive() and doRegister() requests in the opposite expected order.

kglobalaccel either should use QDBus::NoBlock for all requests or none.

BUG: 448369

Merge request reports