debugger: Open memory editor at pointee address, not at pointer address

This commit is contained in:
hjk
2010-05-19 15:36:23 +02:00
parent 5da667b4a1
commit 07b118197a
2 changed files with 7 additions and 3 deletions

View File

@@ -61,7 +61,7 @@ enum WatchRoles
TypeFormatListRole,
TypeFormatRole, // Used to communicate alternative formats to the view.
IndividualFormatRole,
AddressRole, // Some memory address related to the object.
AddressRole, // Address of the object.
};
enum IntegerFormat

View File

@@ -37,6 +37,7 @@
#include "debuggerdialogs.h"
#include "debuggermanager.h"
#include "idebuggerengine.h"
#include "watchutils.h"
#include <utils/qtcassert.h>
#include <utils/savedaction.h>
@@ -299,9 +300,12 @@ void WatchWindow::contextMenuEvent(QContextMenuEvent *ev)
const bool canShowMemory = engineCapabilities & ShowMemoryCapability;
actWatchUnknownMemory->setEnabled(actionsEnabled && canShowMemory);
if (canShowMemory && !address.isEmpty())
QString editAddress = address;
if (isPointerType(type))
editAddress = model()->data(mi1).toString();
if (canShowMemory && !editAddress.isEmpty())
actWatchKnownMemory =
new QAction(tr("Open Memory Editor at %1").arg(address), &menu);
new QAction(tr("Open Memory Editor at %1").arg(editAddress), &menu);
menu.addSeparator();
QAction *actSetWatchpoint = 0;