From 30511947728d3eafaab1a190731d61dd653bbb0c Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Thu, 16 Jun 2022 10:48:47 +0200 Subject: qtdiag: Fix missing output on Windows Streaming passwordMaskCharacter.unicode() (char16_t) in the non-ASCII branch caused weird effects on the terminal. Cast to int instead. Change-Id: Ifca5cc8c8d83bb98bfbd220405fd9f714b59a63e Reviewed-by: Shawn Rutledge (cherry picked from commit 51edc6fd26153718217a2266b5b1592a6bc7ee97) Reviewed-by: Qt Cherry-pick Bot --- src/qtdiag/qtdiag.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/qtdiag/qtdiag.cpp b/src/qtdiag/qtdiag.cpp index 8e5347c94..d1095494d 100644 --- a/src/qtdiag/qtdiag.cpp +++ b/src/qtdiag/qtdiag.cpp @@ -712,10 +712,13 @@ QString qtDiag(unsigned flags) << " showIsMaximized: " << styleHints->showIsMaximized() << '\n' << " passwordMaskDelay: " << styleHints->passwordMaskDelay() << '\n' << " passwordMaskCharacter: "; - if (passwordMaskCharacter.unicode() >= 32 && passwordMaskCharacter.unicode() < 128) + const int passwordMaskCharacterUc = passwordMaskCharacter.unicode(); + if (passwordMaskCharacterUc >= 32 && passwordMaskCharacterUc < 128) { str << '\'' << passwordMaskCharacter << '\''; - else - str << "U+" << qSetFieldWidth(4) << qSetPadChar('0') << Qt::uppercasedigits << Qt::hex << passwordMaskCharacter.unicode() << Qt::dec << qSetFieldWidth(0); + } else { + str << "U+" << qSetFieldWidth(4) << qSetPadChar('0') << Qt::uppercasedigits << Qt::hex + << passwordMaskCharacterUc << Qt::dec << qSetFieldWidth(0); + } str << '\n' << " fontSmoothingGamma: " << styleHints->fontSmoothingGamma() << '\n' << " useRtlExtensions: " << styleHints->useRtlExtensions() << '\n' -- cgit v1.2.3