diff options
Diffstat (limited to 'user/tigervnc/endian.patch')
-rw-r--r-- | user/tigervnc/endian.patch | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/user/tigervnc/endian.patch b/user/tigervnc/endian.patch deleted file mode 100644 index e09edf9c5..000000000 --- a/user/tigervnc/endian.patch +++ /dev/null @@ -1,51 +0,0 @@ -diff --git a/vncviewer/Surface_X11.cxx b/vncviewer/Surface_X11.cxx -index 3523da3d..6562634d 100644 ---- a/vncviewer/Surface_X11.cxx -+++ b/vncviewer/Surface_X11.cxx -@@ -109,6 +109,7 @@ void Surface::blend(Surface* dst, int src_x, int src_y, int x, int y, int w, int - - void Surface::alloc() - { -+ XRenderPictFormat templ; - XRenderPictFormat* format; - - // Might not be open at this point -@@ -117,7 +118,37 @@ void Surface::alloc() - pixmap = XCreatePixmap(fl_display, XDefaultRootWindow(fl_display), - width(), height(), 32); - -- format = XRenderFindStandardFormat(fl_display, PictStandardARGB32); -+ // Our code assumes a BGRA byte order, regardless of what the endian -+ // of the machine is or the native byte order of XImage, so make sure -+ // 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 -+ templ.direct.alphaMask = 0xff; -+ templ.direct.redMask = 0xff; -+ templ.direct.greenMask = 0xff; -+ templ.direct.blueMask = 0xff; -+ -+ format = XRenderFindFormat(fl_display, PictFormatType | PictFormatDepth | -+ PictFormatRed | PictFormatRedMask | -+ PictFormatGreen | PictFormatGreenMask | -+ PictFormatBlue | PictFormatBlueMask | -+ PictFormatAlpha | PictFormatAlphaMask, -+ &templ, 0); -+ -+ if (!format) -+ throw rdr::Exception("XRenderFindFormat"); -+ - picture = XRenderCreatePicture(fl_display, pixmap, format, 0, NULL); - - visFormat = XRenderFindVisualFormat(fl_display, fl_visual->visual); |