diff --git a/src/newifc/newifc_nongen.c b/src/newifc/newifc_nongen.c index 69c30930b41f6f22cc057bba35792894ede627c9..766c628db70cef697b0af78ced9d81e398612257 100644 --- a/src/newifc/newifc_nongen.c +++ b/src/newifc/newifc_nongen.c @@ -595,6 +595,9 @@ do_layout_set_size_recurse(NewIfcObj obj) else { if (obj->parent && obj->parent->child_width < obj->width) return NewIfc_error_wont_fit; + ret = NI_set_layout_width(obj, obj->width); + if (ret != NewIfc_error_none) + return ret; } if (obj->height == NI_SHRINK) { @@ -614,6 +617,9 @@ do_layout_set_size_recurse(NewIfcObj obj) else { if (obj->parent && obj->parent->child_height < obj->height) return NewIfc_error_wont_fit; + ret = NI_set_layout_height(obj, obj->height); + if (ret != NewIfc_error_none) + return ret; } // Then, recurse peers diff --git a/src/newifc/newifc_nongen_after.c b/src/newifc/newifc_nongen_after.c index 6556a7972918e9dd036c31cbe830b999503df835..9574778ff70231a1673c749e60e1132c011d9718 100644 --- a/src/newifc/newifc_nongen_after.c +++ b/src/newifc/newifc_nongen_after.c @@ -135,7 +135,6 @@ void test_api(CuTest *ct) CuAssertTrue(ct, robj->do_render(robj, NULL) == NewIfc_error_none); size_t sz = strlen(new_title); -#if 0 for (size_t i = 0; i < sz; i++) { ciolib_vmem_gettext(i+36,1,i+36,1,&cells); CuAssertTrue(ct, cells.ch == new_title[i]); @@ -143,8 +142,6 @@ void test_api(CuTest *ct) CuAssertTrue(ct, cells.bg == obj->bg_colour); CuAssertTrue(ct, cells.font == obj->font); } -#endif -sleep(2); CuAssertTrue(ct, NI_destroy(robj) == NewIfc_error_none); } diff --git a/src/newifc/root_window.c b/src/newifc/root_window.c index 38acac409a8db071bdf79428c4629feb09f8c3c6..8fcf69d04f7835741e5b52b5ca2782d27cc141bc 100644 --- a/src/newifc/root_window.c +++ b/src/newifc/root_window.c @@ -186,7 +186,7 @@ rw_do_render_recurse(NewIfcObj obj, struct NewIfc_render_context *ctx) } if (obj->right_pad) { for (size_t x = 0; x < obj->right_pad; x++) { - set_vmem_cell(ctx, x + obj->width - obj->right_pad, y, obj->fg_colour, obj->bg_colour, ' ', obj->font); + set_vmem_cell(ctx, x + obj->layout_size.width - obj->right_pad, y, obj->fg_colour, obj->bg_colour, ' ', obj->font); } } }