summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--share/qtcreator/dumper/qttypes.py11
-rw-r--r--tests/manual/debugger/simple/simple_test_app.cpp4
2 files changed, 10 insertions, 5 deletions
diff --git a/share/qtcreator/dumper/qttypes.py b/share/qtcreator/dumper/qttypes.py
index e995cae116..2f905b6895 100644
--- a/share/qtcreator/dumper/qttypes.py
+++ b/share/qtcreator/dumper/qttypes.py
@@ -882,22 +882,27 @@ def qdump__QObject(d, value):
d.putItemCount(connectionListCount, 0)
d.putNumChild(connectionListCount)
if d.isExpanded():
+ pp = 0
with Children(d):
vectorType = connections.type.target().fields()[0].type
innerType = templateArgument(vectorType, 0)
# Should check: innerType == ns::QObjectPrivate::ConnectionList
p = gdb.Value(connections["p"]["array"]).cast(innerType.pointer())
- pp = 0
for i in xrange(connectionListCount):
first = p.dereference()["first"]
while not isNull(first):
- d.putSubItem(i, first.dereference())
- first = first["next"]
+ with SubItem(d, pp):
+ connection = first.dereference()
+ d.putItem(connection)
+ d.putValue(connection["callFunction"])
+ first = first["nextConnectionList"]
# We need to enforce some upper limit.
pp += 1
if pp > 1000:
break
p += 1
+ if pp < 1000:
+ d.putItemCount(pp)
# Signals.
diff --git a/tests/manual/debugger/simple/simple_test_app.cpp b/tests/manual/debugger/simple/simple_test_app.cpp
index 1e6531ec99..efe18f6f20 100644
--- a/tests/manual/debugger/simple/simple_test_app.cpp
+++ b/tests/manual/debugger/simple/simple_test_app.cpp
@@ -917,8 +917,8 @@ namespace qobject {
parent.setObjectName("A Parent");
QObject child(&parent);
child.setObjectName("A Child");
- QObject::connect(&child, SIGNAL(destroyed()), qApp, SLOT(quit()));
- QObject::disconnect(&child, SIGNAL(destroyed()), qApp, SLOT(quit()));
+ QObject::connect(&child, SIGNAL(destroyed()), &parent, SLOT(deleteLater()));
+ QObject::disconnect(&child, SIGNAL(destroyed()), &parent, SLOT(deleteLater()));
child.setObjectName("A renamed Child");
BREAK_HERE;
// Expand all.