aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@digia.com>2013-10-18 10:52:53 +0200
committerhjk <hjk121@nokiamail.com>2013-10-22 10:47:21 +0200
commit515a958083a31eabd24c917516f86c06b5a6949d (patch)
tree30dd5a2c31473c4f3af4a6c16f0ea0463406509d
parentfc52b304501af293accb8b72c3b0f8c5b445fb8d (diff)
Fix Qt5 QUrl dumper
Change-Id: I5da72aebe30a3f7030b44566561fca25ce867c0a Reviewed-by: hjk <hjk121@nokiamail.com>
-rw-r--r--share/qtcreator/debugger/gdbbridge.py6
-rw-r--r--share/qtcreator/debugger/lldbbridge.py6
-rw-r--r--share/qtcreator/debugger/qttypes.py31
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