summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Schulz <david.schulz@qt.io>2017-03-03 08:49:27 +0100
committerDavid Schulz <david.schulz@qt.io>2017-03-06 09:40:14 +0000
commit7c64799ae3deb2404cdd2e3c2d4708f547e17ec8 (patch)
tree88814a52f977c708103d696608f894ac9d71b985
parentbf210436eb7242a48253ca655816632fd50cb8f3 (diff)
downloadqt-creator-7c64799ae3deb2404cdd2e3c2d4708f547e17ec8.tar.gz
Debugger: Fix QDateTime dumper for pointer values
Change-Id: Idda3a7853e430e937ce6a99c9d4f0ab63403cb07 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
-rw-r--r--src/libs/qtcreatorcdbext/symbolgroupvalue.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/libs/qtcreatorcdbext/symbolgroupvalue.cpp b/src/libs/qtcreatorcdbext/symbolgroupvalue.cpp
index b993905ffe..9ae44713c0 100644
--- a/src/libs/qtcreatorcdbext/symbolgroupvalue.cpp
+++ b/src/libs/qtcreatorcdbext/symbolgroupvalue.cpp
@@ -2413,15 +2413,17 @@ static bool dumpQDateTime(const SymbolGroupValue &v, std::wostream &str, std::st
int status = 0;
int tiVersion = QtInfo::qtTypeInfoVersion(v.context());
if (tiVersion > 10) {
+ const ULONG64 address =
+ SymbolGroupValue::isPointerType(v.type()) ? v.pointerValue() : v.address();
const ULONG64 data = SymbolGroupValue::readUnsignedValue(
- v.context().dataspaces, v.address(), 8, 0);
+ v.context().dataspaces, address, 8, 0);
status = data & 0xFF;
ULONG64 timeZone = 0;
if (status & 0x01) {
msecs = data >> 8;
spec = (status & 0x30) >> 4;
} else {
- ULONG64 addr = SymbolGroupValue::readPointerValue(v.context().dataspaces, v.address());
+ ULONG64 addr = SymbolGroupValue::readPointerValue(v.context().dataspaces, address);
msecs = SymbolGroupValue::readSignedValue(v.context().dataspaces, addr, 8, 0);
addr += 8 /*int64*/;