diff options
| author | TryTwo <taolas@gmail.com> | 2024-06-24 14:18:41 -0700 |
|---|---|---|
| committer | TryTwo <taolas@gmail.com> | 2025-01-19 23:18:38 -0700 |
| commit | 32e135e6a94de9aba7e08ef0b32fac35f4647ab3 (patch) | |
| tree | 31124b80643cb9d91d2eead5f4c5aad8865a0312 /Source/Core/DolphinQt/Debugger/MemoryWidget.cpp | |
| parent | 3edb5acccab983b08a181356c75177a635ad3c0b (diff) | |
MemoryViewWidget: Add OnFrameEnd callback to auto-update memory while a game is running.
Diffstat (limited to 'Source/Core/DolphinQt/Debugger/MemoryWidget.cpp')
| -rw-r--r-- | Source/Core/DolphinQt/Debugger/MemoryWidget.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/Source/Core/DolphinQt/Debugger/MemoryWidget.cpp b/Source/Core/DolphinQt/Debugger/MemoryWidget.cpp index 200219e0b6..d15a99d6ba 100644 --- a/Source/Core/DolphinQt/Debugger/MemoryWidget.cpp +++ b/Source/Core/DolphinQt/Debugger/MemoryWidget.cpp @@ -340,13 +340,38 @@ void MemoryWidget::ConnectWidgets() void MemoryWidget::closeEvent(QCloseEvent*) { Settings::Instance().SetMemoryVisible(false); + RemoveAfterFrameEventCallback(); } void MemoryWidget::showEvent(QShowEvent* event) { + RegisterAfterFrameEventCallback(); Update(); } +void MemoryWidget::hideEvent(QHideEvent* event) +{ + RemoveAfterFrameEventCallback(); +} + +void MemoryWidget::RegisterAfterFrameEventCallback() +{ + m_vi_end_field_event = VIEndFieldEvent::Register([this] { AutoUpdateTable(); }, "MemoryWidget"); +} + +void MemoryWidget::RemoveAfterFrameEventCallback() +{ + m_vi_end_field_event.reset(); +} + +void MemoryWidget::AutoUpdateTable() +{ + if (!isVisible()) + return; + + m_memory_view->UpdateOnFrameEnd(); +} + void MemoryWidget::Update() { if (!isVisible()) |
