fix crash when closing platform popups
This commit is contained in:
@@ -1919,12 +1919,16 @@ static void do_frame(AppState *app) {
|
||||
}
|
||||
|
||||
ui_widgets_begin_frame(input);
|
||||
if (app->master_layout == 0) ui_piano_update_input(&app->piano_state);
|
||||
update_panel_splitters(app);
|
||||
|
||||
// Build UI with Clay
|
||||
ui_begin_frame(app->ui, (F32)w, (F32)h, input.mouse_pos, input.mouse_down,
|
||||
input.scroll_delta, dt);
|
||||
|
||||
// These query previous frame's Clay layout data (Clay_GetElementData,
|
||||
// Clay_PointerOver) so they must run after ui_begin_frame sets the context.
|
||||
if (app->master_layout == 0) ui_piano_update_input(&app->piano_state);
|
||||
update_panel_splitters(app);
|
||||
|
||||
build_ui(app);
|
||||
Clay_RenderCommandArray render_commands = ui_end_frame(app->ui);
|
||||
|
||||
@@ -2078,6 +2082,7 @@ int main(int argc, char **argv) {
|
||||
}
|
||||
|
||||
popup_close_all();
|
||||
platform_set_frame_callback(window, nullptr, nullptr);
|
||||
audio_destroy(audio);
|
||||
midi_destroy(midi);
|
||||
ui_destroy(ui);
|
||||
|
||||
Reference in New Issue
Block a user