summaryrefslogtreecommitdiff
path: root/user/kiconthemes/fields.patch
diff options
context:
space:
mode:
Diffstat (limited to 'user/kiconthemes/fields.patch')
-rw-r--r--user/kiconthemes/fields.patch14
1 files changed, 14 insertions, 0 deletions
diff --git a/user/kiconthemes/fields.patch b/user/kiconthemes/fields.patch
new file mode 100644
index 000000000..cf9960cfc
--- /dev/null
+++ b/user/kiconthemes/fields.patch
@@ -0,0 +1,14 @@
+Perform the QRgb to hex conversion in an endian-independent way.
+
+--- kiconthemes-5.116.0/src/kiconloader.cpp.old 2024-05-04 06:40:07.000000000 -0500
++++ kiconthemes-5.116.0/src/kiconloader.cpp 2025-06-30 05:00:25.377715342 -0500
+@@ -77,7 +77,8 @@
+ {
+ static const char hexLookup[] = "0123456789abcdef";
+ buffer += 7;
+- uchar *colorFields = reinterpret_cast<uchar *>(&colorData);
++ uchar fields[4] = {qBlue(colorData), qGreen(colorData), qRed(colorData), qAlpha(colorData)};
++ uchar *colorFields = &fields[0];
+
+ for (int i = 0; i < 4; i++) {
+ *buffer-- = hexLookup[*colorFields & 0xf];