From 42617ae5ed5b400a66df8b59a705f6523eec71b8 Mon Sep 17 00:00:00 2001 From: Christoph Egger Date: Mon, 25 May 2015 06:14:06 +0200 Subject: [PATCH] Annotate function address When the user manually annotates an address from the context menu, add a special placeholder comment to put the function name there. --- src/gui/widgets/BasicBlockWidget.cxx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/gui/widgets/BasicBlockWidget.cxx b/src/gui/widgets/BasicBlockWidget.cxx index de97c51..1cdc33f 100644 --- a/src/gui/widgets/BasicBlockWidget.cxx +++ b/src/gui/widgets/BasicBlockWidget.cxx @@ -55,13 +55,21 @@ void CustomQGraphicsTextItem::contextMenuEvent(QGraphicsSceneContextMenuEvent* e QMenu menu; bool ok; uint64_t address = c.selectedText().toLongLong(&ok, 16); + QTextTable* table = c.currentTable(); if (ok) { QAction* act = menu.addAction(c.selectedText() + " is a Function"); QObject::connect(act, &QAction::triggered, - [=]() {parent->mainwindow->requestNewFunctionByAddress(address);}); + [=]() { + parent->mainwindow->requestNewFunctionByAddress(address); + if (NULL == table) return; + int row = table->cellAt(c).row(); + uint64_t insAddress = parent->instructions[row].getAddress(); + Comment* comment = parent->block->getManager()->newLocalComment(insAddress, (Function*)0x23); + comment->setText("#F<" + c.selectedText().toStdString() + ">"); + parent->block->getManager()->finishComment(comment); + }); } - QTextTable* table = c.currentTable(); if (NULL != table) { int row = table->cellAt(c).row(); QAction* globalComment = menu.addAction("Add global Comment"); -- 2.39.5