summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--alf/alf.cpp10
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