Skip to content

Commit

Permalink
screencopy: move monitor verif check to the proper place
Browse files Browse the repository at this point in the history
oops
  • Loading branch information
vaxerski committed Feb 7, 2024
1 parent 3d9ca63 commit a6ccd36
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions src/protocols/Screencopy.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -191,13 +191,6 @@ void CScreencopyProtocolManager::captureOutput(wl_client* client, wl_resource* r
PFRAME->resource = wl_resource_create(client, &zwlr_screencopy_frame_v1_interface, wl_resource_get_version(resource), frame);
PFRAME->pMonitor = g_pCompositor->getMonitorFromOutput(wlr_output_from_resource(output));

if (!g_pCompositor->monitorExists(PFRAME->pMonitor)) {
Debug::log(ERR, "client requested sharing of a monitor that is gone");
zwlr_screencopy_frame_v1_send_failed(PFRAME->resource);
removeFrame(PFRAME);
return;
}

if (!PFRAME->pMonitor) {
Debug::log(ERR, "client requested sharing of a monitor that doesnt exist");
zwlr_screencopy_frame_v1_send_failed(PFRAME->resource);
Expand Down Expand Up @@ -270,6 +263,13 @@ void CScreencopyProtocolManager::copyFrame(wl_client* client, wl_resource* resou
return;
}

if (!g_pCompositor->monitorExists(PFRAME->pMonitor)) {
Debug::log(ERR, "client requested sharing of a monitor that is gone");
zwlr_screencopy_frame_v1_send_failed(PFRAME->resource);
removeFrame(PFRAME);
return;
}

const auto PBUFFER = wlr_buffer_try_from_resource(buffer);
if (!PBUFFER) {
Debug::log(ERR, "[sc] invalid buffer in {:x}", (uintptr_t)PFRAME);
Expand Down

0 comments on commit a6ccd36

Please sign in to comment.