Blob Blame History Raw
From 7ab92639848a6059e2b6b88499b008b9606f3af6 Mon Sep 17 00:00:00 2001
From: johnmartin-oracle <55413843+johnmartin-oracle@users.noreply.github.com>
Date: Thu, 27 Aug 2020 22:30:23 -0400
Subject: [PATCH] Update Surface_X11.cxx

Runtime sellection of ARGB  XImage byte order
---
 vncviewer/Surface_X11.cxx | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/vncviewer/Surface_X11.cxx b/vncviewer/Surface_X11.cxx
index 6562634dc..8944c3f71 100644
--- a/vncviewer/Surface_X11.cxx
+++ b/vncviewer/Surface_X11.cxx
@@ -123,17 +123,17 @@ void Surface::alloc()
   // we find such a format
   templ.type = PictTypeDirect;
   templ.depth = 32;
-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
-  templ.direct.alpha = 0;
-  templ.direct.red   = 8;
-  templ.direct.green = 16;
-  templ.direct.blue  = 24;
-#else
-  templ.direct.alpha = 24;
-  templ.direct.red   = 16;
-  templ.direct.green = 8;
-  templ.direct.blue  = 0;
-#endif
+  if (XImageByteOrder(fl_display) == MSBFirst) {
+    templ.direct.alpha = 0;
+    templ.direct.red   = 8;
+    templ.direct.green = 16;
+    templ.direct.blue  = 24;
+  } else {
+    templ.direct.alpha = 24;
+    templ.direct.red   = 16;
+    templ.direct.green = 8;
+    templ.direct.blue  = 0;
+  }
   templ.direct.alphaMask = 0xff;
   templ.direct.redMask = 0xff;
   templ.direct.greenMask = 0xff;