Skip to content

Commit

Permalink
Check API before trying to disable border on WGC capture (#2825)
Browse files Browse the repository at this point in the history
  • Loading branch information
ns6089 authored Jul 10, 2024
1 parent 29410c6 commit 30748dd
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion src/platform/windows/display_wgc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@

#include <windows.graphics.capture.interop.h>
#include <winrt/windows.foundation.h>
#include <winrt/windows.foundation.metadata.h>
#include <winrt/windows.graphics.directx.direct3d11.h>

namespace platf {
Expand All @@ -19,6 +20,7 @@ namespace platf {

namespace winrt {
using namespace Windows::Foundation;
using namespace Windows::Foundation::Metadata;
using namespace Windows::Graphics::Capture;
using namespace Windows::Graphics::DirectX::Direct3D11;

Expand Down Expand Up @@ -120,7 +122,12 @@ namespace platf::dxgi {
return -1;
}
try {
capture_session.IsBorderRequired(false);
if (winrt::ApiInformation::IsPropertyPresent(L"Windows.Graphics.Capture.GraphicsCaptureSession", L"IsBorderRequired")) {
capture_session.IsBorderRequired(false);
}
else {
BOOST_LOG(warning) << "Can't disable colored border around capture area on this version of Windows";
}
}
catch (winrt::hresult_error &e) {
BOOST_LOG(warning) << "Screen capture may not be fully supported on this device for this release of Windows: failed to disable border around capture area: [0x"sv << util::hex(e.code()).to_string_view() << ']';
Expand Down

0 comments on commit 30748dd

Please sign in to comment.