diff options
| author | Vaxry <vaxry@vaxry.net> | 2024-07-22 16:56:51 +0200 |
|---|---|---|
| committer | Vaxry <vaxry@vaxry.net> | 2024-07-22 16:56:51 +0200 |
| commit | 5bae7f150b228d3bf677d09fd0c320328b0d0ff0 (patch) | |
| tree | 4713f93b61411378071abc08117e2caae137b2ab /src/protocols/core/Output.cpp | |
| parent | 83a5395eaa99fecef777827fff1de486c06b6180 (diff) | |
wayland/output: avoid sending events to dead outputs
ref #6835
Diffstat (limited to 'src/protocols/core/Output.cpp')
| -rw-r--r-- | src/protocols/core/Output.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/protocols/core/Output.cpp b/src/protocols/core/Output.cpp index 4ba23cbe..878d1484 100644 --- a/src/protocols/core/Output.cpp +++ b/src/protocols/core/Output.cpp @@ -49,7 +49,7 @@ SP<CWlOutput> CWLOutputResource::getResource() { } void CWLOutputResource::updateState() { - if (!monitor) + if (!monitor || (owner && owner->defunct)) return; if (resource->version() >= 2) @@ -83,7 +83,8 @@ void CWLOutputProtocol::bindManager(wl_client* client, void* data, uint32_t ver, return; } - RESOURCE->self = RESOURCE; + RESOURCE->self = RESOURCE; + RESOURCE->owner = self; } void CWLOutputProtocol::destroyResource(CWLOutputResource* resource) { |
