Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Marco Bubke
flatpak-qt-creator
Commits
5956db6f
Commit
5956db6f
authored
Jul 07, 2010
by
hjk
Browse files
debugger: fix dumping of static qobject properties if no dynamic properties
exist
parent
608fcf31
Changes
1
Hide whitespace changes
Inline
Side-by-side
share/qtcreator/gdbmacros/gdbmacros.py
View file @
5956db6f
...
...
@@ -665,30 +665,31 @@ def qdump__QObject(d, item):
if
d
.
isExpandedIName
(
item
.
iname
+
".properties"
):
with
Children
(
d
,
[
propertyCount
,
500
]):
# Dynamic properties.
dummyType
=
lookupType
(
"void"
).
pointer
().
pointer
()
namesType
=
lookupType
(
d
.
ns
+
"QByteArray"
)
valuesBegin
=
values
[
"d"
][
"begin"
]
valuesEnd
=
values
[
"d"
][
"end"
]
valuesArray
=
values
[
"d"
][
"array"
]
valuesType
=
lookupType
(
d
.
ns
+
"QVariant"
)
p
=
namesArray
.
cast
(
dummyType
)
+
namesBegin
q
=
valuesArray
.
cast
(
dummyType
)
+
valuesBegin
for
i
in
xrange
(
dynamicPropertyCount
):
with
SubItem
(
d
):
pp
=
p
.
cast
(
namesType
.
pointer
()).
dereference
();
d
.
putField
(
"key"
,
encodeByteArray
(
pp
))
d
.
putField
(
"keyencoded"
,
Hex2EncodedLatin1
)
qq
=
q
.
cast
(
valuesType
.
pointer
().
pointer
())
qq
=
qq
.
dereference
();
d
.
putField
(
"addr"
,
cleanAddress
(
qq
))
d
.
putField
(
"exp"
,
"*('%sQVariant'*)%s"
%
(
d
.
ns
,
cleanAddress
(
qq
)))
name
=
"%s.properties.%d"
%
(
item
.
iname
,
i
)
t
=
qdump__QVariant
(
d
,
Item
(
qq
,
name
))
# Override the "QVariant (foo)" output
d
.
putType
(
t
,
d
.
currentTypePriority
+
1
)
p
+=
1
q
+=
1
if
dynamicPropertyCount
!=
0
:
dummyType
=
lookupType
(
"void"
).
pointer
().
pointer
()
namesType
=
lookupType
(
d
.
ns
+
"QByteArray"
)
valuesBegin
=
values
[
"d"
][
"begin"
]
valuesEnd
=
values
[
"d"
][
"end"
]
valuesArray
=
values
[
"d"
][
"array"
]
valuesType
=
lookupType
(
d
.
ns
+
"QVariant"
)
p
=
namesArray
.
cast
(
dummyType
)
+
namesBegin
q
=
valuesArray
.
cast
(
dummyType
)
+
valuesBegin
for
i
in
xrange
(
dynamicPropertyCount
):
with
SubItem
(
d
):
pp
=
p
.
cast
(
namesType
.
pointer
()).
dereference
();
d
.
putField
(
"key"
,
encodeByteArray
(
pp
))
d
.
putField
(
"keyencoded"
,
Hex2EncodedLatin1
)
qq
=
q
.
cast
(
valuesType
.
pointer
().
pointer
())
qq
=
qq
.
dereference
();
d
.
putField
(
"addr"
,
cleanAddress
(
qq
))
d
.
putField
(
"exp"
,
"*('%sQVariant'*)%s"
%
(
d
.
ns
,
cleanAddress
(
qq
)))
name
=
"%s.properties.%d"
%
(
item
.
iname
,
i
)
t
=
qdump__QVariant
(
d
,
Item
(
qq
,
name
))
# Override the "QVariant (foo)" output
d
.
putType
(
t
,
d
.
currentTypePriority
+
1
)
p
+=
1
q
+=
1
# Static properties.
propertyData
=
metaData
[
7
]
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment