1
0
Fork 0

Fixed bugs with Alt+G and GuiFocusView

This commit is contained in:
torusrxxx 2020-08-06 11:49:09 +08:00 committed by Duncan Ogilvie
parent 9a869936f0
commit 50dd82252a
6 changed files with 10 additions and 7 deletions

View File

@ -40,7 +40,6 @@ CPUDisassembly::CPUDisassembly(QWidget* parent, bool isMain) : Disassembly(paren
connect(Bridge::getBridge(), SIGNAL(selectionDisasmGet(SELECTIONDATA*)), this, SLOT(selectionGetSlot(SELECTIONDATA*)));
connect(Bridge::getBridge(), SIGNAL(selectionDisasmSet(const SELECTIONDATA*)), this, SLOT(selectionSetSlot(const SELECTIONDATA*)));
connect(Bridge::getBridge(), SIGNAL(displayWarning(QString, QString)), this, SLOT(displayWarningSlot(QString, QString)));
connect(Bridge::getBridge(), SIGNAL(focusDisasm()), this, SLOT(setFocus()));
}
// Connect some internal signals
@ -1989,7 +1988,7 @@ void CPUDisassembly::setEncodeTypeSlot()
void CPUDisassembly::graphSlot()
{
if(DbgCmdExecDirect(QString("graph %1").arg(ToPtrString(rvaToVa(getSelectionStart()))).toUtf8().constData()))
emit displayGraphWidget();
GuiFocusView(GUI_GRAPH);
}
void CPUDisassembly::analyzeModuleSlot()

View File

@ -34,7 +34,6 @@ signals:
void displaySourceManagerWidget();
void showPatches();
void displayLogWidget();
void displayGraphWidget();
void displaySymbolsWidget();
public slots:

View File

@ -34,6 +34,8 @@ CPUWidget::CPUWidget(QWidget* parent) : QWidget(parent), ui(new Ui::CPUWidget)
connect(Bridge::getBridge(), SIGNAL(dbgStateChanged(DBGSTATE)), mSideBar, SLOT(debugStateChangedSlot(DBGSTATE)));
connect(Bridge::getBridge(), SIGNAL(updateSideBar()), mSideBar, SLOT(reload()));
connect(Bridge::getBridge(), SIGNAL(updateArgumentView()), mArgumentWidget, SLOT(refreshData()));
connect(Bridge::getBridge(), SIGNAL(focusDisasm()), this, SLOT(setDisasmFocus()));
connect(Bridge::getBridge(), SIGNAL(focusGraph()), this, SLOT(setGraphFocus()));
mDisas->setCodeFoldingManager(mSideBar->getCodeFoldingManager());

View File

@ -30,8 +30,6 @@ public:
// Misc
void setDefaultDisposition();
void setDisasmFocus();
void setGraphFocus();
void saveWindowSettings();
void loadWindowSettings();
@ -46,6 +44,10 @@ public:
CPUStack* getStackWidget();
CPUInfoBox* getInfoBoxWidget();
public slots:
void setDisasmFocus();
void setGraphFocus();
protected:
CPUSideBar* mSideBar;
CPUDisassembly* mDisas;

View File

@ -74,7 +74,6 @@ DisassemblerGraphView::DisassemblerGraphView(QWidget* parent)
connect(Bridge::getBridge(), SIGNAL(updateGraph()), this, SLOT(updateGraphSlot()));
connect(Bridge::getBridge(), SIGNAL(selectionGraphGet(SELECTIONDATA*)), this, SLOT(selectionGetSlot(SELECTIONDATA*)));
connect(Bridge::getBridge(), SIGNAL(disassembleAt(dsint, dsint)), this, SLOT(disassembleAtSlot(dsint, dsint)));
connect(Bridge::getBridge(), SIGNAL(focusGraph()), this, SLOT(setFocus()));
connect(Bridge::getBridge(), SIGNAL(getCurrentGraph(BridgeCFGraphList*)), this, SLOT(getCurrentGraphSlot(BridgeCFGraphList*)));
connect(Bridge::getBridge(), SIGNAL(dbgStateChanged(DBGSTATE)), this, SLOT(dbgStateChangedSlot(DBGSTATE)));
@ -1144,6 +1143,9 @@ void DisassemblerGraphView::mouseMoveEvent(QMouseEvent* event)
void DisassemblerGraphView::mouseReleaseEvent(QMouseEvent* event)
{
// Bring the user back to disassembly if the user is stuck in an empty graph view (Alt+G)
if((!this->ready || !DbgIsDebugging()) && event->button() == Qt::LeftButton)
GuiFocusView(GUI_DISASSEMBLY);
this->viewport()->update();
if(event->button() == Qt::ForwardButton)

View File

@ -334,7 +334,6 @@ MainWindow::MainWindow(QWidget* parent)
connect(mCpuWidget->getDisasmWidget(), SIGNAL(displayReferencesWidget()), this, SLOT(displayReferencesWidget()));
connect(mCpuWidget->getDisasmWidget(), SIGNAL(displaySourceManagerWidget()), this, SLOT(displaySourceViewWidget()));
connect(mCpuWidget->getDisasmWidget(), SIGNAL(displayLogWidget()), this, SLOT(displayLogWidget()));
connect(mCpuWidget->getDisasmWidget(), SIGNAL(displayGraphWidget()), this, SLOT(displayGraphWidget()));
connect(mCpuWidget->getDisasmWidget(), SIGNAL(displaySymbolsWidget()), this, SLOT(displaySymbolWidget()));
connect(mCpuWidget->getDisasmWidget(), SIGNAL(showPatches()), this, SLOT(patchWindow()));
connect(mCpuWidget->getGraphWidget(), SIGNAL(displayLogWidget()), this, SLOT(displayLogWidget()));