Skip to content

Commit ddd807f

Browse files
committed
Add (void *) cast directly to GetProcAddress calls.
1 parent 3ef055f commit ddd807f

File tree

6 files changed

+44
-69
lines changed

6 files changed

+44
-69
lines changed

modules/mono/editor/hostfxr_resolver.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ typedef BOOL(WINAPI *LPFN_ISWOW64PROCESS)(HANDLE, PBOOL);
135135
BOOL is_wow64() {
136136
BOOL wow64 = FALSE;
137137

138-
LPFN_ISWOW64PROCESS fnIsWow64Process = (LPFN_ISWOW64PROCESS)GetProcAddress(GetModuleHandle(TEXT("kernel32")), "IsWow64Process");
138+
LPFN_ISWOW64PROCESS fnIsWow64Process = (LPFN_ISWOW64PROCESS)(void *)GetProcAddress(GetModuleHandle(TEXT("kernel32")), "IsWow64Process");
139139

140140
if (fnIsWow64Process) {
141141
if (!fnIsWow64Process(GetCurrentProcess(), &wow64)) {

platform/windows/display_server_windows.cpp

Lines changed: 25 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -83,11 +83,6 @@
8383

8484
#define WM_INDICATOR_CALLBACK_MESSAGE (WM_USER + 1)
8585

86-
#if defined(__GNUC__)
87-
// Workaround GCC warning from -Wcast-function-type.
88-
#define GetProcAddress (void *)GetProcAddress
89-
#endif
90-
9186
static String format_error_message(DWORD id) {
9287
LPWSTR messageBuffer = nullptr;
9388
size_t size = FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
@@ -1294,7 +1289,7 @@ static int QueryDpiForMonitor(HMONITOR hmon, _MonitorDpiType dpiType = MDT_Defau
12941289

12951290
if (Shcore == nullptr) {
12961291
Shcore = LoadLibraryW(L"Shcore.dll");
1297-
getDPIForMonitor = Shcore ? (GetDPIForMonitor_t)GetProcAddress(Shcore, "GetDpiForMonitor") : nullptr;
1292+
getDPIForMonitor = Shcore ? (GetDPIForMonitor_t)(void *)GetProcAddress(Shcore, "GetDpiForMonitor") : nullptr;
12981293

12991294
if ((Shcore == nullptr) || (getDPIForMonitor == nullptr)) {
13001295
if (Shcore) {
@@ -3137,7 +3132,7 @@ Error DisplayServerWindows::dialog_show(String p_title, String p_description, Ve
31373132
if (comctl) {
31383133
typedef HRESULT(WINAPI * TaskDialogIndirectPtr)(const TASKDIALOGCONFIG *pTaskConfig, int *pnButton, int *pnRadioButton, BOOL *pfVerificationFlagChecked);
31393134

3140-
TaskDialogIndirectPtr task_dialog_indirect = (TaskDialogIndirectPtr)GetProcAddress(comctl, "TaskDialogIndirect");
3135+
TaskDialogIndirectPtr task_dialog_indirect = (TaskDialogIndirectPtr)(void *)GetProcAddress(comctl, "TaskDialogIndirect");
31413136
int button_pressed;
31423137

31433138
if (task_dialog_indirect && SUCCEEDED(task_dialog_indirect(&config, &button_pressed, nullptr, nullptr))) {
@@ -6592,9 +6587,9 @@ DisplayServerWindows::DisplayServerWindows(const String &p_rendering_driver, Win
65926587

65936588
HMODULE nt_lib = LoadLibraryW(L"ntdll.dll");
65946589
if (nt_lib) {
6595-
WineGetVersionPtr wine_get_version = (WineGetVersionPtr)GetProcAddress(nt_lib, "wine_get_version"); // Do not read Windows build number under Wine, it can be set to arbitrary value.
6590+
WineGetVersionPtr wine_get_version = (WineGetVersionPtr)(void *)GetProcAddress(nt_lib, "wine_get_version"); // Do not read Windows build number under Wine, it can be set to arbitrary value.
65966591
if (!wine_get_version) {
6597-
RtlGetVersionPtr RtlGetVersion = (RtlGetVersionPtr)GetProcAddress(nt_lib, "RtlGetVersion");
6592+
RtlGetVersionPtr RtlGetVersion = (RtlGetVersionPtr)(void *)GetProcAddress(nt_lib, "RtlGetVersion");
65986593
if (RtlGetVersion) {
65996594
RtlGetVersion(&os_ver);
66006595
}
@@ -6605,28 +6600,28 @@ DisplayServerWindows::DisplayServerWindows(const String &p_rendering_driver, Win
66056600
// Load Shell API.
66066601
HMODULE shellapi_lib = LoadLibraryW(L"shlwapi.dll");
66076602
if (shellapi_lib) {
6608-
load_indirect_string = (SHLoadIndirectStringPtr)GetProcAddress(shellapi_lib, "SHLoadIndirectString");
6603+
load_indirect_string = (SHLoadIndirectStringPtr)(void *)GetProcAddress(shellapi_lib, "SHLoadIndirectString");
66096604
}
66106605

66116606
// Load UXTheme, available on Windows 10+ only.
66126607
if (os_ver.dwBuildNumber >= 10240) {
66136608
HMODULE ux_theme_lib = LoadLibraryW(L"uxtheme.dll");
66146609
if (ux_theme_lib) {
6615-
ShouldAppsUseDarkMode = (ShouldAppsUseDarkModePtr)GetProcAddress(ux_theme_lib, MAKEINTRESOURCEA(132));
6616-
GetImmersiveColorFromColorSetEx = (GetImmersiveColorFromColorSetExPtr)GetProcAddress(ux_theme_lib, MAKEINTRESOURCEA(95));
6617-
GetImmersiveColorTypeFromName = (GetImmersiveColorTypeFromNamePtr)GetProcAddress(ux_theme_lib, MAKEINTRESOURCEA(96));
6618-
GetImmersiveUserColorSetPreference = (GetImmersiveUserColorSetPreferencePtr)GetProcAddress(ux_theme_lib, MAKEINTRESOURCEA(98));
6610+
ShouldAppsUseDarkMode = (ShouldAppsUseDarkModePtr)(void *)GetProcAddress(ux_theme_lib, MAKEINTRESOURCEA(132));
6611+
GetImmersiveColorFromColorSetEx = (GetImmersiveColorFromColorSetExPtr)(void *)GetProcAddress(ux_theme_lib, MAKEINTRESOURCEA(95));
6612+
GetImmersiveColorTypeFromName = (GetImmersiveColorTypeFromNamePtr)(void *)GetProcAddress(ux_theme_lib, MAKEINTRESOURCEA(96));
6613+
GetImmersiveUserColorSetPreference = (GetImmersiveUserColorSetPreferencePtr)(void *)GetProcAddress(ux_theme_lib, MAKEINTRESOURCEA(98));
66196614
if (os_ver.dwBuildNumber >= 17763) { // Windows 10 Redstone 5 (1809)+ only.
66206615
AllowDarkModeForAppPtr AllowDarkModeForApp = nullptr;
66216616
SetPreferredAppModePtr SetPreferredAppMode = nullptr;
66226617
FlushMenuThemesPtr FlushMenuThemes = nullptr;
66236618
if (os_ver.dwBuildNumber < 18362) { // Windows 10 Redstone 5 (1809) and 19H1 (1903) only.
6624-
AllowDarkModeForApp = (AllowDarkModeForAppPtr)GetProcAddress(ux_theme_lib, MAKEINTRESOURCEA(135));
6619+
AllowDarkModeForApp = (AllowDarkModeForAppPtr)(void *)GetProcAddress(ux_theme_lib, MAKEINTRESOURCEA(135));
66256620
} else { // Windows 10 19H2 (1909)+ only.
6626-
SetPreferredAppMode = (SetPreferredAppModePtr)GetProcAddress(ux_theme_lib, MAKEINTRESOURCEA(135));
6627-
FlushMenuThemes = (FlushMenuThemesPtr)GetProcAddress(ux_theme_lib, MAKEINTRESOURCEA(136));
6621+
SetPreferredAppMode = (SetPreferredAppModePtr)(void *)GetProcAddress(ux_theme_lib, MAKEINTRESOURCEA(135));
6622+
FlushMenuThemes = (FlushMenuThemesPtr)(void *)GetProcAddress(ux_theme_lib, MAKEINTRESOURCEA(136));
66286623
}
6629-
RefreshImmersiveColorPolicyStatePtr RefreshImmersiveColorPolicyState = (RefreshImmersiveColorPolicyStatePtr)GetProcAddress(ux_theme_lib, MAKEINTRESOURCEA(104));
6624+
RefreshImmersiveColorPolicyStatePtr RefreshImmersiveColorPolicyState = (RefreshImmersiveColorPolicyStatePtr)(void *)GetProcAddress(ux_theme_lib, MAKEINTRESOURCEA(104));
66306625
if (ShouldAppsUseDarkMode) {
66316626
bool dark_mode = ShouldAppsUseDarkMode();
66326627
if (SetPreferredAppMode) {
@@ -6659,10 +6654,10 @@ DisplayServerWindows::DisplayServerWindows(const String &p_rendering_driver, Win
66596654
// Note: DPI conversion API, available on Windows 8.1+ only.
66606655
HMODULE user32_lib = LoadLibraryW(L"user32.dll");
66616656
if (user32_lib) {
6662-
win8p_GetPointerType = (GetPointerTypePtr)GetProcAddress(user32_lib, "GetPointerType");
6663-
win8p_GetPointerPenInfo = (GetPointerPenInfoPtr)GetProcAddress(user32_lib, "GetPointerPenInfo");
6664-
win81p_LogicalToPhysicalPointForPerMonitorDPI = (LogicalToPhysicalPointForPerMonitorDPIPtr)GetProcAddress(user32_lib, "LogicalToPhysicalPointForPerMonitorDPI");
6665-
win81p_PhysicalToLogicalPointForPerMonitorDPI = (PhysicalToLogicalPointForPerMonitorDPIPtr)GetProcAddress(user32_lib, "PhysicalToLogicalPointForPerMonitorDPI");
6657+
win8p_GetPointerType = (GetPointerTypePtr)(void *)GetProcAddress(user32_lib, "GetPointerType");
6658+
win8p_GetPointerPenInfo = (GetPointerPenInfoPtr)(void *)GetProcAddress(user32_lib, "GetPointerPenInfo");
6659+
win81p_LogicalToPhysicalPointForPerMonitorDPI = (LogicalToPhysicalPointForPerMonitorDPIPtr)(void *)GetProcAddress(user32_lib, "LogicalToPhysicalPointForPerMonitorDPI");
6660+
win81p_PhysicalToLogicalPointForPerMonitorDPI = (PhysicalToLogicalPointForPerMonitorDPIPtr)(void *)GetProcAddress(user32_lib, "PhysicalToLogicalPointForPerMonitorDPI");
66666661

66676662
winink_available = win8p_GetPointerType && win8p_GetPointerPenInfo;
66686663
}
@@ -6674,11 +6669,11 @@ DisplayServerWindows::DisplayServerWindows(const String &p_rendering_driver, Win
66746669
// Note: Wacom WinTab driver API for pen input, for devices incompatible with Windows Ink.
66756670
HMODULE wintab_lib = LoadLibraryW(L"wintab32.dll");
66766671
if (wintab_lib) {
6677-
wintab_WTOpen = (WTOpenPtr)GetProcAddress(wintab_lib, "WTOpenW");
6678-
wintab_WTClose = (WTClosePtr)GetProcAddress(wintab_lib, "WTClose");
6679-
wintab_WTInfo = (WTInfoPtr)GetProcAddress(wintab_lib, "WTInfoW");
6680-
wintab_WTPacket = (WTPacketPtr)GetProcAddress(wintab_lib, "WTPacket");
6681-
wintab_WTEnable = (WTEnablePtr)GetProcAddress(wintab_lib, "WTEnable");
6672+
wintab_WTOpen = (WTOpenPtr)(void *)GetProcAddress(wintab_lib, "WTOpenW");
6673+
wintab_WTClose = (WTClosePtr)(void *)GetProcAddress(wintab_lib, "WTClose");
6674+
wintab_WTInfo = (WTInfoPtr)(void *)GetProcAddress(wintab_lib, "WTInfoW");
6675+
wintab_WTPacket = (WTPacketPtr)(void *)GetProcAddress(wintab_lib, "WTPacket");
6676+
wintab_WTEnable = (WTEnablePtr)(void *)GetProcAddress(wintab_lib, "WTEnable");
66826677

66836678
wintab_available = wintab_WTOpen && wintab_WTClose && wintab_WTInfo && wintab_WTPacket && wintab_WTEnable;
66846679
}
@@ -6716,7 +6711,7 @@ DisplayServerWindows::DisplayServerWindows(const String &p_rendering_driver, Win
67166711
if (Shcore != nullptr) {
67176712
typedef HRESULT(WINAPI * SetProcessDpiAwareness_t)(SHC_PROCESS_DPI_AWARENESS);
67186713

6719-
SetProcessDpiAwareness_t SetProcessDpiAwareness = (SetProcessDpiAwareness_t)GetProcAddress(Shcore, "SetProcessDpiAwareness");
6714+
SetProcessDpiAwareness_t SetProcessDpiAwareness = (SetProcessDpiAwareness_t)(void *)GetProcAddress(Shcore, "SetProcessDpiAwareness");
67206715

67216716
if (SetProcessDpiAwareness) {
67226717
SetProcessDpiAwareness(SHC_PROCESS_SYSTEM_DPI_AWARE);
@@ -6727,7 +6722,7 @@ DisplayServerWindows::DisplayServerWindows(const String &p_rendering_driver, Win
67276722
HMODULE comctl32 = LoadLibraryW(L"comctl32.dll");
67286723
if (comctl32) {
67296724
typedef BOOL(WINAPI * InitCommonControlsExPtr)(_In_ const INITCOMMONCONTROLSEX *picce);
6730-
InitCommonControlsExPtr init_common_controls_ex = (InitCommonControlsExPtr)GetProcAddress(comctl32, "InitCommonControlsEx");
6725+
InitCommonControlsExPtr init_common_controls_ex = (InitCommonControlsExPtr)(void *)GetProcAddress(comctl32, "InitCommonControlsEx");
67316726

67326727
// Fails if the incorrect version was loaded. Probably not a big enough deal to print an error about.
67336728
if (init_common_controls_ex) {
@@ -6849,7 +6844,7 @@ DisplayServerWindows::DisplayServerWindows(const String &p_rendering_driver, Win
68496844
#else
68506845
typedef BOOL(WINAPI * IsWow64Process2Ptr)(HANDLE, USHORT *, USHORT *);
68516846

6852-
IsWow64Process2Ptr IsWow64Process2 = (IsWow64Process2Ptr)GetProcAddress(GetModuleHandle(TEXT("kernel32")), "IsWow64Process2");
6847+
IsWow64Process2Ptr IsWow64Process2 = (IsWow64Process2Ptr)(void *)GetProcAddress(GetModuleHandle(TEXT("kernel32")), "IsWow64Process2");
68536848
if (IsWow64Process2) {
68546849
USHORT process_arch = 0;
68556850
USHORT machine_arch = 0;

platform/windows/gl_manager_windows_native.cpp

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,6 @@
5050

5151
#define _WGL_CONTEXT_DEBUG_BIT_ARB 0x0001
5252

53-
#if defined(__GNUC__)
54-
// Workaround GCC warning from -Wcast-function-type.
55-
#define GetProcAddress (void *)GetProcAddress
56-
#endif
57-
5853
typedef HGLRC(APIENTRY *PFNWGLCREATECONTEXT)(HDC);
5954
typedef BOOL(APIENTRY *PFNWGLDELETECONTEXT)(HGLRC);
6055
typedef BOOL(APIENTRY *PFNWGLMAKECURRENT)(HDC, HGLRC);
@@ -364,10 +359,10 @@ Error GLManagerNative_Windows::_create_context(GLWindow &win, GLDisplay &gl_disp
364359
if (!module) {
365360
return ERR_CANT_CREATE;
366361
}
367-
gd_wglCreateContext = (PFNWGLCREATECONTEXT)GetProcAddress(module, "wglCreateContext");
368-
gd_wglMakeCurrent = (PFNWGLMAKECURRENT)GetProcAddress(module, "wglMakeCurrent");
369-
gd_wglDeleteContext = (PFNWGLDELETECONTEXT)GetProcAddress(module, "wglDeleteContext");
370-
gd_wglGetProcAddress = (PFNWGLGETPROCADDRESS)GetProcAddress(module, "wglGetProcAddress");
362+
gd_wglCreateContext = (PFNWGLCREATECONTEXT)(void *)GetProcAddress(module, "wglCreateContext");
363+
gd_wglMakeCurrent = (PFNWGLMAKECURRENT)(void *)GetProcAddress(module, "wglMakeCurrent");
364+
gd_wglDeleteContext = (PFNWGLDELETECONTEXT)(void *)GetProcAddress(module, "wglDeleteContext");
365+
gd_wglGetProcAddress = (PFNWGLGETPROCADDRESS)(void *)GetProcAddress(module, "wglGetProcAddress");
371366
if (!gd_wglCreateContext || !gd_wglMakeCurrent || !gd_wglDeleteContext || !gd_wglGetProcAddress) {
372367
return ERR_CANT_CREATE;
373368
}

platform/windows/joypad_windows.cpp

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,6 @@
3333
#include <oleauto.h>
3434
#include <wbemidl.h>
3535

36-
#if defined(__GNUC__)
37-
// Workaround GCC warning from -Wcast-function-type.
38-
#define GetProcAddress (void *)GetProcAddress
39-
#endif
40-
4136
DWORD WINAPI _xinput_get_state(DWORD dwUserIndex, XINPUT_STATE *pState) {
4237
return ERROR_DEVICE_NOT_CONNECTED;
4338
}
@@ -597,8 +592,8 @@ void JoypadWindows::load_xinput() {
597592

598593
// (LPCSTR)100 is the magic number to get XInputGetStateEx, which also provides the state for the guide button
599594
LPCSTR get_state_func_name = legacy_xinput ? "XInputGetState" : (LPCSTR)100;
600-
XInputGetState_t func = (XInputGetState_t)GetProcAddress((HMODULE)xinput_dll, get_state_func_name);
601-
XInputSetState_t set_func = (XInputSetState_t)GetProcAddress((HMODULE)xinput_dll, "XInputSetState");
595+
XInputGetState_t func = (XInputGetState_t)(void *)GetProcAddress((HMODULE)xinput_dll, get_state_func_name);
596+
XInputSetState_t set_func = (XInputSetState_t)(void *)GetProcAddress((HMODULE)xinput_dll, "XInputSetState");
602597
if (!func || !set_func) {
603598
unload_xinput();
604599
return;
@@ -608,7 +603,7 @@ void JoypadWindows::load_xinput() {
608603

609604
winmm_dll = LoadLibrary("Winmm.dll");
610605
if (winmm_dll) {
611-
joyGetDevCaps_t caps_func = (joyGetDevCaps_t)GetProcAddress((HMODULE)winmm_dll, "joyGetDevCapsW");
606+
joyGetDevCaps_t caps_func = (joyGetDevCaps_t)(void *)GetProcAddress((HMODULE)winmm_dll, "joyGetDevCapsW");
612607
if (caps_func) {
613608
winmm_get_joycaps = caps_func;
614609
} else {

platform/windows/os_windows.cpp

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -106,11 +106,6 @@ __declspec(dllexport) void NoHotPatch() {} // Disable Nahimic code injection.
106106
#define DWRITE_FONT_WEIGHT_SEMI_LIGHT (DWRITE_FONT_WEIGHT)350
107107
#endif
108108

109-
#if defined(__GNUC__)
110-
// Workaround GCC warning from -Wcast-function-type.
111-
#define GetProcAddress (void *)GetProcAddress
112-
#endif
113-
114109
static String fix_path(const String &p_path) {
115110
String path = p_path;
116111
if (p_path.is_relative_path()) {
@@ -503,8 +498,8 @@ Error OS_Windows::open_dynamic_library(const String &p_path, void *&p_library_ha
503498
typedef DLL_DIRECTORY_COOKIE(WINAPI * PAddDllDirectory)(PCWSTR);
504499
typedef BOOL(WINAPI * PRemoveDllDirectory)(DLL_DIRECTORY_COOKIE);
505500

506-
PAddDllDirectory add_dll_directory = (PAddDllDirectory)GetProcAddress(GetModuleHandle("kernel32.dll"), "AddDllDirectory");
507-
PRemoveDllDirectory remove_dll_directory = (PRemoveDllDirectory)GetProcAddress(GetModuleHandle("kernel32.dll"), "RemoveDllDirectory");
501+
PAddDllDirectory add_dll_directory = (PAddDllDirectory)(void *)GetProcAddress(GetModuleHandle("kernel32.dll"), "AddDllDirectory");
502+
PRemoveDllDirectory remove_dll_directory = (PRemoveDllDirectory)(void *)GetProcAddress(GetModuleHandle("kernel32.dll"), "RemoveDllDirectory");
508503

509504
bool has_dll_directory_api = ((add_dll_directory != nullptr) && (remove_dll_directory != nullptr));
510505
DLL_DIRECTORY_COOKIE cookie = nullptr;
@@ -603,7 +598,7 @@ String OS_Windows::get_distribution_name() const {
603598
}
604599

605600
String OS_Windows::get_version() const {
606-
RtlGetVersionPtr version_ptr = (RtlGetVersionPtr)GetProcAddress(GetModuleHandle("ntdll.dll"), "RtlGetVersion");
601+
RtlGetVersionPtr version_ptr = (RtlGetVersionPtr)(void *)GetProcAddress(GetModuleHandle("ntdll.dll"), "RtlGetVersion");
607602
if (version_ptr != nullptr) {
608603
RTL_OSVERSIONINFOEXW fow;
609604
ZeroMemory(&fow, sizeof(fow));
@@ -616,7 +611,7 @@ String OS_Windows::get_version() const {
616611
}
617612

618613
String OS_Windows::get_version_alias() const {
619-
RtlGetVersionPtr version_ptr = (RtlGetVersionPtr)GetProcAddress(GetModuleHandle("ntdll.dll"), "RtlGetVersion");
614+
RtlGetVersionPtr version_ptr = (RtlGetVersionPtr)(void *)GetProcAddress(GetModuleHandle("ntdll.dll"), "RtlGetVersion");
620615
if (version_ptr != nullptr) {
621616
RTL_OSVERSIONINFOEXW fow;
622617
ZeroMemory(&fow, sizeof(fow));
@@ -789,7 +784,7 @@ bool OS_Windows::get_user_prefers_integrated_gpu() const {
789784
HMODULE kernel32 = GetModuleHandleW(L"kernel32.dll");
790785
if (kernel32) {
791786
using GetCurrentApplicationUserModelIdPtr = LONG(WINAPI *)(UINT32 * length, PWSTR id);
792-
GetCurrentApplicationUserModelIdPtr GetCurrentApplicationUserModelId = (GetCurrentApplicationUserModelIdPtr)GetProcAddress(kernel32, "GetCurrentApplicationUserModelId");
787+
GetCurrentApplicationUserModelIdPtr GetCurrentApplicationUserModelId = (GetCurrentApplicationUserModelIdPtr)(void *)GetProcAddress(kernel32, "GetCurrentApplicationUserModelId");
793788

794789
if (GetCurrentApplicationUserModelId) {
795790
UINT32 length = sizeof(value_name) / sizeof(value_name[0]);
@@ -991,7 +986,7 @@ Dictionary OS_Windows::get_memory_info() const {
991986
GetPerformanceInfo(&pref_info, sizeof(pref_info));
992987

993988
typedef void(WINAPI * PGetCurrentThreadStackLimits)(PULONG_PTR, PULONG_PTR);
994-
PGetCurrentThreadStackLimits GetCurrentThreadStackLimits = (PGetCurrentThreadStackLimits)GetProcAddress(GetModuleHandleA("kernel32.dll"), "GetCurrentThreadStackLimits");
989+
PGetCurrentThreadStackLimits GetCurrentThreadStackLimits = (PGetCurrentThreadStackLimits)(void *)GetProcAddress(GetModuleHandleA("kernel32.dll"), "GetCurrentThreadStackLimits");
995990

996991
ULONG_PTR LowLimit = 0;
997992
ULONG_PTR HighLimit = 0;

platform/windows/wgl_detect_version.cpp

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,6 @@
5353
#define WGL_RENDERER 0x1F01
5454
#define WGL_VERSION 0x1F02
5555

56-
#if defined(__GNUC__)
57-
// Workaround GCC warning from -Wcast-function-type.
58-
#define GetProcAddress (void *)GetProcAddress
59-
#endif
60-
6156
typedef HGLRC(APIENTRY *PFNWGLCREATECONTEXT)(HDC);
6257
typedef BOOL(APIENTRY *PFNWGLDELETECONTEXT)(HGLRC);
6358
typedef BOOL(APIENTRY *PFNWGLMAKECURRENT)(HDC, HGLRC);
@@ -80,10 +75,10 @@ Dictionary detect_wgl() {
8075
if (!module) {
8176
return gl_info;
8277
}
83-
gd_wglCreateContext = (PFNWGLCREATECONTEXT)GetProcAddress(module, "wglCreateContext");
84-
gd_wglMakeCurrent = (PFNWGLMAKECURRENT)GetProcAddress(module, "wglMakeCurrent");
85-
gd_wglDeleteContext = (PFNWGLDELETECONTEXT)GetProcAddress(module, "wglDeleteContext");
86-
gd_wglGetProcAddress = (PFNWGLGETPROCADDRESS)GetProcAddress(module, "wglGetProcAddress");
78+
gd_wglCreateContext = (PFNWGLCREATECONTEXT)(void *)GetProcAddress(module, "wglCreateContext");
79+
gd_wglMakeCurrent = (PFNWGLMAKECURRENT)(void *)GetProcAddress(module, "wglMakeCurrent");
80+
gd_wglDeleteContext = (PFNWGLDELETECONTEXT)(void *)GetProcAddress(module, "wglDeleteContext");
81+
gd_wglGetProcAddress = (PFNWGLGETPROCADDRESS)(void *)GetProcAddress(module, "wglGetProcAddress");
8782
if (!gd_wglCreateContext || !gd_wglMakeCurrent || !gd_wglDeleteContext || !gd_wglGetProcAddress) {
8883
return gl_info;
8984
}
@@ -143,7 +138,7 @@ Dictionary detect_wgl() {
143138
HGLRC new_hRC = gd_wglCreateContextAttribsARB(hDC, nullptr, attribs);
144139
if (new_hRC) {
145140
if (gd_wglMakeCurrent(hDC, new_hRC)) {
146-
PFNWGLGETSTRINGPROC gd_wglGetString = (PFNWGLGETSTRINGPROC)GetProcAddress(module, "glGetString");
141+
PFNWGLGETSTRINGPROC gd_wglGetString = (PFNWGLGETSTRINGPROC)(void *)GetProcAddress(module, "glGetString");
147142
if (gd_wglGetString) {
148143
const char *prefixes[] = {
149144
"OpenGL ES-CM ",

0 commit comments

Comments
 (0)