summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/xcb/qxcbwindow.h
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2017-07-05 13:04:26 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2017-10-02 08:06:21 +0000
commit6f16b7a8f33c9641850809562b627f9da12fa9ad (patch)
tree807dfa54222ce4b72e639f01285b494121211a93 /src/plugins/platforms/xcb/qxcbwindow.h
parentb6f69206548f7bd15c72ba35d7c2e3b66b1abb7a (diff)
Handle endian mismatch between X11 client and server
If the server and client has different endian we need to swizzle the image pixels, we can do that by swizzling the masks and try to match the new configuration. This is a rather rare setup so we don't try to match every combination. This patch fixes the colors when running Qt in a bigendian QEMU chroot. Change-Id: Ie83f9607563cba137b2e1a63e996a05d43ff603e Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
Diffstat (limited to 'src/plugins/platforms/xcb/qxcbwindow.h')
-rw-r--r--src/plugins/platforms/xcb/qxcbwindow.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/plugins/platforms/xcb/qxcbwindow.h b/src/plugins/platforms/xcb/qxcbwindow.h
index 1ce9b0a42f..ebace55328 100644
--- a/src/plugins/platforms/xcb/qxcbwindow.h
+++ b/src/plugins/platforms/xcb/qxcbwindow.h
@@ -188,6 +188,7 @@ public Q_SLOTS:
protected:
virtual void resolveFormat(const QSurfaceFormat &format) { m_format = format; }
virtual const xcb_visualtype_t *createVisual();
+ QImage::Format imageFormatForVisual(const xcb_visualtype_t *visual, bool *rgbSwap) const;
QXcbScreen *parentScreen();