diff options
Diffstat (limited to 'wintable/new/main.c')
| -rw-r--r-- | wintable/new/main.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/wintable/new/main.c b/wintable/new/main.c index cd0b906..4e2663f 100644 --- a/wintable/new/main.c +++ b/wintable/new/main.c @@ -72,11 +72,7 @@ static LRESULT CALLBACK tableWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM if (uMsg == WM_NCCREATE) { CREATESTRUCTW *cs = (CREATESTRUCTW *) lParam; - // TODO find something that DOES set a last error code to use instead, or figure out how to abuse SEH temporarily so we can use HeapAlloc()... - t = (struct table *) malloc(sizeof (struct table)); - if (t == NULL) - panic("error allocating internal Table data structure"); - ZeroMemory(t, sizeof (struct table)); + t = (struct table *) tableAlloc(sizeof (struct table), "error allocating internal Table data structure"); t->hwnd = hwnd; SetWindowLongPtrW(hwnd, GWLP_USERDATA, (LONG_PTR) t); } @@ -87,7 +83,7 @@ static LRESULT CALLBACK tableWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM if (uMsg == WM_DESTROY) { // TODO free appropriate (after figuring this part out) components of t // TODO send DESTROY events to accessibility listeners (when appropriate) - free(t); + tableFree(t, "error allocating internal Table data structure"); return DefWindowProcW(hwnd, uMsg, wParam, lParam); } if (runHandlers(handlers, t, uMsg, wParam, lParam, &lResult)) |
