diff --git a/src/plugins/debugger/watchhandler.h b/src/plugins/debugger/watchhandler.h index 9a4dad79a80a20be84682aba72272611de283e42..78f8ac98ea1b093c4939b1f540eb16ec5a287ef2 100644 --- a/src/plugins/debugger/watchhandler.h +++ b/src/plugins/debugger/watchhandler.h @@ -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 diff --git a/src/plugins/debugger/watchwindow.cpp b/src/plugins/debugger/watchwindow.cpp index 209944278a0021ea21e96c506f49676258b76686..c8e7b507a87e3d802e1dddb951cd43571091f862 100644 --- a/src/plugins/debugger/watchwindow.cpp +++ b/src/plugins/debugger/watchwindow.cpp @@ -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;