fix wndproc hook
This commit is contained in:
parent
8f8fd74e3b
commit
2561147a4a
3 changed files with 3 additions and 5 deletions
2
inc/dd.h
2
inc/dd.h
|
@ -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;
|
||||
|
|
4
src/dd.c
4
src/dd.c
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue