From 979e2c299c8b43f8d939015d7413fbbce9fe400d Mon Sep 17 00:00:00 2001 From: hjk <qtc-committer@nokia.com> Date: Thu, 1 Jul 2010 09:44:18 +0200 Subject: [PATCH] debugger: improve QRegion dumper Don't use inferior calls anymore. --- share/qtcreator/gdbmacros/gdbmacros.py | 16 +++++++++++----- tests/manual/gdbdebugger/simple/app.cpp | 3 +++ 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/share/qtcreator/gdbmacros/gdbmacros.py b/share/qtcreator/gdbmacros/gdbmacros.py index 9795251c9ed..4ff2a806396 100644 --- a/share/qtcreator/gdbmacros/gdbmacros.py +++ b/share/qtcreator/gdbmacros/gdbmacros.py @@ -1378,11 +1378,17 @@ def qdump__QRectF(d, item): def qdump__QRegion(d, item): - d.putValue(" ") - d.putNumChild(1) - if d.isExpanded(item): - with Children(d): - d.putCallItem("rects", item, "rects()") + p = item.value["d"].dereference()["qt_rgn"] + if isNull(p): + d.putValue("<empty>") + d.putNumChild(0) + else: + n = str(p.dereference()["numRects"]) + d.putItemCount(n) + d.putNumChild(n) + if d.isExpanded(item): + with Children(d): + d.putFields(Item(p.dereference(), item.iname)) # qt_rgn might be 0 # gdb.parse_and_eval("region")["d"].dereference()["qt_rgn"].dereference() diff --git a/tests/manual/gdbdebugger/simple/app.cpp b/tests/manual/gdbdebugger/simple/app.cpp index b71114418ec..3842c31d464 100644 --- a/tests/manual/gdbdebugger/simple/app.cpp +++ b/tests/manual/gdbdebugger/simple/app.cpp @@ -810,6 +810,9 @@ void testQRegion() region += QRect(100, 100, 200, 200); region += QRect(300, 300, 400, 500); region += QRect(500, 500, 600, 600); + region += QRect(500, 500, 600, 600); + region += QRect(500, 500, 600, 600); + region += QRect(500, 500, 600, 600); } -- GitLab