X-Git-Url: https://git.siccegge.de//index.cgi?a=blobdiff_plain;f=src%2Fgui%2Fwidgets%2FFunctionWidget.cxx;h=d717171755e0b223b171cde61f543d6594f64c33;hb=c81c0d3dba088b302187d7862a62ca88d2306e24;hp=20d586df6eff9aff69d1921fcd4334c8af937520;hpb=ae7b9847b80153121fbc1f87e4fdc1dd0e94f4cc;p=frida%2Ffrida.git diff --git a/src/gui/widgets/FunctionWidget.cxx b/src/gui/widgets/FunctionWidget.cxx index 20d586d..d717171 100644 --- a/src/gui/widgets/FunctionWidget.cxx +++ b/src/gui/widgets/FunctionWidget.cxx @@ -18,7 +18,7 @@ namespace { FunctionWidget::FunctionWidget(Function* function, Mainwindow* mainwindow) : function(function) , mainwindow(mainwindow) - , logger(log4cxx::Logger::getLogger("Mainwindow")) { + , logger(log4cxx::Logger::getLogger("gui.Mainwindow")) { // CFG CFGScene * scene = new CFGScene; @@ -41,6 +41,7 @@ FunctionWidget::FunctionWidget(Function* function, Mainwindow* mainwindow) manager, _blocks, scene, start_address, 100); QGraphicsView * view = new QGraphicsView(scene); + view->setDragMode(QGraphicsView::ScrollHandDrag); addTab(view, "CFG"); // Listing @@ -62,6 +63,7 @@ namespace { CFGScene * scene, uint64_t starty, uint64_t startx) { decltype(known_blocks.begin()) old; + if (!block) return NULL; if ((old = known_blocks.find(block->getStartAddress())) != known_blocks.end()) return old->second; @@ -77,18 +79,6 @@ namespace { widget->setFlag(QGraphicsItem::ItemIsMovable, true); widget->moveBy(100*startx, block->getStartAddress() - starty); - manager->getDisassembler() - ->printEachInstruction(block->getStartAddress(), - block->getEndAddress(), - [&](uint8_t* bytes, - size_t byte_count, - const std::string& line, - const std::string& ref) { - widget->addItem(bytes, byte_count, - line.c_str() + 1, // remove \t - ref.c_str()); - }); - BasicBlockWidget *tmp, *nextl(NULL), *nextr(NULL); BasicBlock * tmpblock; if (block->getNextBlock(0) != 0) {