summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/xcb
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@digia.com>2014-01-10 18:27:48 +0100
committerFrederik Gladhorn <frederik.gladhorn@digia.com>2014-01-10 18:27:49 +0100
commit7917dfbf1c54150d0ca3a79285767c22e6f9d770 (patch)
treea05973334097df480afe32d07db42f381b460e74 /src/plugins/platforms/xcb
parentb9362903b339e57362a7a3296904504521d0e26f (diff)
parentb088e4827f427189334e8a1c5b4f2b8b0b713fc2 (diff)
Merge remote-tracking branch 'origin/stable' into dev
Diffstat (limited to 'src/plugins/platforms/xcb')
-rw-r--r--src/plugins/platforms/xcb/qxcbwindow.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/plugins/platforms/xcb/qxcbwindow.cpp b/src/plugins/platforms/xcb/qxcbwindow.cpp
index 407adc29ee..63894373b8 100644
--- a/src/plugins/platforms/xcb/qxcbwindow.cpp
+++ b/src/plugins/platforms/xcb/qxcbwindow.cpp
@@ -280,8 +280,12 @@ void QXcbWindow::create()
if (parent()) {
xcb_parent_id = static_cast<QXcbWindow *>(parent())->xcb_window();
m_embedded = parent()->window()->type() == Qt::ForeignWindow;
- }
+ QSurfaceFormat parentFormat = parent()->window()->requestedFormat();
+ if (window()->surfaceType() != QSurface::OpenGLSurface && parentFormat.hasAlpha()) {
+ window()->setFormat(parentFormat);
+ }
+ }
m_format = window()->requestedFormat();
#if (defined(XCB_USE_GLX) || defined(XCB_USE_EGL)) && defined(XCB_USE_XLIB)