diff options
author | hjk <qtc-committer@nokia.com> | 2010-08-18 13:51:49 +0200 |
---|---|---|
committer | hjk <qtc-committer@nokia.com> | 2010-08-18 13:51:49 +0200 |
commit | 69fb75b627d478796f95518a66353a543d588fe3 (patch) | |
tree | 3485784c8404919961dd9fd2d8887806491bfb81 | |
parent | 991aceb0fda59e7803dc9bfd3ae602a26f03d874 (diff) | |
download | qt-creator-69fb75b627d478796f95518a66353a543d588fe3.tar.gz |
debugger: fix 2.x regression: allow assignment to structure members
-rw-r--r-- | src/plugins/debugger/watchhandler.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/plugins/debugger/watchhandler.cpp b/src/plugins/debugger/watchhandler.cpp index b4cfd13f26..a4adf74e50 100644 --- a/src/plugins/debugger/watchhandler.cpp +++ b/src/plugins/debugger/watchhandler.cpp @@ -602,8 +602,21 @@ QVariant WatchModel::data(const QModelIndex &idx, int role) const break; } - case ExpressionRole: - return data.exp; + case ExpressionRole: { + if (!data.exp.isEmpty()) + return data.exp; + if (!data.addr.isEmpty() && !data.type.isEmpty()) { + bool ok; + const quint64 addr = data.addr.toULongLong(&ok, 16); + if (ok && addr) + return QString("*(%1*)%2").arg(data.type).arg(addr); + } + WatchItem *parent = item->parent; + if (parent && !parent->exp.isEmpty()) + return QString("(%1).%2") + .arg(QString::fromLatin1(parent->exp)).arg(data.name); + return QVariant(); + } case INameRole: return data.iname; |