From 1be5b4787f3aa22bd32171b8a8cae6e27237a4c8 Mon Sep 17 00:00:00 2001 From: loki Date: Mon, 26 Apr 2021 19:27:55 +0200 Subject: [PATCH] Moved pairInputDesktop() from desktop.h to input.cpp --- sunshine/platform/windows/desktop.h | 18 ------------------ sunshine/platform/windows/display_base.cpp | 3 --- sunshine/platform/windows/input.cpp | 21 +++++++++++++++++++-- 3 files changed, 19 insertions(+), 23 deletions(-) delete mode 100644 sunshine/platform/windows/desktop.h diff --git a/sunshine/platform/windows/desktop.h b/sunshine/platform/windows/desktop.h deleted file mode 100644 index b0b2e69b..00000000 --- a/sunshine/platform/windows/desktop.h +++ /dev/null @@ -1,18 +0,0 @@ -namespace platf { - using namespace std::literals; - inline auto pairInputDesktop(){ - auto hDesk = OpenInputDesktop(DF_ALLOWOTHERACCOUNTHOOK, FALSE, GENERIC_ALL); - if (NULL == hDesk) { - auto err = GetLastError(); - BOOST_LOG(error) << "Failed to OpenInputDesktop [0x"sv << util::hex(err).to_string_view() << ']'; - } else { - BOOST_LOG(info) << std::endl << "Opened desktop [0x"sv << util::hex(hDesk).to_string_view() << ']'; - if (!SetThreadDesktop(hDesk) ) { - auto err = GetLastError(); - BOOST_LOG(error) << "Failed to SetThreadDesktop [0x"sv << util::hex(err).to_string_view() << ']'; - } - CloseDesktop(hDesk); - } - return hDesk; - }; -}; \ No newline at end of file diff --git a/sunshine/platform/windows/display_base.cpp b/sunshine/platform/windows/display_base.cpp index cf5c5e4f..29b53523 100644 --- a/sunshine/platform/windows/display_base.cpp +++ b/sunshine/platform/windows/display_base.cpp @@ -10,8 +10,6 @@ #include "display.h" -#include "desktop.h" - namespace platf { using namespace std::literals; } @@ -92,7 +90,6 @@ int display_base_t::init() { FreeLibrary(user32); }); */ - pairInputDesktop(); dxgi::factory1_t::pointer factory_p {}; dxgi::adapter_t::pointer adapter_p {}; diff --git a/sunshine/platform/windows/input.cpp b/sunshine/platform/windows/input.cpp index 9b43494f..e69fea96 100755 --- a/sunshine/platform/windows/input.cpp +++ b/sunshine/platform/windows/input.cpp @@ -12,14 +12,13 @@ #include "sunshine/main.h" #include "sunshine/platform/common.h" -#include "desktop.h" - namespace platf { using namespace std::literals; using adapteraddrs_t = util::c_ptr; volatile HDESK _lastKnownInputDesktop = NULL; +HDESK pairInputDesktop(); class vigem_t { public: @@ -355,6 +354,24 @@ int thread_priority() { return SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_HIGHEST) ? 0 : 1; } +HDESK pairInputDesktop() { + auto hDesk = OpenInputDesktop(DF_ALLOWOTHERACCOUNTHOOK, FALSE, GENERIC_ALL); + if (NULL == hDesk) { + auto err = GetLastError(); + BOOST_LOG(error) << "Failed to OpenInputDesktop [0x"sv << util::hex(err).to_string_view() << ']'; + } + else { + BOOST_LOG(info) << std::endl << "Opened desktop [0x"sv << util::hex(hDesk).to_string_view() << ']'; + if (!SetThreadDesktop(hDesk) ) { + auto err = GetLastError(); + BOOST_LOG(error) << "Failed to SetThreadDesktop [0x"sv << util::hex(err).to_string_view() << ']'; + } + CloseDesktop(hDesk); + } + + return hDesk; +}; + void freeInput(void *p) { auto vigem = (vigem_t*)p;