Blame SOURCES/tigervnc-argb-runtime-ximage-byteorder-selection.patch

acbd46
From 7ab92639848a6059e2b6b88499b008b9606f3af6 Mon Sep 17 00:00:00 2001
acbd46
From: johnmartin-oracle <55413843+johnmartin-oracle@users.noreply.github.com>
acbd46
Date: Thu, 27 Aug 2020 22:30:23 -0400
acbd46
Subject: [PATCH] Update Surface_X11.cxx
acbd46
acbd46
Runtime sellection of ARGB  XImage byte order
acbd46
---
acbd46
 vncviewer/Surface_X11.cxx | 22 +++++++++++-----------
acbd46
 1 file changed, 11 insertions(+), 11 deletions(-)
acbd46
acbd46
diff --git a/vncviewer/Surface_X11.cxx b/vncviewer/Surface_X11.cxx
acbd46
index 6562634dc..8944c3f71 100644
acbd46
--- a/vncviewer/Surface_X11.cxx
acbd46
+++ b/vncviewer/Surface_X11.cxx
acbd46
@@ -123,17 +123,17 @@ void Surface::alloc()
acbd46
   // we find such a format
acbd46
   templ.type = PictTypeDirect;
acbd46
   templ.depth = 32;
acbd46
-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
acbd46
-  templ.direct.alpha = 0;
acbd46
-  templ.direct.red   = 8;
acbd46
-  templ.direct.green = 16;
acbd46
-  templ.direct.blue  = 24;
acbd46
-#else
acbd46
-  templ.direct.alpha = 24;
acbd46
-  templ.direct.red   = 16;
acbd46
-  templ.direct.green = 8;
acbd46
-  templ.direct.blue  = 0;
acbd46
-#endif
acbd46
+  if (XImageByteOrder(fl_display) == MSBFirst) {
acbd46
+    templ.direct.alpha = 0;
acbd46
+    templ.direct.red   = 8;
acbd46
+    templ.direct.green = 16;
acbd46
+    templ.direct.blue  = 24;
acbd46
+  } else {
acbd46
+    templ.direct.alpha = 24;
acbd46
+    templ.direct.red   = 16;
acbd46
+    templ.direct.green = 8;
acbd46
+    templ.direct.blue  = 0;
acbd46
+  }
acbd46
   templ.direct.alphaMask = 0xff;
acbd46
   templ.direct.redMask = 0xff;
acbd46
   templ.direct.greenMask = 0xff;