diff options
author | Eike Ziller <eike.ziller@digia.com> | 2013-10-18 10:52:53 +0200 |
---|---|---|
committer | hjk <hjk121@nokiamail.com> | 2013-10-22 10:47:21 +0200 |
commit | 515a958083a31eabd24c917516f86c06b5a6949d (patch) | |
tree | 30dd5a2c31473c4f3af4a6c16f0ea0463406509d | |
parent | fc52b304501af293accb8b72c3b0f8c5b445fb8d (diff) |
Fix Qt5 QUrl dumper
Change-Id: I5da72aebe30a3f7030b44566561fca25ce867c0a
Reviewed-by: hjk <hjk121@nokiamail.com>
-rw-r--r-- | share/qtcreator/debugger/gdbbridge.py | 6 | ||||
-rw-r--r-- | share/qtcreator/debugger/lldbbridge.py | 6 | ||||
-rw-r--r-- | share/qtcreator/debugger/qttypes.py | 31 |
3 files changed, 34 insertions, 9 deletions
diff --git a/share/qtcreator/debugger/gdbbridge.py b/share/qtcreator/debugger/gdbbridge.py index f8f74b3c71..1fc5021e05 100644 --- a/share/qtcreator/debugger/gdbbridge.py +++ b/share/qtcreator/debugger/gdbbridge.py @@ -1422,6 +1422,12 @@ class Dumper(DumperBase): self.putType("bool") self.putNumChild(0) + def putGenericItem(self, name, type, value, encoding = None): + with SubItem(self, name): + self.putValue(value, encoding) + self.putType(type) + self.putNumChild(0) + def currentItemFormat(self): format = self.formats.get(self.currentIName) if format is None: diff --git a/share/qtcreator/debugger/lldbbridge.py b/share/qtcreator/debugger/lldbbridge.py index 0105e426e2..913c71d48a 100644 --- a/share/qtcreator/debugger/lldbbridge.py +++ b/share/qtcreator/debugger/lldbbridge.py @@ -577,6 +577,12 @@ class Dumper(DumperBase): self.putType("bool") self.putNumChild(0) + def putGenericItem(self, name, type, value, encoding = None): + with SubItem(self, name): + self.putValue(value, encoding) + self.putType(type) + self.putNumChild(0) + def putNumChild(self, numchild): #warn("NUM CHILD: '%s' '%s'" % (numchild, self.currentChildNumChild)) #if numchild != self.currentChildNumChild: diff --git a/share/qtcreator/debugger/qttypes.py b/share/qtcreator/debugger/qttypes.py index 5370e358e9..cd525cfa10 100644 --- a/share/qtcreator/debugger/qttypes.py +++ b/share/qtcreator/debugger/qttypes.py @@ -1669,17 +1669,30 @@ def qdump__QUrl(d, value): # - QString query; # - QString fragment; schemeAddr = d.dereferenceValue(value) + 2 * d.intSize() - scheme = d.dereference(schemeAddr) - host = d.dereference(schemeAddr + 3 * d.ptrSize()) - path = d.dereference(schemeAddr + 4 * d.ptrSize()) - - str = d.encodeString(scheme) + scheme = d.encodeStringHelper(d.dereference(schemeAddr)) + userName = d.encodeStringHelper(d.dereference(schemeAddr + 1 * d.ptrSize())) + password = d.encodeStringHelper(d.dereference(schemeAddr + 2 * d.ptrSize())) + host = d.encodeStringHelper(d.dereference(schemeAddr + 3 * d.ptrSize())) + path = d.encodeStringHelper(d.dereference(schemeAddr + 4 * d.ptrSize())) + query = d.encodeStringHelper(d.dereference(schemeAddr + 5 * d.ptrSize())) + fragment = d.encodeStringHelper(d.dereference(schemeAddr + 6 * d.ptrSize())) + + str = scheme str += "3a002f002f00" - str += d.encodeString(host) - str += d.encodeString(path) + str += host + str += path d.putValue(str, Hex4EncodedLittleEndian) - d.putPlainChildren(value) - + d.putNumChild(8) + if d.isExpanded(): + with Children(d): + d.putIntItem("port", d.extractInt(d.dereferenceValue(value) + d.intSize())) + d.putGenericItem("scheme", "QString", scheme, Hex4EncodedLittleEndian) + d.putGenericItem("userName", "QString", userName, Hex4EncodedLittleEndian) + d.putGenericItem("password", "QString", password, Hex4EncodedLittleEndian) + d.putGenericItem("host", "QString", host, Hex4EncodedLittleEndian) + d.putGenericItem("path", "QString", path, Hex4EncodedLittleEndian) + d.putGenericItem("query", "QString", query, Hex4EncodedLittleEndian) + d.putGenericItem("fragment", "QString", fragment, Hex4EncodedLittleEndian) def qdumpHelper_QVariant_0(d, data): # QVariant::Invalid |