actually check for imgui init success

This commit is contained in:
silverweed 2025-02-11 12:53:52 +01:00
parent 7d04a0b1ad
commit ce5681b4a6

View file

@ -2,17 +2,17 @@ internal
b8 init_imgui(GLFWwindow* window) {
IMGUI_CHECKVERSION();
ImGui::CreateContext();
ImGuiIO& io = ImGui::GetIO(); (void) io;
ImGuiIO& io = ImGui::GetIO();
io.ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard;
io.IniFilename = nullptr;
io.LogFilename = nullptr;
ImGui::StyleColorsDark();
ImGui_ImplGlfw_InitForOpenGL(window, true);
ImGui_ImplOpenGL3_Init("#version 330");
b8 ok = ImGui_ImplGlfw_InitForOpenGL(window, true);
ok = ok && ImGui_ImplOpenGL3_Init("#version 330");
return true;
return ok;
}
internal
@ -152,27 +152,26 @@ void run_main_loop(GLFWwindow *window, Arena *arena, App_State &app)
ImGui_ImplGlfw_NewFrame();
ImGui::NewFrame();
// Check if the inspected file changed
{
if (file_has_changed(app.inspected_file.inot)) {
u64 prev_size = app.inspected_file.size;
app.inspected_file.size = file_size(app.inspected_file.stream);
int fd = fileno(app.inspected_file.stream);
os_remap_file(fd, app.inspected_file.mem, prev_size, app.inspected_file.size);
// reset memory for loaded file data
arena_pop_to(app.fdata.arena, 0);
memset(&app.fdata.rndata, 0, sizeof(app.fdata.rndata));
memset(&app.fdata.tfile_data, 0, sizeof(app.fdata.tfile_data));
b8 success = get_tfile_data(app.fdata.arena, app.inspected_file, app.walk_tkeys_flags, app.ntpl_name, app.fdata.tfile_data);
if (success)
app.fdata.rndata = get_rntuple_data(app.fdata.arena, app.inspected_file, app.fdata.tfile_data, app.extended_info);
compute_tot_sections_size(app.fdata.tfile_data.sections);
init_viewer_title(app.viewer, app.fdata, app.inspected_file.name);
}
// Check if the inspected file changed: if it did, reload the data.
if (file_has_changed(app.inspected_file.inot)) {
u64 prev_size = app.inspected_file.size;
app.inspected_file.size = file_size(app.inspected_file.stream);
int fd = fileno(app.inspected_file.stream);
os_remap_file(fd, app.inspected_file.mem, prev_size, app.inspected_file.size);
// reset memory for loaded file data
arena_pop_to(app.fdata.arena, 0);
memset(&app.fdata.rndata, 0, sizeof(app.fdata.rndata));
memset(&app.fdata.tfile_data, 0, sizeof(app.fdata.tfile_data));
b8 success = get_tfile_data(app.fdata.arena, app.inspected_file, app.walk_tkeys_flags, app.ntpl_name, app.fdata.tfile_data);
if (success)
app.fdata.rndata = get_rntuple_data(app.fdata.arena, app.inspected_file, app.fdata.tfile_data, app.extended_info);
compute_tot_sections_size(app.fdata.tfile_data.sections);
init_viewer_title(app.viewer, app.fdata, app.inspected_file.name);
}
if ((app.user_input.key_state[KEY_ESC] & KEY_STATE_IS_DOWN) || glfwWindowShouldClose(window)) {
app.should_quit = true;
app.should_quit = true; // superfluous right now, but set it just in case.
break;
}