1
0
mirror of https://github.com/FunkyFr3sh/cnc-ddraw.git synced 2025-03-15 06:04:49 +01:00

fix wndproc hook

This commit is contained in:
FunkyFr3sh 2021-03-02 22:50:06 +01:00
parent 8f8fd74e3b
commit 2561147a4a
3 changed files with 3 additions and 5 deletions

View File

@ -80,7 +80,7 @@ typedef struct cnc_ddraw
} render;
HWND hwnd;
LRESULT (CALLBACK *wndproc)(HWND, UINT, WPARAM, LPARAM);
WNDPROC wndproc;
struct { float x; float y; } cursor;
BOOL locked;
BOOL adjmouse;

View File

@ -660,9 +660,7 @@ HRESULT dd_SetCooperativeLevel(HWND hwnd, DWORD dwFlags)
{
hook_init();
g_ddraw->wndproc = (LRESULT(CALLBACK *)(HWND, UINT, WPARAM, LPARAM))GetWindowLong(hwnd, GWL_WNDPROC);
real_SetWindowLongA(g_ddraw->hwnd, GWL_WNDPROC, (LONG)fake_WndProc);
g_ddraw->wndproc = (WNDPROC)real_SetWindowLongA(g_ddraw->hwnd, GWL_WNDPROC, (LONG)fake_WndProc);
if (!g_ddraw->render.hdc)
{

View File

@ -707,5 +707,5 @@ LRESULT CALLBACK fake_WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam
}
}
return g_ddraw->wndproc(hWnd, uMsg, wParam, lParam);
return CallWindowProcA(g_ddraw->wndproc, hWnd, uMsg, wParam, lParam);
}