ui/win32/grid.c

changeset 844
3106d9ca2f9c
parent 841
651cf2c59dd9
child 891
0804fc9298f6
--- 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;
         }

mercurial