diff options
Diffstat (limited to 'src/static-ui.cpp')
| -rw-r--r-- | src/static-ui.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/static-ui.cpp b/src/static-ui.cpp index 255d81d..836966d 100644 --- a/src/static-ui.cpp +++ b/src/static-ui.cpp @@ -99,7 +99,8 @@ void pke_ui_init() { pke_input_set ui_controls_set{}; ui_controls_set.title = "static ui"; ui_controls_set.actionCount = 3; - ui_controls_set.actions = pk_new_arr<pke_input_action>(ui_controls_set.actionCount); + ui_controls_set.bkt = pke_ui_master.bkt; + ui_controls_set.actions = pk_new_arr<pke_input_action>(ui_controls_set.actionCount, ui_controls_set.bkt); ui_controls_set.flags = PKE_INPUT_ACTION_SET_FLAG_DO_NOT_SERIALIZE; ui_controls_set.actions[0].name = ui_ux_mouse_left; @@ -118,7 +119,7 @@ void pke_ui_init() { .button = GLFW_MOUSE_BUTTON_MIDDLE, }; - pke_ui_master.input_action_set_handle = pke_input_register_set(ui_controls_set); + pke_ui_master.input_action_set_handle = pke_input_register_set(std::move(ui_controls_set)); } @@ -772,8 +773,6 @@ void pke_ui_teardown() { } pk_delete_arr<pke_ui_box *>(pke_ui_master.root_boxes, pke_ui_master.r_root_boxes, pke_ui_master.bkt); pke_ui_master.bindings_texture.~texture_binding_bkt_arr(); - pk_mem_bucket_destroy(pke_ui_master.bkt); - pke_ui_master.bkt = nullptr; pke_ui_master.root_boxes = nullptr; pke_ui_master.h_root_boxes = 0; pke_ui_master.r_root_boxes = 0; @@ -817,7 +816,11 @@ void pke_ui_teardown() { pke_ui_master.bindings.deviceMemoryVert = VK_NULL_HANDLE; pk_arr_reset(&pke_ui_master.boxes_to_delete); + pke_input_unregister_set(pke_ui_master.input_action_set_handle); + + pk_mem_bucket_destroy(pke_ui_master.bkt); + pke_ui_master.bkt = nullptr; } pke_ui_box **pke_ui_get_root_boxes(pke_ui_box_count_T *count) { |
