Permalink
Browse files

Qt/debugger: Don't update the symbols list unnecessarily

It only needs to be updated when we changes the symbols, not every time the code widget updates and it does take a while to update them so this fixes some delay when updating the code window.
  • Loading branch information...
aldelaro5 committed May 11, 2018
1 parent be6b4ed commit 5c688b2d2b18d07576410c8082483df9630b7851
@@ -147,7 +147,7 @@ void CodeWidget::ConnectWidgets()
connect(m_search_address, &QLineEdit::textChanged, this, &CodeWidget::OnSearchAddress);
connect(m_search_symbols, &QLineEdit::textChanged, this, &CodeWidget::OnSearchSymbols);
connect(m_symbols_list, &QListWidget::itemSelectionChanged, this, &CodeWidget::OnSelectSymbol);
connect(m_symbols_list, &QListWidget::itemClicked, this, &CodeWidget::OnSelectSymbol);
connect(m_callstack_list, &QListWidget::itemSelectionChanged, this,
&CodeWidget::OnSelectCallstack);
connect(m_function_calls_list, &QListWidget::itemSelectionChanged, this,
@@ -252,7 +252,6 @@ void CodeWidget::Update()
Symbol* symbol = g_symbolDB.GetSymbolFromAddr(m_code_view->GetAddress());
UpdateCallstack();
UpdateSymbols();
m_code_view->Update();
m_code_view->setFocus();
@@ -36,6 +36,7 @@ class CodeWidget : public QDockWidget
void SetAddress(u32 address, CodeViewWidget::SetAddressUpdate update);
void Update();
void UpdateSymbols();
signals:
void BreakpointsChanged();
void RequestPPCComparison(u32 addr);
@@ -44,7 +45,6 @@ class CodeWidget : public QDockWidget
void CreateWidgets();
void ConnectWidgets();
void UpdateCallstack();
void UpdateSymbols();
void UpdateFunctionCalls(Symbol* symbol);
void UpdateFunctionCallers(Symbol* symbol);
@@ -340,6 +340,12 @@ void MainWindow::ConnectMenuBar()
connect(m_game_list, &GameList::SelectionChanged, m_menu_bar, &MenuBar::SelectionChanged);
connect(this, &MainWindow::ReadOnlyModeChanged, m_menu_bar, &MenuBar::ReadOnlyModeChanged);
connect(this, &MainWindow::RecordingStatusChanged, m_menu_bar, &MenuBar::RecordingStatusChanged);
// Symbols
connect(m_menu_bar, &MenuBar::NotifySymbolsUpdated, [this] {
m_code_widget->UpdateSymbols();
m_code_widget->Update();
});
}
void MainWindow::ConnectHotkeys()
@@ -1020,13 +1020,13 @@ void MenuBar::ClearSymbols()
return;
g_symbolDB.Clear();
Host_NotifyMapLoaded();
emit NotifySymbolsUpdated();
}
void MenuBar::GenerateSymbolsFromAddress()
{
PPCAnalyst::FindFunctions(0x80000000, 0x81800000, &g_symbolDB);
Host_NotifyMapLoaded();
emit NotifySymbolsUpdated();
}
void MenuBar::GenerateSymbolsFromSignatureDB()
@@ -1048,7 +1048,7 @@ void MenuBar::GenerateSymbolsFromSignatureDB()
tr("'%1' not found, no symbol names generated").arg(QString::fromStdString(TOTALDB)));
}
Host_NotifyMapLoaded();
emit NotifySymbolsUpdated();
}
void MenuBar::GenerateSymbolsFromRSO()
@@ -1067,7 +1067,7 @@ void MenuBar::GenerateSymbolsFromRSO()
if (rso_chain.Load(static_cast<u32>(address)))
{
rso_chain.Apply(&g_symbolDB);
Host_NotifyMapLoaded();
emit NotifySymbolsUpdated();
}
else
{
@@ -1101,7 +1101,7 @@ void MenuBar::LoadSymbolMap()
}
HLE::PatchFunctions();
Host_NotifyMapLoaded();
emit NotifySymbolsUpdated();
}
void MenuBar::SaveSymbolMap()
@@ -1123,7 +1123,7 @@ void MenuBar::LoadOtherSymbolMap()
g_symbolDB.LoadMap(file.toStdString());
HLE::PatchFunctions();
Host_NotifyMapLoaded();
emit NotifySymbolsUpdated();
}
void MenuBar::SaveSymbolMapAs()
@@ -102,6 +102,9 @@ class MenuBar final : public QMenuBar
void RecordingStatusChanged(bool recording);
void ReadOnlyModeChanged(bool read_only);
// Synbols
void NotifySymbolsUpdated();
private:
void OnEmulationStateChanged(Core::State state);

0 comments on commit 5c688b2

Please sign in to comment.