Add wrapper for wl_global_remove
ClosedPublic

Authored by davidedmundson on Apr 16 2020, 2:38 PM.

Details

Summary

Removes the Global from the registry, but does not delete the underlying
wl_global

Removal of a global is racey in wayland.
A client could be trying to bind at that moment.

Typically globals are static for the lifespan of the compositor, however
there are exceptions

For those cases this call will can remove the global from the registry,
but still keep the wl_global instance alive
and handling bind requests.

The compositor can then remove the Global wrapper (this object) deleting
the wl_global after an arbitrary delay or
keep it around for re-use for the duration of the compositor.

Test Plan

Unit test
Made blur global outlive BlurEffect - no longer disconnects plasma on config changes

Diff Detail

Repository
R127 KWayland
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
davidedmundson created this revision.Apr 16 2020, 2:38 PM
Restricted Application added a project: Frameworks. · View Herald TranscriptApr 16 2020, 2:38 PM
Restricted Application added a subscriber: kde-frameworks-devel. · View Herald Transcript
davidedmundson requested review of this revision.Apr 16 2020, 2:38 PM
apol accepted this revision.Apr 16 2020, 5:06 PM
This revision is now accepted and ready to land.Apr 16 2020, 5:06 PM
This revision was automatically updated to reflect the committed changes.