forked from qt-creator/qt-creator
Debugger: Fixes around watch editing.
assignValueInDebugger: Pass on WatchData as well, pass on values as QVariant. Based on that, do more extensive checks in CDB, preventing assignment of non-PODs. Locals/Watch editing: * Disable while running * Edit pointer values as hex with validation. CDB: Strip class types off reported pointer values and reformat the values as short 0x-pointer values, introduce flag to WatchData::source to do dumper expansion handling. Windows: recognize int64 as int. Register handler: Fix accessing uninitialized value.
This commit is contained in:
@@ -488,8 +488,8 @@ void QmlEngine::setToolTipExpression(const QPoint &mousePos, TextEditor::ITextEd
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
void QmlEngine::assignValueInDebugger(const QString &expression,
|
||||
const QString &value)
|
||||
void QmlEngine::assignValueInDebugger(const Internal::WatchData *,
|
||||
const QString &expression, const QVariant &valueV)
|
||||
{
|
||||
QRegExp inObject("@([0-9a-fA-F]+)->(.+)");
|
||||
if (inObject.exactMatch(expression)) {
|
||||
@@ -500,7 +500,7 @@ void QmlEngine::assignValueInDebugger(const QString &expression,
|
||||
QByteArray reply;
|
||||
QDataStream rs(&reply, QIODevice::WriteOnly);
|
||||
rs << QByteArray("SET_PROPERTY");
|
||||
rs << expression.toUtf8() << objectId << property << value;
|
||||
rs << expression.toUtf8() << objectId << property << valueV.toString();
|
||||
sendMessage(reply);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user