Commit d004c9f0 authored by Josef Weidendorfer's avatar Josef Weidendorfer
Browse files

{Q,K}Cachegrind now compiles without Qt3Support !!

Bump KCachegrind version to 0.7kde

svn path=/trunk/KDE/kdesdk/kcachegrind/; revision=1255176
parent 03046517
......@@ -17,10 +17,7 @@ if ("${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_SOURCE_DIR}")
include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${KDE4_INCLUDES} )
endif ("${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_SOURCE_DIR}")
# TODO port away from QT3_SUPPORT
add_definitions(-DQT3_SUPPORT)
set( KCACHEGRIND_VERSION "0.6kde")
set( KCACHEGRIND_VERSION "0.7kde")
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/version.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/version.h )
......
2004/06/30
* Leak fixes
* Crash fixes on reload (make setData() synchroneous)
* Some update fixes in the data model (tracedata.cpp)
* Fix update problems in Function Profile
* Reselect active function on refresh in function profile
with grouping on
2004/04/28
* toplevel.h/cpp, kcachegrindui.rc
- Switching Layouts
* multiview.cpp: Removed some qDebug's
* Same term fixes
2004/04/26
* cachegrindloader.cpp, fixcost.cpp:
- Allow Ranges in Subposition Spec, currently not used
- Correctly parse "Desc: Trigger:"
- Allow Event Spec (Long Name, Formula) with "event:"
* listutils.cpp:
- make level meters for costs only 1 bar
(2 with upper from 0..50%, lower 50%..100% is really confusing)
- Besides from Call graph and Tree maps, truncate bars to
only use needed size (removes lots of empty rectangles)
* CallGraphView:
- some fixes when no data is loaded
* functionselection.cpp (Function Profile)
- activation on mouse release to allow for context menu
* tracedata.cpp
- more robust parsing of events lists
- Introduction of Ranges (not currently used)
* utils.cpp:
- more robust parsing functions
2004/04/05
* CallGraphView:
- Add Context menu item "Export as Image"
- Hide Birdseye-View if call-graph fits into widget
- Error messages in Canvas when something goes wrong
* Some Fixes, qDebug->kdDebug
2004/04/02
* In most views columns for 2nd Event Type added
* Context menus modified to allow quick change of 2nd Event Type
* Toolbar simplified (only most used actions)
* Terminology fixes ("cost type"->"event type",
"trace data"->"profile data", long names of Ir,Dr,...)
* Sorting costs in lists is always descending now
* New File menu item: "Add..." other profile data to current window
* Detect Cachegrind format by "events:" content, not file name
Allows for arbitrary names of profile data files.
2004/03/25
* New Class Addr as wrapper for memory addresses. Use 64bit
to allow loading of data produced on 64bit architectures
2004/03/17
* costtypeview.cpp, tracedata.h/cpp:
Fixed deletion of custom types
* cachegrindloader.cpp, tracedata.h/cpp:
Moved String compression handling in Cachegrind files
to CachegrindLoader
* Do not show inclusive cost column in FunctionSelection
side bar if not available
* Remove "isPartOfTrace" from Loader interface
(we allow parts from multiple experiments for comp.)
* partview.cpp, partlistitem.h/cpp:
Remove Column Callees, add Trigger
2003/05/10
* Status progress on loading and cycle calculation
* Corrected order of trace parts (PID/PartNo/ThreadID)
* Allow adding traces (BUGGY...)
2003/02/06
* Version 0.3a
* Bugfixes:
- Compiles with KDE 3.0.x
- Always select a first cost type
- Loading from another directory
2002/11/28
* Version 0.3
2011/9/23
* Compiles without Qt3 support
* Bump KCachegrind version to 0.7kde
......@@ -116,15 +116,15 @@ ConfigDlg::ConfigDlg(GlobalGUIConfig* c, TraceData* data,
QString n = cs->_name;
if (n.startsWith(objectPrefix)) {
n = n.remove(0, objectPrefix.length()+1);
if (oList.findIndex(n) == -1) oList.append(n);
if (oList.indexOf(n) == -1) oList.append(n);
}
else if (n.startsWith(classPrefix)) {
n = n.remove(0, classPrefix.length()+1);
if (cList.findIndex(n) == -1) cList.append(n);
if (cList.indexOf(n) == -1) cList.append(n);
}
else if (n.startsWith(filePrefix)) {
n = n.remove(0, filePrefix.length()+1);
if (fList.findIndex(n) == -1) fList.append(n);
if (fList.indexOf(n) == -1) fList.append(n);
}
}
......@@ -364,7 +364,7 @@ void ConfigDlg::dirsAddPressed()
if (newDir.endsWith(QLatin1Char('/')))
newDir = newDir.left(newDir.length()-1);
if (dirs->findIndex(newDir)>=0) return;
if (dirs->indexOf(newDir)>=0) return;
dirs->append(newDir);
if (newDir.isEmpty()) newDir = QDir::rootPath();
......
......@@ -41,7 +41,7 @@ int main( int argc, char ** argv )
KCACHEGRIND_VERSION,
ki18n("KDE Frontend for Callgrind/Cachegrind"),
KAboutData::License_GPL,
ki18n("(C) 2002 - 2010"), KLocalizedString(),
ki18n("(C) 2002 - 2011"), KLocalizedString(),
"http://kcachegrind.sf.net");
aboutData.addAuthor(ki18n("Josef Weidendorfer"),
ki18n("Author/Maintainer"),
......
......@@ -1812,7 +1812,7 @@ void TopLevel::updateLayoutActions()
ka = actionCollection()->action("layout_remove");
if (ka) ka->setEnabled(_layoutCount>1);
_statusbar->message(i18n("Layout Count: %1", _layoutCount), 1000);
_statusbar->showMessage(i18n("Layout Count: %1", _layoutCount), 1000);
}
......@@ -2214,7 +2214,7 @@ void TopLevel::upTriggered(QAction* action)
void TopLevel::showMessage(const QString& msg, int ms)
{
if (_statusbar)
_statusbar->message(msg, ms);
_statusbar->showMessage(msg, ms);
}
void TopLevel::showStatus(const QString& msg, int progress)
......@@ -2230,7 +2230,7 @@ void TopLevel::showStatus(const QString& msg, int progress)
delete _progressBar;
_progressBar = 0;
}
_statusbar->clear();
_statusbar->clearMessage();
_progressMsg = msg;
return;
}
......@@ -2250,7 +2250,7 @@ void TopLevel::showStatus(const QString& msg, int progress)
if (!_progressBar) {
_progressBar = new QProgressBar(_statusbar);
_progressBar->setMaximumSize(200, _statusbar->height()-4);
_statusbar->addWidget(_progressBar, 1, true);
_statusbar->addPermanentWidget(_progressBar, 1);
_progressBar->show();
msgUpdateNeeded = true;
}
......@@ -2258,7 +2258,7 @@ void TopLevel::showStatus(const QString& msg, int progress)
_progressStart.restart();
if (msgUpdateNeeded) {
_statusbar->message(msg);
_statusbar->showMessage(msg);
msgUpdateNeeded = false;
}
_progressBar->setValue(progress);
......
......@@ -1122,14 +1122,14 @@ int CachegrindLoader::loadInternal(TraceData* data,
#if TRACE_LOADER
qDebug() << _filename << ":" << _lineNo;
qDebug() << " currentInstr "
<< (currentInstr ? currentInstr->toString().ascii() : ".");
<< (currentInstr ? qPrintable(currentInstr->toString()) : ".");
qDebug() << " currentLine "
<< (currentLine ? currentLine->toString().ascii() : ".")
<< (currentLine ? qPrintable(currentLine->toString()) : ".")
<< "( file " << currentFile->name() << ")";
qDebug() << " currentFunction "
<< currentFunction->prettyName().ascii();
<< qPrintable(currentFunction->prettyName());
qDebug() << " currentCalled "
<< (currentCalledFunction ? currentCalledFunction->prettyName().ascii() : ".");
<< (currentCalledFunction ? qPrintable(currentCalledFunction->prettyName()) : ".");
#endif
// create cost item
......
......@@ -111,7 +111,7 @@ void Coverage::addCallerCoverage(TraceFunctionList& fList,
if (_active) {
#ifdef DEBUG_COVERAGE
qDebug("CallerCov: D %d, %s (was active, incl %f, self %f): newP %f", d,
_function->prettyName().ascii(), _incl, _self, pBack);
qPrintable(_function->prettyName()), _incl, _self, pBack);
#endif
_inRecursion = true;
}
......@@ -134,7 +134,7 @@ void Coverage::addCallerCoverage(TraceFunctionList& fList,
#ifdef DEBUG_COVERAGE
qDebug("CallerCov: D %d, %s (now active, new incl %f): newP %f",
d, _function->prettyName().ascii(), _incl, pBack);
d, qPrintable(_function->prettyName()), _incl, pBack);
#endif
}
......@@ -208,7 +208,7 @@ void Coverage::addCallingCoverage(TraceFunctionList& fList,
#ifdef DEBUG_COVERAGE
qDebug("CngCov:%s - %s (incl %f, self %f): forward %f, back %f",
spaces+strlen(spaces)-d,
_function->prettyName().ascii(), _incl, _self, pForward, pBack);
qPrintable(_function->prettyName()), _incl, _self, pForward, pBack);
#endif
......@@ -218,7 +218,7 @@ void Coverage::addCallingCoverage(TraceFunctionList& fList,
#ifdef DEBUG_COVERAGE
qDebug("CngCov:%s < %s: STOP (is active)",
spaces+strlen(spaces)-d,
_function->prettyName().ascii());
qPrintable(_function->prettyName()));
#endif
}
......@@ -245,7 +245,7 @@ void Coverage::addCallingCoverage(TraceFunctionList& fList,
#ifdef DEBUG_COVERAGE
qDebug("CngCov:%s < %s (incl %f, self %f)",
spaces+strlen(spaces)-d,
_function->prettyName().ascii(), _incl, _self);
qPrintable(_function->prettyName()), _incl, _self);
#endif
}
......@@ -282,7 +282,7 @@ void Coverage::addCallingCoverage(TraceFunctionList& fList,
#ifdef DEBUG_COVERAGE
qDebug("CngCov:%s > %s: forward %f, back %f, calls %f -> %f, now %f",
spaces+strlen(spaces)-d,
calling->prettyName().ascii(),
qPrintable(calling->prettyName()),
pForwardNew, pBackNew,
(double)call->callCount(),
pBack * call->callCount(),
......
......@@ -78,8 +78,8 @@ FixCallCost::FixCallCost(TracePart* part, FixPool* pool,
SubCost callCount, FixString& s)
{
if (0) qDebug("Got FixCallCost (addr 0x%s, line %d): calls %s",
addr.toString().toAscii().constData(), line,
callCount.pretty().toAscii().constData());
qPrintable(addr.toString()), line,
qPrintable(callCount.pretty()));
int maxCount = part->eventTypeMapping()->count();
......@@ -123,8 +123,8 @@ void FixCallCost::addTo(TraceCallCost* c)
c->addCallCount(_cost[_count]);
if (0) qDebug("Adding from (addr 0x%s, ln %d): calls %s",
_addr.toString().toAscii().constData(), _line,
_cost[_count].pretty().toAscii().constData());
qPrintable(_addr.toString()), _line,
qPrintable(_cost[_count].pretty()));
}
void FixCallCost::setMax(ProfileCostArray* c)
......
......@@ -255,16 +255,16 @@ HistoryItem::HistoryItem(Stack* stack, TraceFunction* function)
/*
qDebug("New Stack History Item (sRef %d): %s\n %s",
_stack->refCount(), _function->name().ascii(),
_stack->toString().ascii());
_stack->refCount(), qPrintable(_function->name()),
qPrintable(_stack->toString()));
*/
}
HistoryItem::~HistoryItem()
{
if (0) qDebug("Deleting Stack History Item (sRef %d): %s",
_stack->refCount(),
_function->name().toAscii().constData());
_stack->refCount(),
qPrintable(_function->name()));
if (_last)
_last->_next = _next;
......@@ -320,7 +320,7 @@ HistoryItem* StackBrowser::select(TraceFunction* f)
_current->setLast(item);
}
// qDebug("Selected %s in StackBrowser", f->name().ascii());
// qDebug("Selected %s in StackBrowser", qPrintable(f->name()));
return _current;
}
......
......@@ -778,7 +778,7 @@ void TracePartFunction::update()
#if TRACE_DEBUG
qDebug("TracePartFunction::update %s (Callers %d, Callings %d, lines %d)",
name().toAscii().constData(), _partCallers.count(), _partCallings.count(),
qPrintable(name()), _partCallers.count(), _partCallings.count(),
_partLines.count());
#endif
......@@ -1457,7 +1457,7 @@ void TraceLine::addLineCall(TraceLineCall* lineCall)
qDebug("ERROR: Adding line call, line %d\n of %s to\n %s ?!",
lineCall->line()->lineno(),
caller->info().toAscii().constData(), function->info().toAscii().constData());
qPrintable(caller->info()), qPrintable(function->info()));
}
}
......@@ -1637,7 +1637,8 @@ TraceLineMap* TraceFunctionSource::lineMap()
TracePartFunction* pf = (TracePartFunction*) ic;
if (0) qDebug("PartFunction %s:%d",
pf->function()->name().toAscii().constData(), pf->part()->partNumber());
qPrintable(pf->function()->name()),
pf->part()->partNumber());
FixCost* fc = pf->firstFixCost();
for(; fc; fc = fc->nextCostOfPartFunction()) {
......@@ -1692,7 +1693,7 @@ TraceLineMap* TraceFunctionSource::lineMap()
foreach(TracePartCall* pc, pf->partCallings()) {
if (0) qDebug("PartCall %s:%d",
pc->call()->name().toAscii().constData(),
qPrintable(pc->call()->name()),
pf->part()->partNumber());
FixCallCost* fcc = pc->firstFixCallCost();
......@@ -1716,9 +1717,9 @@ TraceLineMap* TraceFunctionSource::lineMap()
fcc->addTo(plc);
if (0) qDebug("Add FixCallCost %s:%d/0x%s, CallCount %s",
fcc->functionSource()->file()->shortName().toAscii().constData(),
fcc->line(), fcc->addr().toString().toAscii().constData(),
fcc->callCount().pretty().toAscii().constData());
qPrintable(fcc->functionSource()->file()->shortName()),
fcc->line(), qPrintable(fcc->addr().toString()),
qPrintable(fcc->callCount().pretty()));
}
}
}
......@@ -2184,7 +2185,7 @@ TraceFunctionSource* TraceFunction::sourceFile(TraceFile* file,
#if TRACE_DEBUG
qDebug("Created SourceFile %s [TraceFunction::line]",
file->name().toAscii().constData());
qPrintable(file->name()));
#endif
file->addSourceFile(sourceFile);
return sourceFile;
......@@ -2327,7 +2328,7 @@ void TraceFunction::update()
#if TRACE_DEBUG
qDebug("Update %s (Callers %d, sourceFiles %d, instrs %d)",
_name.toAscii().constData(), _callers.count(),
qPrintable(_name), _callers.count(),
_sourceFiles.count(), _instrMap ? _instrMap->count():0);
#endif
......@@ -2446,12 +2447,13 @@ void TraceFunction::cycleDFS(int d, int& pNo, TraceFunction** pTop)
if (0) {
qDebug("%s (%d) Visiting %s",
QString().fill(' ', d).toAscii().constData(), pNo, prettyName().toAscii().constData());
qPrintable(QString().fill(' ', d)),
pNo, qPrintable(prettyName()));
qDebug("%s Cum. %s, Max Caller %s, cut limit %s",
QString().fill(' ', d).toAscii().constData(),
inclusive()->subCost(0).pretty().toAscii().constData(),
base.pretty().toAscii().constData(),
cutLimit.pretty().toAscii().constData());
qPrintable(QString().fill(' ', d)),
qPrintable(inclusive()->subCost(0).pretty()),
qPrintable(base.pretty()),
qPrintable(cutLimit.pretty()));
}
foreach(TraceCall *callee, _callings) {
......@@ -2460,9 +2462,9 @@ void TraceFunction::cycleDFS(int d, int& pNo, TraceFunction** pTop)
// cycle cut heuristic
if (callee->subCost(0) < cutLimit) {
if (0) qDebug("%s Cut call to %s (cum. %s)",
QString().fill(' ', d).toAscii().constData(),
called->prettyName().toAscii().constData(),
callee->subCost(0).pretty().toAscii().constData());
qPrintable(QString().fill(' ', d)),
qPrintable(called->prettyName()),
qPrintable(callee->subCost(0).pretty()));
continue;
}
......@@ -2479,8 +2481,8 @@ void TraceFunction::cycleDFS(int d, int& pNo, TraceFunction** pTop)
_cycleLow = called->_cycleLow;
if (0) qDebug("%s (low %d) Back to %s",
QString().fill(' ', d).toAscii().constData(),
_cycleLow, called->prettyName().toAscii().constData());
qPrintable(QString().fill(' ', d)),
_cycleLow, qPrintable(called->prettyName()));
}
}
......@@ -2496,7 +2498,7 @@ void TraceFunction::cycleDFS(int d, int& pNo, TraceFunction** pTop)
TraceFunctionCycle* cycle = data()->functionCycle(this);
if (0) qDebug("Found Cycle %d with base %s:",
cycle->cycleNo(), prettyName().toAscii().constData());
cycle->cycleNo(), qPrintable(prettyName()));
while(*pTop) {
TraceFunction* top = *pTop;
cycle->add(top);
......@@ -2505,7 +2507,7 @@ void TraceFunction::cycleDFS(int d, int& pNo, TraceFunction** pTop)
*pTop = top->_cycleStackDown;
top->_cycleStackDown = 0;
if (0) qDebug(" %s", top->prettyName().toAscii().constData());
if (0) qDebug(" %s", qPrintable(top->prettyName()));
if (top == this) break;
}
}
......@@ -2532,7 +2534,8 @@ TraceInstrMap* TraceFunction::instrMap()
TracePartFunction* pf = (TracePartFunction*) icost;
if (0) qDebug("PartFunction %s:%d",
pf->function()->name().toAscii().constData(), pf->part()->partNumber());
qPrintable(pf->function()->name()),
pf->part()->partNumber());
FixCost* fc = pf->firstFixCost();
for(; fc; fc = fc->nextCostOfPartFunction()) {
......@@ -2587,7 +2590,7 @@ TraceInstrMap* TraceFunction::instrMap()
foreach(TracePartCall* pc, pf->partCallings()) {
if (0) qDebug("PartCall %s:%d",
pc->call()->name().toAscii().constData(),
qPrintable(pc->call()->name()),
pf->part()->partNumber());
FixCallCost* fcc = pc->firstFixCallCost();
......@@ -2615,9 +2618,9 @@ TraceInstrMap* TraceFunction::instrMap()
fcc->addTo(pic);
if (0) qDebug("Add FixCallCost %s:%d/0x%s, CallCount %s",
fcc->functionSource()->file()->shortName().toAscii().constData(),
fcc->line(), fcc->addr().toString().toAscii().constData(),
fcc->callCount().pretty().toAscii().constData());
qPrintable(fcc->functionSource()->file()->shortName()),
fcc->line(), qPrintable(fcc->addr().toString()),
qPrintable(fcc->callCount().pretty()));
}
}
}
......
......@@ -231,7 +231,7 @@ TraceCall* GraphNode::visibleCaller()
{
if (0)
qDebug("GraphNode::visibleCaller %s: last %d, count %d",
_f->prettyName().ascii(), _lastCallerIndex, callers.count());
qPrintable(_f->prettyName()), _lastCallerIndex, callers.count());
// can not use at(): index can be -1 (out of bounds), result is 0 then
GraphEdge* e = callers.value(_lastCallerIndex);
......@@ -257,7 +257,7 @@ TraceCall* GraphNode::visibleCallee()
{
if (0)
qDebug("GraphNode::visibleCallee %s: last %d, count %d",
_f->prettyName().ascii(), _lastCalleeIndex, callees.count());
qPrintable(_f->prettyName()), _lastCalleeIndex, callees.count());
GraphEdge* e = callees.value(_lastCalleeIndex);
if (e && !e->isVisible())
......@@ -749,7 +749,7 @@ void GraphExporter::writeDot(QIODevice* device)
QMap<TraceCostItem*,QList<GraphNode*> >::Iterator lit;
int cluster = 0;
for (lit = nLists.begin(); lit != nLists.end(); ++lit, cluster++) {
QList<GraphNode*>& l = lit.data();
QList<GraphNode*>& l = lit.value();
TraceCostItem* i = lit.key();
if (_go->clusterGroups() && i) {
......@@ -1033,7 +1033,8 @@ void GraphExporter::buildGraph(TraceFunction* f, int d, bool toCallees,
e.cost += cost;
e.count += count;
if (0)
qDebug(" Edge to %s, added cost %f, now %f", f2->prettyName().ascii(), cost, e.cost);
qDebug(" Edge to %s, added cost %f, now %f",
qPrintable(f2->prettyName()), cost, e.cost);
// if this call goes into a FunctionCycle, we also show the real call
if (f2->cycle() == f2) {
......@@ -1726,7 +1727,7 @@ void CallGraphView::keyPressEvent(QKeyEvent* e)
}
// move selected node/edge
if (!(e->state() & (Qt::ShiftModifier | Qt::ControlModifier))
if (!(e->modifiers() & (Qt::ShiftModifier | Qt::ControlModifier))
&&(_selectedNode || _selectedEdge)&&((e->key() == Qt::Key_Up)
||(e->key() == Qt::Key_Down)||(e->key() == Qt::Key_Left)||(e->key()
== Qt::Key_Right))) {
......@@ -1996,7 +1997,8 @@ void CallGraphView::stopRendering()
_renderProcess = 0;
_unparsedOutput = QString();
_renderTimer.start(200, true);
_renderTimer.setSingleShot(true);
_renderTimer.start(200);
}
void CallGraphView::refresh()
......@@ -2078,7 +2080,7 @@ void CallGraphView::refresh()
_renderProcessCmdLine = renderProgram + " " + renderArgs.join(" ");
qDebug("CallGraphView::refresh: Started process %p, '%s'",
_renderProcess, _renderProcessCmdLine.ascii());
_renderProcess, qPrintable(_renderProcessCmdLine));
// layouting of more than seconds is dubious
_renderTimer.setSingleShot(true);
......@@ -2176,8 +2178,8 @@ void CallGraphView::dotExited()
if (0)
qDebug("%s:%d - line '%s', cmd '%s'",
_exporter.filename().ascii(),
lineno, line.ascii(), cmd.ascii());
qPrintable(_exporter.filename()),
lineno, qPrintable(line), qPrintable(cmd));
if (cmd == "stop")
break;
......@@ -2210,7 +2212,7 @@ void CallGraphView::dotExited()
_scene->setBackgroundBrush(Qt::white);
#if DEBUG_GRAPH
qDebug() << _exporter.filename().ascii() << ":" << lineno
qDebug() << qPrintable(_exporter.filename()) << ":" << lineno
<< " - graph (" << dotWidth << " x " << dotHeight
<< ") => (" << w << " x " << h << ")";
#endif
......@@ -2273,7 +2275,8 @@ void CallGraphView::dotExited()
}
if (!n) {
qDebug("Warning: Unknown function '%s' ?!", nodeName.ascii());
qDebug("Warning: Unknown function '%s' ?!",
qPrintable(nodeName));
continue;
}
n->setVisible(true);
......@@ -2341,7 +2344,7 @@ void CallGraphView::dotExited()
}
if (i < points) {
qDebug("CallGraphView: Can not read %d spline points (%s:%d)",
points, _exporter.filename().ascii(), lineno);
points, qPrintable(_exporter.filename()), lineno);
continue;
}
......@@ -2453,8 +2456,8 @@ void CallGraphView::dotExited()
int yy = (int)(scaleY * (dotHeight - y)+ _yMargin);
if (0)
qDebug(" Label '%s': ( %f / %f ) => ( %d / %d)", label.ascii(),
x, y, xx, yy);
qDebug(" Label '%s': ( %f / %f ) => ( %d / %d)",
qPrintable(label), x, y, xx, yy);
// Fixed Dimensions for Label: 100 x 40
int w = 100;
......@@ -2596,7 +2599,8 @@ void CallGraphView::mousePressEvent(QMouseEvent* e)
if (i->type() == CANVAS_NODE) {
GraphNode* n = ((CanvasNode*)i)->node();
if (0)
qDebug("CallGraphView: Got Node '%s'", n->function()->prettyName().ascii());
qDebug("CallGraphView: Got Node '%s'",
qPrintable(n->function()->prettyName()));
selected(n->function());
}
......@@ -2610,7 +2614,8 @@ void CallGraphView::mousePressEvent(QMouseEvent* e)
if (i->type() == CANVAS_EDGE) {
GraphEdge* e = ((CanvasEdge*)i)->edge();
if (0)
qDebug("CallGraphView: Got Edge '%s'", e->prettyName().ascii());
qDebug("CallGraphView: Got Edge '%s'",
qPrintable(e->prettyName()));
if (e->call())
selected(e->call());
......@@ -2649,7 +2654,8 @@ void CallGraphView::mouseDoubleClickEvent(QMouseEvent* e)
if (i->type() == CANVAS_NODE) {
GraphNode* n = ((CanvasNode*)i)->node();
if (0)
qDebug("CallGraphView: Double Clicked on Node '%s'", n->function()->prettyName().ascii());
qDebug("CallGraphView: Double Clicked on Node '%s'",
qPrintable(n->function()->prettyName()));
activated(n->function());
}
......@@ -2664,7 +2670,8 @@ void CallGraphView::mouseDoubleClickEvent(QMouseEvent* e)
GraphEdge* e = ((CanvasEdge*)i)->edge();
if (e->call()) {
if (0)
qDebug("CallGraphView: Double Clicked On Edge '%s'"