From ce2e8bd2fb3bbe4f12b960825b40565300001a64 Mon Sep 17 00:00:00 2001 From: hjk Date: Mon, 7 Dec 2020 09:56:53 +0100 Subject: [PATCH] Debugger: Adapt QJson dumper to Qt6 Task-number: QTCREATORBUG-24098 Change-Id: I0bdfca1389763582072fd774b6288b9a855cf8cf Reviewed-by: David Schulz --- share/qtcreator/debugger/qttypes.py | 26 ++++++++++++++++++-------- tests/auto/debugger/tst_dumpers.cpp | 2 +- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/share/qtcreator/debugger/qttypes.py b/share/qtcreator/debugger/qttypes.py index 1a8223aa265..b38f36a03b4 100644 --- a/share/qtcreator/debugger/qttypes.py +++ b/share/qtcreator/debugger/qttypes.py @@ -3160,21 +3160,31 @@ def qdump__QJsonValue(d, value): def qdump__QJsonArray(d, value): - if d.qtVersion() >= 0x050f00: + if d.qtVersion() >= 0x060000: + dptr = d.extractPointer(value) + if not dptr: + d.putItemCount(0) + else: + qdumpHelper_QCbor_array(d, dptr, False) + elif d.qtVersion() >= 0x050f00: _, container_ptr = value.split('pp') qdumpHelper_QCbor_array(d, container_ptr, False) - return - - qdumpHelper_QJsonArray(d, value['d'].pointer(), value['a'].pointer()) + else: + qdumpHelper_QJsonArray(d, value['d'].pointer(), value['a'].pointer()) def qdump__QJsonObject(d, value): - if d.qtVersion() >= 0x050f00: + if d.qtVersion() >= 0x060000: + dptr = d.extractPointer(value) + if not dptr: + d.putItemCount(0) + else: + qdumpHelper_QCbor_map(d, dptr, False) + elif d.qtVersion() >= 0x050f00: _, container_ptr = value.split('pp') qdumpHelper_QCbor_map(d, container_ptr, False) - return - - qdumpHelper_QJsonObject(d, value['d'].pointer(), value['o'].pointer()) + else: + qdumpHelper_QJsonObject(d, value['d'].pointer(), value['o'].pointer()) def qdump__QSqlResultPrivate(d, value): diff --git a/tests/auto/debugger/tst_dumpers.cpp b/tests/auto/debugger/tst_dumpers.cpp index 97ffe847a01..969c7a9df49 100644 --- a/tests/auto/debugger/tst_dumpers.cpp +++ b/tests/auto/debugger/tst_dumpers.cpp @@ -7597,7 +7597,7 @@ void tst_Dumpers::dumper_data() const QtVersion jsonv1{0, 0x50f00}; - const QtVersion jsonv2{0x50f00}; + const QtVersion jsonv2{0x50f00, 0x60000}; QTest::newRow("QJson") << Data("#include \n"