diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-01 13:05:53 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-02-02 13:06:16 +0200 |
commit | ba6b29a3676bdb7c524c5cd7d3d8f294c22b1d89 (patch) | |
tree | 25ddcb84302dee06b3890621c2363f8454af0239 /src | |
parent | bde773ec6a0d9319bd8cebf138513afd79c2eef7 (diff) |
Fix inefficient use of qToBigEndian
It can do unaligned access directly as well.
Change-Id: I4046cf69e2ad8eb628b8b53bfa521800bb35dc6d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/gui/platform/unix/dbustray/qdbustraytypes.cpp | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/src/gui/platform/unix/dbustray/qdbustraytypes.cpp b/src/gui/platform/unix/dbustray/qdbustraytypes.cpp index f2fec41aff..4408bfae5a 100644 --- a/src/gui/platform/unix/dbustray/qdbustraytypes.cpp +++ b/src/gui/platform/unix/dbustray/qdbustraytypes.cpp @@ -108,10 +108,7 @@ QXdgDBusImageVector iconToQXdgDBusImageVector(const QIcon &icon) } // copy and endian-convert QXdgDBusImageStruct kim(im.width(), im.height()); - const uchar *end = im.constBits() + im.sizeInBytes(); - uchar *dest = reinterpret_cast<uchar *>(kim.data.data()); - for (const uchar *src = im.constBits(); src < end; src += 4, dest += 4) - qToUnaligned(qToBigEndian<quint32>(qFromUnaligned<quint32>(src)), dest); + qToBigEndian<quint32>(im.constBits(), im.width() * im.height(), kim.data.data()); ret << kim; } |