From 65d2a6c59037646aaa3f3d962b9de7cab58f0880 Mon Sep 17 00:00:00 2001 From: aldelaro5 Date: Wed, 16 May 2018 21:43:18 -0400 Subject: [PATCH] Qt/debugger: properly update when we load the symbols on boot This host event is still useful because the emu thread will load the symbols on boot if required. --- Source/Core/DolphinQt2/Debugger/CodeWidget.cpp | 2 ++ Source/Core/DolphinQt2/Host.cpp | 13 ++++++++++--- Source/Core/DolphinQt2/Host.h | 2 ++ 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/Source/Core/DolphinQt2/Debugger/CodeWidget.cpp b/Source/Core/DolphinQt2/Debugger/CodeWidget.cpp index 8c644e7375..e95fa87690 100644 --- a/Source/Core/DolphinQt2/Debugger/CodeWidget.cpp +++ b/Source/Core/DolphinQt2/Debugger/CodeWidget.cpp @@ -45,6 +45,8 @@ CodeWidget::CodeWidget(QWidget* parent) : QDockWidget(parent) Update(); }); + connect(Host::GetInstance(), &Host::NotifyMapLoaded, this, &CodeWidget::UpdateSymbols); + connect(&Settings::Instance(), &Settings::DebugModeToggled, [this](bool enabled) { setHidden(!enabled || !Settings::Instance().IsCodeVisible()); }); diff --git a/Source/Core/DolphinQt2/Host.cpp b/Source/Core/DolphinQt2/Host.cpp index 56e0b09a23..8410fd357c 100644 --- a/Source/Core/DolphinQt2/Host.cpp +++ b/Source/Core/DolphinQt2/Host.cpp @@ -121,6 +121,16 @@ void Host_UpdateProgressDialog(const char* caption, int position, int total) emit Host::GetInstance()->UpdateProgressDialog(QString::fromUtf8(caption), position, total); } +void Host::RequestNotifyMapLoaded() +{ + QueueOnObject(QApplication::instance(), [this] { emit NotifyMapLoaded(); }); +} + +void Host_NotifyMapLoaded() +{ + Host::GetInstance()->RequestNotifyMapLoaded(); +} + // We ignore these, and their purpose should be questioned individually. // In particular, RequestRenderWindowSize, RequestFullscreen, and // UpdateMainFrame should almost certainly be removed. @@ -137,9 +147,6 @@ bool Host_UINeedsControllerState() { return Settings::Instance().IsControllerStateNeeded(); } -void Host_NotifyMapLoaded() -{ -} void Host_ShowVideoConfig(void* parent, const std::string& backend_name) { } diff --git a/Source/Core/DolphinQt2/Host.h b/Source/Core/DolphinQt2/Host.h index 81f98f5272..f425d645c1 100644 --- a/Source/Core/DolphinQt2/Host.h +++ b/Source/Core/DolphinQt2/Host.h @@ -27,6 +27,7 @@ public: void SetRenderFocus(bool focus); void SetRenderFullscreen(bool fullscreen); void ResizeSurface(int new_width, int new_height); + void RequestNotifyMapLoaded(); signals: void RequestTitle(const QString& title); @@ -34,6 +35,7 @@ signals: void RequestRenderSize(int w, int h); void UpdateProgressDialog(QString label, int position, int maximum); void UpdateDisasmDialog(); + void NotifyMapLoaded(); private: Host();