diff options
| author | Jonas Kümmerlin <jonas@kuemmerlin.eu> | 2019-01-25 21:45:01 +0100 |
|---|---|---|
| committer | Jonas Kümmerlin <jonas@kuemmerlin.eu> | 2019-01-25 21:45:01 +0100 |
| commit | 55211af76164fe6c39249c14be47363d35a4db0f (patch) | |
| tree | 417d9e8805c52d6421798331bea59993e7f1fa1a /alf/alflayout.cpp | |
| parent | 02d94ecd62e11e28ba87451c392cc6b633bb5c56 (diff) | |
add memory allocation functions
Diffstat (limited to 'alf/alflayout.cpp')
| -rw-r--r-- | alf/alflayout.cpp | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/alf/alflayout.cpp b/alf/alflayout.cpp index cb89965..5e79443 100644 --- a/alf/alflayout.cpp +++ b/alf/alflayout.cpp @@ -11,9 +11,15 @@ void ALF_Layout_Clear(ALFLayout *layout) { ALF_FOR_LIST(ALFWidgetPriv, list, &layout->widgets, w) { - HeapFree(GetProcessHeap(), 0, w); + ALF_Free(w); } ALF_ListInit(&layout->widgets); + ALF_Free(layout->columns); + ALF_Free(layout->rows); + layout->columns = NULL; + layout->rows = NULL; + layout->nColumns = 0; + layout->nRows = 0; } @@ -59,20 +65,20 @@ ALF_Layout_CalcSizes(ALFLayout* layout, HWND window) // FIXME! overflow, use reallocarray(2) equivalent if (layout->nColumns == 0) { layout->nColumns = 1; - layout->columns = (ALFLayoutRowOrColumn*)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY | HEAP_GENERATE_EXCEPTIONS, layout->nColumns*sizeof(layout->columns[0])); + layout->columns = ALF_New(ALFLayoutRowOrColumn, layout->nColumns); } else { layout->nColumns *= 2; - layout->columns = (ALFLayoutRowOrColumn*)HeapReAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY | HEAP_GENERATE_EXCEPTIONS, layout->columns, layout->nColumns*sizeof(layout->columns[0])); + layout->columns = ALF_ReNew(layout->columns, ALFLayoutRowOrColumn, layout->nColumns); } } while ((int)c->y >= layout->nRows) { // FIXME! overflow, use reallocarray(2) equivalent if (layout->nRows == 0) { layout->nRows = 1; - layout->rows = (ALFLayoutRowOrColumn*)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY | HEAP_GENERATE_EXCEPTIONS, layout->nRows*sizeof(layout->rows[0])); + layout->rows = ALF_New(ALFLayoutRowOrColumn, layout->nRows); } else { layout->nRows *= 2; - layout->rows = (ALFLayoutRowOrColumn*)HeapReAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY | HEAP_GENERATE_EXCEPTIONS, layout->rows, layout->nRows*sizeof(layout->rows[0])); + layout->rows = ALF_ReNew(layout->rows, ALFLayoutRowOrColumn, layout->nRows); } } @@ -244,7 +250,7 @@ ALF_Layout_Apply(ALFLayout* layout, HWND window) void ALF_Layout_AddWidget(ALFLayout* layout, HWND window, const ALFWidgetLayoutParams* params) { - ALFWidgetPriv *w = (ALFWidgetPriv*)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY|HEAP_GENERATE_EXCEPTIONS, sizeof(ALFWidgetPriv)); + ALFWidgetPriv *w = ALF_New(ALFWidgetPriv, 1); w->hwnd = params->hwnd; w->x = params->x; w->y = params->y; |
