You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.3 KiB
44 lines
1.3 KiB
2 years ago
|
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;
|