diff --git a/Assets/uDesktopDuplication/Examples/Scenes/Multiple Monitors Roundly.unity b/Assets/uDesktopDuplication/Examples/Scenes/Multiple Monitors Roundly.unity index 3c95cc3..178c755 100644 Binary files a/Assets/uDesktopDuplication/Examples/Scenes/Multiple Monitors Roundly.unity and b/Assets/uDesktopDuplication/Examples/Scenes/Multiple Monitors Roundly.unity differ diff --git a/Assets/uDesktopDuplication/Plugins/x86_64/uDesktopDuplication.dll b/Assets/uDesktopDuplication/Plugins/x86_64/uDesktopDuplication.dll index fa7bc5e..7de5804 100644 Binary files a/Assets/uDesktopDuplication/Plugins/x86_64/uDesktopDuplication.dll and b/Assets/uDesktopDuplication/Plugins/x86_64/uDesktopDuplication.dll differ diff --git a/Plugins/uDesktopDuplication/uDesktopDuplication/Monitor.cpp b/Plugins/uDesktopDuplication/uDesktopDuplication/Monitor.cpp index d515547..0875412 100644 --- a/Plugins/uDesktopDuplication/uDesktopDuplication/Monitor.cpp +++ b/Plugins/uDesktopDuplication/uDesktopDuplication/Monitor.cpp @@ -30,15 +30,15 @@ void Monitor::Initialize(IDXGIOutput* output) auto output1 = reinterpret_cast(output); IDXGIOutputDuplication* deskDupl; const auto hr = output1->DuplicateOutput(GetDevice(), &deskDupl); - deskDupl_ = std::shared_ptr( - deskDupl, - [](IDXGIOutputDuplication* ptr) { ptr->Release(); }); // TODO: error check switch (hr) { case S_OK: state_ = State::Available; + deskDupl_ = std::shared_ptr( + deskDupl, + [](IDXGIOutputDuplication* ptr) { if (ptr != nullptr) ptr->Release(); }); break; case E_INVALIDARG: state_ = State::InvalidArg;