QBrush: port from array of char[24] to qOffsetStringArray()
QOffsetStringArray has a more compact representation and silences warnings from GCC 12 builds with asan and ubsan sanitizers enabled: qbrush.cpp: In function ‘QDebug operator<<(QDebug, const QBrush&)’: qbrush.cpp:978:77: error: array subscript [0, 31] is outside array bounds of ‘const char [25][24]’ [-Werror=array-bounds] 978 | dbg.nospace() << "QBrush(" << b.color() << ',' << BRUSH_STYLES[b.style()] << ')'; | ~~~~~~~~~~~~~~~~~~~~~~^ qbrush.cpp:954:23: note: while referencing ‘BRUSH_STYLES’ 954 | static const char BRUSH_STYLES[][24] = { | ^~~~~~~~~~~~ cc1plus: all warnings being treated as errors Task-number: QTBUG-103923 Pick-to: 6.3 6.2 Change-Id: I5f81f516894e57b47783e2d89489a676b657fdb7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
This commit is contained in:
parent
a248d8daf5
commit
6376b1c5a7
@ -18,6 +18,7 @@
|
|||||||
#include <QtCore/qnumeric.h>
|
#include <QtCore/qnumeric.h>
|
||||||
#include <QtCore/qfile.h>
|
#include <QtCore/qfile.h>
|
||||||
#include <QtCore/qmutex.h>
|
#include <QtCore/qmutex.h>
|
||||||
|
#include <QtCore/private/qoffsetstringarray_p.h>
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
|
|
||||||
@ -951,7 +952,7 @@ bool QBrush::operator==(const QBrush &b) const
|
|||||||
*/
|
*/
|
||||||
QDebug operator<<(QDebug dbg, const QBrush &b)
|
QDebug operator<<(QDebug dbg, const QBrush &b)
|
||||||
{
|
{
|
||||||
static const char BRUSH_STYLES[][24] = {
|
static constexpr auto BRUSH_STYLES = qOffsetStringArray(
|
||||||
"NoBrush",
|
"NoBrush",
|
||||||
"SolidPattern",
|
"SolidPattern",
|
||||||
"Dense1Pattern",
|
"Dense1Pattern",
|
||||||
@ -972,7 +973,7 @@ QDebug operator<<(QDebug dbg, const QBrush &b)
|
|||||||
"ConicalGradientPattern",
|
"ConicalGradientPattern",
|
||||||
"", "", "", "", "", "",
|
"", "", "", "", "", "",
|
||||||
"TexturePattern" // 24
|
"TexturePattern" // 24
|
||||||
};
|
);
|
||||||
|
|
||||||
QDebugStateSaver saver(dbg);
|
QDebugStateSaver saver(dbg);
|
||||||
dbg.nospace() << "QBrush(" << b.color() << ',' << BRUSH_STYLES[b.style()] << ')';
|
dbg.nospace() << "QBrush(" << b.color() << ',' << BRUSH_STYLES[b.style()] << ')';
|
||||||
|
Loading…
x
Reference in New Issue
Block a user