summaryrefslogtreecommitdiffstats
path: root/src/widgets/widgets/qdockarealayout.cpp
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@qt.io>2023-06-20 21:51:30 +0200
committerMarc Mutz <marc.mutz@qt.io>2023-06-21 01:06:39 +0200
commit46aa713c34c7bc90f3981b3d723591149572203c (patch)
tree76bc2d1a475f7c7a0df1237a6162dc0bc7c05bd3 /src/widgets/widgets/qdockarealayout.cpp
parent83a156cd1139950dd333b3151d16a86ce19b06d2 (diff)
QDockAreaLayoutInfo: fix QDebug stream operator
The existing implementation as a member function QDALI::op<<(QDebug) cannot possibly work, as the implicit `this` argument comes first in this case, while for streaming operators, the QDebug object must come first. Rewrite as a hidden friend and apply QT_NO_DEBUG_STREAM protection as a drive-by. Amends faec937756810bbc478da677efb0dca4531a6222. Task-number: QTBUG-114542 Task-number: QTBUG-112491 Pick-to: 6.6 6.5 Change-Id: Ida400d335491896ec49f2c0f9601a8430eebcd4d Reviewed-by: Axel Spoerl <axel.spoerl@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'src/widgets/widgets/qdockarealayout.cpp')
-rw-r--r--src/widgets/widgets/qdockarealayout.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/widgets/widgets/qdockarealayout.cpp b/src/widgets/widgets/qdockarealayout.cpp
index 0dd4e16183..33162bad3b 100644
--- a/src/widgets/widgets/qdockarealayout.cpp
+++ b/src/widgets/widgets/qdockarealayout.cpp
@@ -171,20 +171,22 @@ QDockAreaLayoutItem
return *this;
}
-QDebug QDockAreaLayoutItem::operator<<(QDebug dbg)
+#ifndef QT_NO_DEBUG_STREAM
+QDebug operator<<(QDebug dbg, const QDockAreaLayoutItem &item)
{
QDebugStateSaver saver(dbg);
dbg.nospace();
- dbg << "QDockAreaLayoutItem(" << static_cast<void *>(this) << "->";
- if (widgetItem)
- dbg << "widgetItem(" << widgetItem->widget() << ")";
- else if (subinfo)
- dbg << "subInfo(" << subinfo << ")";
- else if (placeHolderItem)
- dbg << "placeHolderItem(" << placeHolderItem << ")";
+ dbg << "QDockAreaLayoutItem(" << static_cast<const void *>(&item) << "->";
+ if (item.widgetItem)
+ dbg << "widgetItem(" << item.widgetItem->widget() << ")";
+ else if (item.subinfo)
+ dbg << "subInfo(" << item.subinfo << ")";
+ else if (item.placeHolderItem)
+ dbg << "placeHolderItem(" << item.placeHolderItem << ")";
dbg << ")";
return dbg;
}
+#endif // QT_NO_DEBUG_STREAM
/******************************************************************************
** QDockAreaLayoutInfo