From 69e851e60e98dd45359dc942fb332b5de6ffccfe Mon Sep 17 00:00:00 2001 From: Jonas Kümmerlin Date: Fri, 4 Jan 2019 12:49:03 +0100 Subject: skip initialization of priv on class unregister --- alf/alf.cpp | 10 ++++++---- 1 file 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 -- cgit v1.2.3