--- a/ui/win32/grid.c Sun Oct 12 17:37:54 2025 +0200 +++ b/ui/win32/grid.c Mon Oct 13 21:07:59 2025 +0200 @@ -67,6 +67,10 @@ } void ui_grid_layout(UiGridLayout *grid, int width, int height) { + if (width == 0 || height == 0) { + return; + } + int ncols = grid->max_column+1; int nrows = grid->max_row+1; @@ -260,10 +264,10 @@ } else { child_width = col->size; } + child_width -= elm->layout.margin.left + elm->layout.margin.right; } else { child_width = elm->layout.preferred_width; } - child_width -= elm->layout.margin.left + elm->layout.margin.right; if(elm->layout.vfill) { if(elm->layout.rowspan > 1) { @@ -282,7 +286,7 @@ } child_height = rheight; } - child_height = row->size; + child_height = row->size - elm->layout.margin.top - elm->layout.margin.bottom; } else { child_height = elm->layout.preferred_height; }