diff options
author | 2019-11-18 05:08:36 +1100 | |
---|---|---|
committer | 2019-11-18 05:08:36 +1100 | |
commit | 88ce545cdda64659894b87fc0b98e1b044eea3e0 (patch) | |
tree | 9a1f05f459b773c70a2ef64443cbe8fee2a3ccd1 /src/osd/modules/debugger/debugimgui.cpp | |
parent | 1fbfa9e071fe1824ea47c567c23778d8ab33cacf (diff) |
misc cleanup:
* Got rid of some more simple_list in core debugger code
* Fixed a buffer overrun in wavwrite (buffer half requried size)
* Slightly reduced dependencies and overhead in wavwrite
* Made new disassembly windows in Qt debugger default to current CPU
Diffstat (limited to 'src/osd/modules/debugger/debugimgui.cpp')
-rw-r--r-- | src/osd/modules/debugger/debugimgui.cpp | 38 |
1 files changed, 13 insertions, 25 deletions
diff --git a/src/osd/modules/debugger/debugimgui.cpp b/src/osd/modules/debugger/debugimgui.cpp index 39dcb3310cf..487ad42ecc5 100644 --- a/src/osd/modules/debugger/debugimgui.cpp +++ b/src/osd/modules/debugger/debugimgui.cpp @@ -262,7 +262,7 @@ static inline void map_attr_to_fg_bg(unsigned char attr, rgb_t *fg, rgb_t *bg) bool debug_imgui::get_view_source(void* data, int idx, const char** out_text) { debug_view* vw = static_cast<debug_view*>(data); - *out_text = vw->source_list().find(idx)->name(); + *out_text = vw->source(idx)->name(); return true; } @@ -754,13 +754,9 @@ void debug_imgui::add_log(int id) void debug_imgui::draw_disasm(debug_area* view_ptr, bool* opened) { - const debug_view_source* src; - ImGui::SetNextWindowSize(ImVec2(view_ptr->width,view_ptr->height + ImGui::GetTextLineHeight()),ImGuiCond_Once); if(ImGui::Begin(view_ptr->title.c_str(),opened,ImGuiWindowFlags_MenuBar)) { - int idx; - bool done = false; bool exp_change = false; view_ptr->is_collapsed = false; @@ -788,7 +784,7 @@ void debug_imgui::draw_disasm(debug_area* view_ptr, bool* opened) ImGuiInputTextFlags flags = ImGuiInputTextFlags_EnterReturnsTrue | ImGuiInputTextFlags_AutoSelectAll; if(m_running) flags |= ImGuiInputTextFlags_ReadOnly; - ImGui::Combo("##cpu",&view_ptr->src_sel,get_view_source,view_ptr->view,view_ptr->view->source_list().count()); + ImGui::Combo("##cpu",&view_ptr->src_sel,get_view_source,view_ptr->view,view_ptr->view->source_count()); ImGui::SameLine(); ImGui::PushItemWidth(-1.0f); if(ImGui::InputText("##addr",view_ptr->console_input,512,flags)) @@ -800,17 +796,15 @@ void debug_imgui::draw_disasm(debug_area* view_ptr, bool* opened) ImGui::Separator(); // disassembly portion - src = view_ptr->view->first_source(); - idx = 0; - while (!done) + unsigned idx = 0; + const debug_view_source* src = view_ptr->view->source(idx); + do { if(view_ptr->src_sel == idx) view_ptr->view->set_source(*src); - idx++; - src = src->next(); - if(src == nullptr) - done = true; + src = view_ptr->view->source(++idx); } + while (src); ImGui::BeginChild("##disasm_output", ImVec2(ImGui::GetWindowWidth() - 16,ImGui::GetWindowHeight() - ImGui::GetTextLineHeight() - ImGui::GetCursorPosY())); // account for title bar and widgets already drawn draw_view(view_ptr,exp_change); @@ -841,13 +835,9 @@ void debug_imgui::add_disasm(int id) void debug_imgui::draw_memory(debug_area* view_ptr, bool* opened) { - const debug_view_source* src; - ImGui::SetNextWindowSize(ImVec2(view_ptr->width,view_ptr->height + ImGui::GetTextLineHeight()),ImGuiCond_Once); if(ImGui::Begin(view_ptr->title.c_str(),opened,ImGuiWindowFlags_MenuBar)) { - int idx; - bool done = false; bool exp_change = false; view_ptr->is_collapsed = false; @@ -906,22 +896,20 @@ void debug_imgui::draw_memory(debug_area* view_ptr, bool* opened) ImGui::PopItemWidth(); ImGui::SameLine(); ImGui::PushItemWidth(-1.0f); - ImGui::Combo("##region",&view_ptr->src_sel,get_view_source,view_ptr->view,view_ptr->view->source_list().count()); + ImGui::Combo("##region",&view_ptr->src_sel,get_view_source,view_ptr->view,view_ptr->view->source_count()); ImGui::PopItemWidth(); ImGui::Separator(); // memory editor portion - src = view_ptr->view->first_source(); - idx = 0; - while (!done) + unsigned idx = 0; + const debug_view_source* src = view_ptr->view->source(idx); + do { if(view_ptr->src_sel == idx) view_ptr->view->set_source(*src); - idx++; - src = src->next(); - if(src == nullptr) - done = true; + src = view_ptr->view->source(++idx); } + while (src); ImGui::BeginChild("##memory_output", ImVec2(ImGui::GetWindowWidth() - 16,ImGui::GetWindowHeight() - ImGui::GetTextLineHeight() - ImGui::GetCursorPosY())); // account for title bar and widgets already drawn draw_view(view_ptr,exp_change); |