Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Merge pull request #9512 from sepalani/func-update
CodeViewWidget: Add WithDetailedUpdate to update CodeWidget
  • Loading branch information
leoetlino committed Feb 14, 2021
2 parents c33d944 + 5f629ab commit 6944eaa
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 7 deletions.
17 changes: 14 additions & 3 deletions Source/Core/DolphinQt/Debugger/CodeViewWidget.cpp
Expand Up @@ -442,8 +442,19 @@ void CodeViewWidget::SetAddress(u32 address, SetAddressUpdate update)
return;

m_address = address;
if (update == SetAddressUpdate::WithUpdate)
switch (update)
{
case SetAddressUpdate::WithoutUpdate:
return;
case SetAddressUpdate::WithUpdate:
// Update the CodeViewWidget
Update();
break;
case SetAddressUpdate::WithDetailedUpdate:
// Update the CodeWidget's views (code view, function calls/callers, ...)
emit UpdateCodeWidget();
break;
}
}

void CodeViewWidget::ReplaceAddress(u32 address, ReplaceWith replace)
Expand Down Expand Up @@ -611,7 +622,7 @@ void CodeViewWidget::OnFollowBranch()
if (!branch_addr)
return;

SetAddress(branch_addr, SetAddressUpdate::WithUpdate);
SetAddress(branch_addr, SetAddressUpdate::WithDetailedUpdate);
}

void CodeViewWidget::OnRenameSymbol()
Expand Down Expand Up @@ -785,7 +796,7 @@ void CodeViewWidget::mousePressEvent(QMouseEvent* event)
if (column(item) == CODE_VIEW_COLUMN_BREAKPOINT)
ToggleBreakpoint();
else
SetAddress(addr, SetAddressUpdate::WithUpdate);
SetAddress(addr, SetAddressUpdate::WithDetailedUpdate);

Update();
break;
Expand Down
4 changes: 3 additions & 1 deletion Source/Core/DolphinQt/Debugger/CodeViewWidget.h
Expand Up @@ -25,7 +25,8 @@ class CodeViewWidget : public QTableWidget
enum class SetAddressUpdate
{
WithUpdate,
WithoutUpdate
WithoutUpdate,
WithDetailedUpdate
};

explicit CodeViewWidget();
Expand All @@ -49,6 +50,7 @@ class CodeViewWidget : public QTableWidget
void ShowMemory(u32 address);
void SymbolsChanged();
void BreakpointsChanged();
void UpdateCodeWidget();

private:
enum class ReplaceWith
Expand Down
1 change: 1 addition & 0 deletions Source/Core/DolphinQt/Debugger/CodeWidget.cpp
Expand Up @@ -170,6 +170,7 @@ void CodeWidget::ConnectWidgets()
connect(m_code_view, &CodeViewWidget::SymbolsChanged, this, &CodeWidget::UpdateSymbols);
connect(m_code_view, &CodeViewWidget::BreakpointsChanged, this,
[this] { emit BreakpointsChanged(); });
connect(m_code_view, &CodeViewWidget::UpdateCodeWidget, this, &CodeWidget::Update);

connect(m_code_view, &CodeViewWidget::RequestPPCComparison, this,
&CodeWidget::RequestPPCComparison);
Expand Down
6 changes: 3 additions & 3 deletions Source/Core/DolphinQt/MainWindow.cpp
Expand Up @@ -419,7 +419,7 @@ void MainWindow::CreateComponents()
};
const auto request_view_in_memory = [this](u32 addr) { m_memory_widget->SetAddress(addr); };
const auto request_view_in_code = [this](u32 addr) {
m_code_widget->SetAddress(addr, CodeViewWidget::SetAddressUpdate::WithUpdate);
m_code_widget->SetAddress(addr, CodeViewWidget::SetAddressUpdate::WithDetailedUpdate);
};

connect(m_watch_widget, &WatchWidget::RequestMemoryBreakpoint, request_memory_breakpoint);
Expand All @@ -439,7 +439,7 @@ void MainWindow::CreateComponents()
connect(m_memory_widget, &MemoryWidget::BreakpointsChanged, m_breakpoint_widget,
&BreakpointWidget::Update);
connect(m_memory_widget, &MemoryWidget::ShowCode, m_code_widget, [this](u32 address) {
m_code_widget->SetAddress(address, CodeViewWidget::SetAddressUpdate::WithUpdate);
m_code_widget->SetAddress(address, CodeViewWidget::SetAddressUpdate::WithDetailedUpdate);
});

connect(m_breakpoint_widget, &BreakpointWidget::BreakpointsChanged, m_code_widget,
Expand All @@ -448,7 +448,7 @@ void MainWindow::CreateComponents()
&MemoryWidget::Update);
connect(m_breakpoint_widget, &BreakpointWidget::SelectedBreakpoint, [this](u32 address) {
if (Core::GetState() == Core::State::Paused)
m_code_widget->SetAddress(address, CodeViewWidget::SetAddressUpdate::WithUpdate);
m_code_widget->SetAddress(address, CodeViewWidget::SetAddressUpdate::WithDetailedUpdate);
});
}

Expand Down

0 comments on commit 6944eaa

Please sign in to comment.