From 9893768461cde6a8df732bf1f0e001bd052390bb Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Wed, 1 Nov 2023 14:02:45 +0100 Subject: [PATCH] Debugger: Fix dumping std::unique_ptr on macOS Change-Id: If718201d0f32f1eb210bd0f786f62182225b94c8 Reviewed-by: Marcus Tillmanns --- share/qtcreator/debugger/libcpp_stdtypes.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/share/qtcreator/debugger/libcpp_stdtypes.py b/share/qtcreator/debugger/libcpp_stdtypes.py index 23b26f798e3..bce83a4fe68 100644 --- a/share/qtcreator/debugger/libcpp_stdtypes.py +++ b/share/qtcreator/debugger/libcpp_stdtypes.py @@ -404,7 +404,19 @@ def qdump__std____1__weak_ptr(d, value): def qdump__std____1__unique_ptr(d, value): - qdump__std__unique_ptr(d, value) + if value.type.size() == d.ptrSize(): + p = d.extractPointer(value) + else: + _, p = value.split("pp"); # For custom deleters. + if p == 0: + d.putValue("(null)") + else: + try: + d.putItem(value["__value_"]) + d.putValue(d.currentValue.value, d.currentValue.encoding) + except: + d.putItem(d.createValue(p, value.type[0])) + d.putBetterType(value.type) def qform__std____1__unordered_map():