summaryrefslogtreecommitdiff
path: root/alf/alfcompat.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'alf/alfcompat.cpp')
-rw-r--r--alf/alfcompat.cpp106
1 files changed, 0 insertions, 106 deletions
diff --git a/alf/alfcompat.cpp b/alf/alfcompat.cpp
index 164032f..ec14b00 100644
--- a/alf/alfcompat.cpp
+++ b/alf/alfcompat.cpp
@@ -140,87 +140,6 @@ ALF_Compat_fallbackAdjustWindowRectExForDpi(LPRECT lpRect, DWORD dwStyle, BOOL b
return AdjustWindowRectEx(lpRect, dwStyle, bMenu, dwExStyle);
}
-
-// FIXME: these support one subclass only, negating the whole point of it
-
-typedef struct {
- ALF_COMPAT_SUBCLASSPROC pfnSubclass;
- UINT_PTR uIdSubclass;
- DWORD_PTR dwRefData;
- UINT runCounter;
- WNDPROC orig;
-} ALFWindowSubclassData;
-
-static LRESULT CALLBACK
-ALF_Compat_fallbackSubclassProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
-{
- ALFWindowSubclassData *data = (ALFWindowSubclassData *)GetWindowLongPtr(hwnd, GWLP_USERDATA);
-
- LRESULT ret = 0;
-
- data->runCounter++;
-
- if (data->pfnSubclass)
- ret = data->pfnSubclass(hwnd, uMsg, wParam, lParam, data->uIdSubclass, data->dwRefData);
- else
- ret = CallWindowProc(data->orig, hwnd, uMsg, wParam, lParam);
-
- data->runCounter--;
-
- if (!data->pfnSubclass && !data->runCounter) {
- SetWindowLongPtr(hwnd, GWLP_USERDATA, 0);
- ALF_Free(data);
- }
-
- return ret;
-}
-
-static BOOL WINAPI
-ALF_Compat_fallbackSetWindowSubclass(HWND hwnd, ALF_COMPAT_SUBCLASSPROC pfnSubclass, UINT_PTR uIdSubclass, DWORD_PTR dwRefData)
-{
- ALFWindowSubclassData *data = ALF_New(ALFWindowSubclassData, 1);
-
- data->pfnSubclass = pfnSubclass;
- data->uIdSubclass = uIdSubclass;
- data->dwRefData = dwRefData;
- data->orig = (WNDPROC)GetWindowLongPtr(hwnd, GWLP_WNDPROC);
-
- SetWindowLongPtr(hwnd, GWLP_USERDATA, (LONG_PTR)data);
- SetWindowLongPtr(hwnd, GWLP_WNDPROC, (LONG_PTR)ALF_Compat_fallbackSubclassProc);
-
- return TRUE;
-}
-
-static LRESULT WINAPI
-ALF_Compat_fallbackDefSubclassProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
-{
- ALFWindowSubclassData *data = (ALFWindowSubclassData *)GetWindowLongPtr(hwnd, GWLP_USERDATA);
-
- return CallWindowProc(data->orig, hwnd, uMsg, wParam, lParam);
-}
-
-static BOOL WINAPI
-ALF_Compat_fallbackRemoveWindowSubclass(HWND hwnd, ALF_COMPAT_SUBCLASSPROC pfnSubclass, UINT_PTR uIdSubclass)
-{
- (void)pfnSubclass;
- (void)uIdSubclass;
-
- ALFWindowSubclassData *data = (ALFWindowSubclassData *)GetWindowLongPtr(hwnd, GWLP_USERDATA);
-
- data->pfnSubclass = 0;
- data->uIdSubclass = 0;
- SetWindowLongPtr(hwnd, GWLP_WNDPROC, (LONG_PTR)data->orig);
-
- // can't free it while the subclass is running, possibly in a nested SendMessage
- // and wants to call DefSubclassProc
- if (!data->runCounter) {
- SetWindowLongPtr(hwnd, GWLP_USERDATA, 0);
- ALF_Free(data);
- }
-
- return TRUE;
-}
-
long
ALF_GetAveCharWidth(HDC hdc)
{
@@ -472,25 +391,6 @@ void ALF_LoadCompatFunctions(void)
LOAD_FUNC(user32, GetDpiForWindow);
LOAD_FUNC(user32, AdjustWindowRectExForDpi);
LOAD_FUNC(user32, GetSystemMetricsForDpi);
-
- *((FARPROC*)&ALF_Compat_SetWindowSubclass) = GetProcAddress(_alf_dll_comctl32, "SetWindowSubclass");
- if (!ALF_Compat_SetWindowSubclass)
- *((FARPROC*)&ALF_Compat_SetWindowSubclass) = GetProcAddress(_alf_dll_comctl32, (char*)410);
- if (!ALF_Compat_SetWindowSubclass)
- ALF_Compat_SetWindowSubclass = ALF_Compat_fallbackSetWindowSubclass;
-
- *((FARPROC*)&ALF_Compat_DefSubclassProc) = GetProcAddress(_alf_dll_comctl32, "DefSubclassProc");
- if (!ALF_Compat_DefSubclassProc)
- *((FARPROC*)&ALF_Compat_DefSubclassProc) = GetProcAddress(_alf_dll_comctl32, (char*)413);
- if (!ALF_Compat_DefSubclassProc)
- ALF_Compat_DefSubclassProc = ALF_Compat_fallbackDefSubclassProc;
-
- *((FARPROC*)&ALF_Compat_RemoveWindowSubclass) = GetProcAddress(_alf_dll_comctl32, "RemoveWindowSubclass");
- if (!ALF_Compat_RemoveWindowSubclass)
- *((FARPROC*)&ALF_Compat_RemoveWindowSubclass) = GetProcAddress(_alf_dll_comctl32, (char*)412);
- if (!ALF_Compat_RemoveWindowSubclass)
- ALF_Compat_RemoveWindowSubclass = ALF_Compat_fallbackRemoveWindowSubclass;
-
LOAD_FUNC(user32, SystemParametersInfoForDpi);
*((FARPROC*)&ALF_Compat_TrackMouseEvent) = GetProcAddress(_alf_dll_comctl32, "_TrackMouseEvent");
@@ -521,9 +421,6 @@ void ALF_UnloadCompatFunctions(void)
UNLOAD_FUNC(GetDpiForWindow);
UNLOAD_FUNC(AdjustWindowRectExForDpi);
UNLOAD_FUNC(GetSystemMetricsForDpi);
- UNLOAD_FUNC(SetWindowSubclass);
- UNLOAD_FUNC(DefSubclassProc);
- UNLOAD_FUNC(RemoveWindowSubclass);
UNLOAD_FUNC(SystemParametersInfoForDpi);
UNLOAD_FUNC(TrackMouseEvent);
UNLOAD_FUNC(OpenThemeData);
@@ -555,9 +452,6 @@ BOOL (WINAPI *ALF_Compat_IsAppThemed)(void) = NULL;
UINT (WINAPI *ALF_Compat_GetDpiForWindow)(HWND /*window*/) = NULL;
BOOL (WINAPI *ALF_Compat_AdjustWindowRectExForDpi)(LPRECT,DWORD,BOOL,DWORD,UINT) = NULL;
int (WINAPI *ALF_Compat_GetSystemMetricsForDpi)(int, UINT) = NULL;
-BOOL (WINAPI *ALF_Compat_SetWindowSubclass)(HWND, ALF_COMPAT_SUBCLASSPROC, UINT_PTR, DWORD_PTR) = NULL;
-LRESULT (WINAPI *ALF_Compat_DefSubclassProc)(HWND, UINT, WPARAM, LPARAM) = NULL;
-BOOL (WINAPI *ALF_Compat_RemoveWindowSubclass)(HWND, ALF_COMPAT_SUBCLASSPROC, UINT_PTR) = NULL;
BOOL (WINAPI *ALF_Compat_SystemParametersInfoForDpi)(UINT,UINT,PVOID,UINT,UINT) = NULL;
HTHEME (WINAPI *ALF_Compat_OpenThemeData)(HWND, LPCWSTR) = NULL;