diff options
-rw-r--r-- | share/qtcreator/dumper/qttypes.py | 11 | ||||
-rw-r--r-- | tests/manual/debugger/simple/simple_test_app.cpp | 4 |
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. |