diff options
Diffstat (limited to 'alf')
| -rw-r--r-- | alf/alf.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/alf/alf.cpp b/alf/alf.cpp index c22c30a..9f68479 100644 --- a/alf/alf.cpp +++ b/alf/alf.cpp @@ -615,9 +615,11 @@ ALF_WindowProc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) { if (msg == WM_NCCREATE) { CREATESTRUCT *cs = (CREATESTRUCT*)(void*)lparam; - ALFWindowPriv *priv = (ALFWindowPriv*)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY|HEAP_GENERATE_EXCEPTIONS, sizeof(ALFWindowPriv)); - SetWindowLongPtr(hwnd, 0, (LONG_PTR)priv); - ALF_InitializeWindowPriv(hwnd, priv, cs->lpCreateParams); + if (cs->lpCreateParams) { + ALFWindowPriv *priv = (ALFWindowPriv*)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY|HEAP_GENERATE_EXCEPTIONS, sizeof(ALFWindowPriv)); + SetWindowLongPtr(hwnd, 0, (LONG_PTR)priv); + ALF_InitializeWindowPriv(hwnd, priv, *((void**)cs->lpCreateParams)); + } } ALFWindowPriv *priv = (ALFWindowPriv*)(void*)GetWindowLongPtr(hwnd, 0); @@ -758,7 +760,7 @@ HWND ALF_InstantiateWindow(ALFAPP app, LPCTSTR className, HWND hwndParent, void hwndParent, NULL, app->hInstance, - closure); + &closure); } void |
