From f18cbd036af7b22017f5f964be6f398ccb0c1a57 Mon Sep 17 00:00:00 2001 From: Victor Romero Date: Sat, 3 Aug 2019 12:53:38 -0700 Subject: [PATCH] Merge pull request #15207 from vicroms:fix-uwp-build Fix build for UWP (#15207) * Guard non-WinRT calls to fix UWP build * Remove unnecessary guard for WinRT --- cmake/OpenCVModule.cmake | 2 +- modules/core/src/utils/datafile.cpp | 4 ++-- modules/videoio/src/cap_winrt/CaptureFrameGrabber.cpp | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cmake/OpenCVModule.cmake b/cmake/OpenCVModule.cmake index 799592b0c4..b6109615b2 100644 --- a/cmake/OpenCVModule.cmake +++ b/cmake/OpenCVModule.cmake @@ -852,7 +852,7 @@ macro(ocv_create_module) set(the_module_target ${the_module}) endif() - if(WINRT) + if(WINRT AND BUILD_TESTS) # removing APPCONTAINER from modules to run from console # in case of usual starting of WinRT test apps output is missing # so starting of console version w/o APPCONTAINER is required to get test results diff --git a/modules/core/src/utils/datafile.cpp b/modules/core/src/utils/datafile.cpp index aafbfdf52d..10543ae303 100644 --- a/modules/core/src/utils/datafile.cpp +++ b/modules/core/src/utils/datafile.cpp @@ -108,7 +108,7 @@ static cv::String getModuleLocation(const void* addr) CV_UNUSED(addr); #ifdef _WIN32 HMODULE m = 0; -#if _WIN32_WINNT >= 0x0501 +#if _WIN32_WINNT >= 0x0501 && (!defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP)) ::GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS | GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT, reinterpret_cast(addr), &m); @@ -155,7 +155,7 @@ bool getBinLocation(std::wstring& dst) { void* addr = (void*)getModuleLocation; // using code address, doesn't work with static linkage! HMODULE m = 0; -#if _WIN32_WINNT >= 0x0501 +#if _WIN32_WINNT >= 0x0501 && (!defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP)) ::GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS | GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT, reinterpret_cast(addr), &m); diff --git a/modules/videoio/src/cap_winrt/CaptureFrameGrabber.cpp b/modules/videoio/src/cap_winrt/CaptureFrameGrabber.cpp index 236e22766e..eccf97e979 100644 --- a/modules/videoio/src/cap_winrt/CaptureFrameGrabber.cpp +++ b/modules/videoio/src/cap_winrt/CaptureFrameGrabber.cpp @@ -94,7 +94,7 @@ Media::CaptureFrameGrabber::~CaptureFrameGrabber() void Media::CaptureFrameGrabber::ShowCameraSettings() { -#if WINAPI_FAMILY!=WINAPI_FAMILY_PHONE_APP +#if (WINAPI_FAMILY != WINAPI_FAMILY_PHONE_APP) && (WINAPI_FAMILY != WINAPI_FAMILY_PC_APP) if (_state == State::Started) { CameraOptionsUI::Show(_capture.Get());