From 7d8c3d585d3d6036628bde809cc8a76b4100fae1 Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 18 Aug 2010 13:51:49 +0200 Subject: debugger: fix 2.x regression: allow assignment to structure members (cherry picked from commit 69fb75b627d478796f95518a66353a543d588fe3) --- src/plugins/debugger/watchhandler.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/plugins/debugger/watchhandler.cpp b/src/plugins/debugger/watchhandler.cpp index b4cfd13f26e..a4adf74e506 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; -- cgit v1.2.3