diff --git a/distrho/src/DistrhoUI.cpp b/distrho/src/DistrhoUI.cpp index 8a59ee82..0c7c5cc8 100644 --- a/distrho/src/DistrhoUI.cpp +++ b/distrho/src/DistrhoUI.cpp @@ -53,19 +53,22 @@ static double getDesktopScaleFactor(const uintptr_t parentWindowHandle) return std::max(1.0, std::atof(scale)); #if defined(DISTRHO_OS_WINDOWS) -# if defined(__GNUC__) && (__GNUC__ >= 9) -# pragma GCC diagnostic push -# pragma GCC diagnostic ignored "-Wcast-function-type" -# endif if (const HMODULE Shcore = LoadLibraryA("Shcore.dll")) { typedef HRESULT(WINAPI* PFN_GetProcessDpiAwareness)(HANDLE, DWORD*); typedef HRESULT(WINAPI* PFN_GetScaleFactorForMonitor)(HMONITOR, DWORD*); +# if defined(__GNUC__) && (__GNUC__ >= 9) +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wcast-function-type" +# endif const PFN_GetProcessDpiAwareness GetProcessDpiAwareness = (PFN_GetProcessDpiAwareness)GetProcAddress(Shcore, "GetProcessDpiAwareness"); const PFN_GetScaleFactorForMonitor GetScaleFactorForMonitor = (PFN_GetScaleFactorForMonitor)GetProcAddress(Shcore, "GetScaleFactorForMonitor"); +# if defined(__GNUC__) && (__GNUC__ >= 9) +# pragma GCC diagnostic pop +# endif DWORD dpiAware = 0; if (GetProcessDpiAwareness && GetScaleFactorForMonitor @@ -85,9 +88,6 @@ static double getDesktopScaleFactor(const uintptr_t parentWindowHandle) FreeLibrary(Shcore); } -# if defined(__GNUC__) && (__GNUC__ >= 9) -# pragma GCC diagnostic pop -# endif #elif defined(HAVE_X11) ::Display* const display = XOpenDisplay(nullptr); DISTRHO_SAFE_ASSERT_RETURN(display != nullptr, 1.0);