mirror of
https://github.com/rizinorg/cutter.git
synced 2025-01-19 02:48:49 +00:00
Correct update after rename X used here
This commit is contained in:
parent
a101d3508f
commit
8ca69ff5fc
@ -1253,6 +1253,21 @@ void CutterCore::addFlag(RVA offset, QString name, RVA size)
|
||||
emit flagsChanged();
|
||||
}
|
||||
|
||||
void CutterCore::triggerFlagsChanged()
|
||||
{
|
||||
emit flagsChanged();
|
||||
}
|
||||
|
||||
void CutterCore::triggerVarsChanged()
|
||||
{
|
||||
emit varsChanged();
|
||||
}
|
||||
|
||||
void CutterCore::triggerFunctionRenamed(const QString &prevName, const QString &newName)
|
||||
{
|
||||
emit functionRenamed(prevName, newName);
|
||||
}
|
||||
|
||||
void CutterCore::loadPDB(const QString &file)
|
||||
{
|
||||
cmd("idp " + sanitizeStringForCommand(file));
|
||||
|
@ -306,6 +306,10 @@ public:
|
||||
QList<XrefDescription> getXRefs(RVA addr, bool to, bool whole_function, const QString &filterType = QString::null);
|
||||
|
||||
void addFlag(RVA offset, QString name, RVA size);
|
||||
void triggerFlagsChanged();
|
||||
|
||||
void triggerVarsChanged();
|
||||
void triggerFunctionRenamed(const QString &prevName, const QString &newName);
|
||||
|
||||
void triggerRefreshAll();
|
||||
|
||||
@ -324,6 +328,7 @@ signals:
|
||||
void refreshAll();
|
||||
|
||||
void functionRenamed(QString prev_name, QString new_name);
|
||||
void varsChanged();
|
||||
void flagsChanged();
|
||||
void commentsChanged();
|
||||
void instructionChanged(RVA offset);
|
||||
|
@ -314,6 +314,8 @@ void DisassemblyContextMenu::on_actionRenameUsedHere_triggered()
|
||||
|
||||
RenameDialog *dialog = new RenameDialog(this);
|
||||
|
||||
QString oldName;
|
||||
|
||||
if (type == "address")
|
||||
{
|
||||
RVA offset = thingUsedHere["offset"].toVariant().toULongLong();
|
||||
@ -322,7 +324,7 @@ void DisassemblyContextMenu::on_actionRenameUsedHere_triggered()
|
||||
}
|
||||
else
|
||||
{
|
||||
QString oldName = thingUsedHere.value("name").toString();
|
||||
oldName = thingUsedHere.value("name").toString();
|
||||
dialog->setWindowTitle(tr("Rename %1").arg(oldName));
|
||||
dialog->setName(oldName);
|
||||
}
|
||||
@ -333,6 +335,19 @@ void DisassemblyContextMenu::on_actionRenameUsedHere_triggered()
|
||||
if (!newName.isEmpty())
|
||||
{
|
||||
Core()->cmd("an " + newName + " @ " + QString::number(offset));
|
||||
|
||||
if (type == "address" || type == "flag")
|
||||
{
|
||||
Core()->triggerFlagsChanged();
|
||||
}
|
||||
else if (type == "var")
|
||||
{
|
||||
Core()->triggerVarsChanged();
|
||||
}
|
||||
else if (type == "function")
|
||||
{
|
||||
Core()->triggerFunctionRenamed(oldName, newName);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -77,6 +77,9 @@ DisassemblerGraphView::DisassemblerGraphView(QWidget *parent)
|
||||
connect(Core(), SIGNAL(refreshAll()), this, SLOT(refreshView()));
|
||||
connect(Core(), SIGNAL(seekChanged(RVA)), this, SLOT(onSeekChanged(RVA)));
|
||||
connect(Core(), SIGNAL(commentsChanged()), this, SLOT(refreshView()));
|
||||
connect(Core(), SIGNAL(functionRenamed(QString, QString)), this, SLOT(refreshView()));
|
||||
connect(Core(), SIGNAL(flagsChanged()), this, SLOT(refreshView()));
|
||||
connect(Core(), SIGNAL(varsChanged()), this, SLOT(refreshView()));
|
||||
connect(Core(), SIGNAL(instructionChanged(RVA)), this, SLOT(refreshView()));
|
||||
|
||||
//connect(Bridge::getBridge(), SIGNAL(loadGraph(BridgeCFGraphList*, duint)), this, SLOT(loadGraphSlot(BridgeCFGraphList*, duint)));
|
||||
|
@ -82,6 +82,8 @@ DisassemblyWidget::DisassemblyWidget(QWidget *parent)
|
||||
connect(Core(), SIGNAL(raisePrioritizedMemoryWidget(CutterCore::MemoryWidgetType)), this, SLOT(raisePrioritizedMemoryWidget(CutterCore::MemoryWidgetType)));
|
||||
connect(Core(), SIGNAL(commentsChanged()), this, SLOT(refreshDisasm()));
|
||||
connect(Core(), SIGNAL(flagsChanged()), this, SLOT(refreshDisasm()));
|
||||
connect(Core(), SIGNAL(functionRenamed(QString, QString)), this, SLOT(refreshDisasm()));
|
||||
connect(Core(), SIGNAL(varsChanged()), this, SLOT(refreshDisasm()));
|
||||
connect(Core(), SIGNAL(asmOptionsChanged()), this, SLOT(refreshDisasm()));
|
||||
connect(Core(), &CutterCore::instructionChanged, this, [this](RVA offset) {
|
||||
if (offset >= topOffset && offset <= bottomOffset)
|
||||
|
Loading…
Reference in New Issue
Block a user