summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@digia.com>2013-01-15 18:12:04 +0100
committerFrederik Gladhorn <frederik.gladhorn@digia.com>2013-01-15 18:14:13 +0100
commit270a51b7758794d47d5ffb892c35989a87b90628 (patch)
treec2b8b7728619a3d690978e07dd94cced48d4d9f2 /src/plugins/platforms
parentcd7ba89a07f794b17fc66ba29515b104c4d21f27 (diff)
parent4cad9e466784ec54e3cf6f216d3df20ba7a595b0 (diff)
Merge remote-tracking branch 'gerrit/release' into stable
Diffstat (limited to 'src/plugins/platforms')
-rw-r--r--src/plugins/platforms/xcb/qxcbbackingstore.cpp2
-rw-r--r--src/plugins/platforms/xcb/qxcbwindow.cpp5
2 files changed, 6 insertions, 1 deletions
diff --git a/src/plugins/platforms/xcb/qxcbbackingstore.cpp b/src/plugins/platforms/xcb/qxcbbackingstore.cpp
index 42abf046a9..c953ab0049 100644
--- a/src/plugins/platforms/xcb/qxcbbackingstore.cpp
+++ b/src/plugins/platforms/xcb/qxcbbackingstore.cpp
@@ -107,7 +107,7 @@ QXcbShmImage::QXcbShmImage(QXcbScreen *screen, const QSize &size, uint depth, QI
if (!segmentSize)
return;
- int id = shmget(IPC_PRIVATE, segmentSize, IPC_CREAT | 0777);
+ int id = shmget(IPC_PRIVATE, segmentSize, IPC_CREAT | 0600);
if (id == -1)
qWarning("QXcbShmImage: shmget() failed (%d) for size %d (%dx%d)",
errno, segmentSize, size.width(), size.height());
diff --git a/src/plugins/platforms/xcb/qxcbwindow.cpp b/src/plugins/platforms/xcb/qxcbwindow.cpp
index 528c4c6580..01f4d6d231 100644
--- a/src/plugins/platforms/xcb/qxcbwindow.cpp
+++ b/src/plugins/platforms/xcb/qxcbwindow.cpp
@@ -382,6 +382,11 @@ void QXcbWindow::create()
if (window()->flags() & Qt::WindowTransparentForInput)
setTransparentForMouseEvents(true);
+#ifdef XCB_USE_XLIB
+ // force sync to read outstanding requests - see QTBUG-29106
+ XSync(DISPLAY_FROM_XCB(m_screen), false);
+#endif
+
#ifndef QT_NO_DRAGANDDROP
connection()->drag()->dndEnable(this, true);
#endif