summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/debugger
diff options
context:
space:
mode:
author Barry Rodewald <mahlemiut75@gmail.com>2024-02-09 13:59:15 +1300
committer Barry Rodewald <mahlemiut75@gmail.com>2024-02-09 13:59:15 +1300
commit6fbb1d2f356ac25b223e1a5d6a4abcbbdde6933b (patch)
treefdc7f595b34388eaf7378f6f897be966383d0af3 /src/osd/modules/debugger
parent33a2fe7045731f071b849d18c7737accd005267f (diff)
debugimgui: fix lockup and debug assert
Diffstat (limited to 'src/osd/modules/debugger')
-rw-r--r--src/osd/modules/debugger/debugimgui.cpp16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/osd/modules/debugger/debugimgui.cpp b/src/osd/modules/debugger/debugimgui.cpp
index 0f6bdd1f301..4ae514f857f 100644
--- a/src/osd/modules/debugger/debugimgui.cpp
+++ b/src/osd/modules/debugger/debugimgui.cpp
@@ -418,15 +418,15 @@ void debug_imgui::handle_keys()
m_hide = true;
}
- if(ImGui::IsKeyPressed(ImGuiKey_D,false) && ImGui::IsKeyDown(ImGuiKey_LeftCtrl))
+ if(ImGui::IsKeyPressed(ImGuiKey_D,false) && io.KeyCtrl)
add_disasm(++m_win_count);
- if(ImGui::IsKeyPressed(ImGuiKey_M,false) && ImGui::IsKeyDown(ImGuiKey_LeftCtrl))
+ if(ImGui::IsKeyPressed(ImGuiKey_M,false) && io.KeyCtrl)
add_memory(++m_win_count);
- if(ImGui::IsKeyPressed(ImGuiKey_B,false) && ImGui::IsKeyDown(ImGuiKey_LeftCtrl))
+ if(ImGui::IsKeyPressed(ImGuiKey_B,false) && io.KeyCtrl)
add_bpoints(++m_win_count);
- if(ImGui::IsKeyPressed(ImGuiKey_W,false) && ImGui::IsKeyDown(ImGuiKey_LeftCtrl))
+ if(ImGui::IsKeyPressed(ImGuiKey_W,false) && io.KeyCtrl)
add_wpoints(++m_win_count);
- if(ImGui::IsKeyPressed(ImGuiKey_L,false) && ImGui::IsKeyDown(ImGuiKey_LeftCtrl))
+ if(ImGui::IsKeyPressed(ImGuiKey_L,false) && io.KeyCtrl)
add_log(++m_win_count);
}
@@ -618,7 +618,10 @@ void debug_imgui::draw_view(debug_area* view_ptr, bool exp_change)
// temporarily set cursor to the last line, this will set the scroll bar range
if(view_ptr->type != DVT_MEMORY) // no scroll bars in memory views
+ {
ImGui::SetCursorPosY((totalsize.y) * fsize.y);
+ ImGui::Dummy(ImVec2(0,0)); // some object is required for validation
+ }
// set the visible area to be displayed
vsize.x = view_ptr->view_width / fsize.x;
@@ -1555,7 +1558,7 @@ void debug_imgui::wait_for_debugger(device_t &device, bool firststop)
m_running = false;
}
m_hide = false;
- //m_machine->ui_input().frame_update();
+ m_machine->osd().input_update(true);
handle_mouse();
handle_keys();
handle_console(m_machine);
@@ -1580,6 +1583,7 @@ void debug_imgui::debugger_update()
{
uint32_t width = m_machine->render().ui_target().width();
uint32_t height = m_machine->render().ui_target().height();
+ m_machine->osd().input_update(true);
handle_mouse();
handle_keys();
imguiBeginFrame(m_mouse_x,m_mouse_y,m_mouse_button ? IMGUI_MBUT_LEFT : 0, 0, width, height, m_key_char);