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