From e12892f688e88292508f16e73cbe0930931f75f5 Mon Sep 17 00:00:00 2001 From: Patrick Jakobsen Date: Thu, 28 Sep 2023 10:08:17 +0200 Subject: [PATCH] test_gui__subtree doesn't crash, but also doesn't work --- gui/gui.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/gui/gui.c b/gui/gui.c index 7f64fa1..4e181da 100644 --- a/gui/gui.c +++ b/gui/gui.c @@ -502,6 +502,7 @@ GUI_Subtree_Reference gui_get_subtree( }; GUI_Subtree *subtree = new_reference.node; subtree->rdic = (RDIC_Context){0}; + subtree->rdic.freelist = context->node_freelist; subtree->relative_to = (GUI_Node_Reference){0}; subtree->flat_offset_x = 0; subtree->flat_offset_y = 0; @@ -1597,7 +1598,7 @@ void test_gui__draw_command_using_sliders( } -#if 0 +#if 1 void test_gui__subtree( GUI_Context *context, GUI_Rectangle full_gui_rectangle) @@ -1655,10 +1656,11 @@ void test_gui__subtree( middle = gui_dumb_block(context, middle, &outer_style, middle_size); - static GUI_Subtree middle_subtree = {0}; + static GUI_Subtree_Reference middle_subtree = {0}; + middle_subtree = gui_get_subtree(context, middle_subtree); static GUI_Node_Reference middle_subtree_root = {0}; middle_subtree_root = gui_push_subtree( - context, &middle_subtree, middle_subtree_root, + context, middle_subtree, middle_subtree_root, GUI_LAYOUT_VERTICAL, &element_style, test_size, middle); { static GUI_Color test_image_pixels[10*10] = { @@ -1701,8 +1703,8 @@ void test_gui__subtree( } #else printf("slider value: %f\n", slider_value); - middle_subtree.offset_relative_node_percentage_y = slider_value*100; - middle_subtree.offset_own_size_percentage_y = slider_value*-100; + middle_subtree.node->offset_relative_node_percentage_y = slider_value*100; + middle_subtree.node->offset_own_size_percentage_y = slider_value*-100; #endif ((GUI_Node*)middle_subtree_root.node)->dirty = ((GUI_Node*)slider.node)->dirty; @@ -3207,11 +3209,11 @@ int main(void) // GUI initializaiton. - gui = test_gui; + //gui = test_gui; //gui = test_gui__calculator; //gui = test_gui__scrollbars; //gui = test_gui__draw_command_using_sliders; - //gui = test_gui__subtree; + gui = test_gui__subtree; X11_Window xwindow = {0}; int xinit_status = init_x11(&xwindow);