diff options
| author | outfoxxed <outfoxxed@outfoxxed.me> | 2025-01-19 04:51:42 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-01-19 12:51:42 +0000 |
| commit | 086fd7ece8cc8904909f5a597ab69fe73ecac34c (patch) | |
| tree | 8e902b394fe8b684dbf023bb62d1d1170a14ccac /src/protocols | |
| parent | 4da9b7cc5b50c346309378fbb5ae8aa07746fd33 (diff) | |
protocols: do not destroy screencopy resources before client request (#9048)
Diffstat (limited to 'src/protocols')
| -rw-r--r-- | src/protocols/Screencopy.cpp | 4 | ||||
| -rw-r--r-- | src/protocols/ToplevelExport.cpp | 6 |
2 files changed, 0 insertions, 10 deletions
diff --git a/src/protocols/Screencopy.cpp b/src/protocols/Screencopy.cpp index 5cf54eb4..e0e3a559 100644 --- a/src/protocols/Screencopy.cpp +++ b/src/protocols/Screencopy.cpp @@ -28,7 +28,6 @@ CScreencopyFrame::CScreencopyFrame(SP<CZwlrScreencopyFrameV1> resource_, int32_t if (!pMonitor) { LOGM(ERR, "Client requested sharing of a monitor that doesnt exist"); resource->sendFailed(); - PROTO::screencopy->destroyResource(this); return; } @@ -46,7 +45,6 @@ CScreencopyFrame::CScreencopyFrame(SP<CZwlrScreencopyFrameV1> resource_, int32_t if (shmFormat == DRM_FORMAT_INVALID) { LOGM(ERR, "No format supported by renderer in capture output"); resource->sendFailed(); - PROTO::screencopy->destroyResource(this); return; } @@ -58,7 +56,6 @@ CScreencopyFrame::CScreencopyFrame(SP<CZwlrScreencopyFrameV1> resource_, int32_t if (!PSHMINFO) { LOGM(ERR, "No pixel format supported by renderer in capture output"); resource->sendFailed(); - PROTO::screencopy->destroyResource(this); return; } @@ -93,7 +90,6 @@ void CScreencopyFrame::copy(CZwlrScreencopyFrameV1* pFrame, wl_resource* buffer_ if UNLIKELY (!g_pCompositor->monitorExists(pMonitor.lock())) { LOGM(ERR, "Client requested sharing of a monitor that is gone"); resource->sendFailed(); - PROTO::screencopy->destroyResource(this); return; } diff --git a/src/protocols/ToplevelExport.cpp b/src/protocols/ToplevelExport.cpp index fb49f722..8b835b50 100644 --- a/src/protocols/ToplevelExport.cpp +++ b/src/protocols/ToplevelExport.cpp @@ -86,14 +86,12 @@ CToplevelExportFrame::CToplevelExportFrame(SP<CHyprlandToplevelExportFrameV1> re if UNLIKELY (!pWindow) { LOGM(ERR, "Client requested sharing of window handle {:x} which does not exist!", pWindow); resource->sendFailed(); - PROTO::toplevelExport->destroyResource(this); return; } if UNLIKELY (!pWindow->m_bIsMapped) { LOGM(ERR, "Client requested sharing of window handle {:x} which is not shareable!", pWindow); resource->sendFailed(); - PROTO::toplevelExport->destroyResource(this); return; } @@ -109,7 +107,6 @@ CToplevelExportFrame::CToplevelExportFrame(SP<CHyprlandToplevelExportFrameV1> re if UNLIKELY (shmFormat == DRM_FORMAT_INVALID) { LOGM(ERR, "No format supported by renderer in capture toplevel"); resource->sendFailed(); - PROTO::toplevelExport->destroyResource(this); return; } @@ -117,7 +114,6 @@ CToplevelExportFrame::CToplevelExportFrame(SP<CHyprlandToplevelExportFrameV1> re if UNLIKELY (!PSHMINFO) { LOGM(ERR, "No pixel format supported by renderer in capture toplevel"); resource->sendFailed(); - PROTO::toplevelExport->destroyResource(this); return; } @@ -146,14 +142,12 @@ void CToplevelExportFrame::copy(CHyprlandToplevelExportFrameV1* pFrame, wl_resou if UNLIKELY (!validMapped(pWindow)) { LOGM(ERR, "Client requested sharing of window handle {:x} which is gone!", pWindow); resource->sendFailed(); - PROTO::toplevelExport->destroyResource(this); return; } if UNLIKELY (!pWindow->m_bIsMapped) { LOGM(ERR, "Client requested sharing of window handle {:x} which is not shareable (2)!", pWindow); resource->sendFailed(); - PROTO::toplevelExport->destroyResource(this); return; } |
