mirror of
https://github.com/FunkyFr3sh/cnc-ddraw.git
synced 2025-03-24 17:49:52 +01:00
fix wndproc hook
This commit is contained in:
parent
8f8fd74e3b
commit
2561147a4a
2
inc/dd.h
2
inc/dd.h
@ -80,7 +80,7 @@ typedef struct cnc_ddraw
|
|||||||
} render;
|
} render;
|
||||||
|
|
||||||
HWND hwnd;
|
HWND hwnd;
|
||||||
LRESULT (CALLBACK *wndproc)(HWND, UINT, WPARAM, LPARAM);
|
WNDPROC wndproc;
|
||||||
struct { float x; float y; } cursor;
|
struct { float x; float y; } cursor;
|
||||||
BOOL locked;
|
BOOL locked;
|
||||||
BOOL adjmouse;
|
BOOL adjmouse;
|
||||||
|
4
src/dd.c
4
src/dd.c
@ -660,9 +660,7 @@ HRESULT dd_SetCooperativeLevel(HWND hwnd, DWORD dwFlags)
|
|||||||
{
|
{
|
||||||
hook_init();
|
hook_init();
|
||||||
|
|
||||||
g_ddraw->wndproc = (LRESULT(CALLBACK *)(HWND, UINT, WPARAM, LPARAM))GetWindowLong(hwnd, GWL_WNDPROC);
|
g_ddraw->wndproc = (WNDPROC)real_SetWindowLongA(g_ddraw->hwnd, GWL_WNDPROC, (LONG)fake_WndProc);
|
||||||
|
|
||||||
real_SetWindowLongA(g_ddraw->hwnd, GWL_WNDPROC, (LONG)fake_WndProc);
|
|
||||||
|
|
||||||
if (!g_ddraw->render.hdc)
|
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…
x
Reference in New Issue
Block a user