diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2013-01-15 18:12:04 +0100 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2013-01-15 18:14:13 +0100 |
commit | 270a51b7758794d47d5ffb892c35989a87b90628 (patch) | |
tree | c2b8b7728619a3d690978e07dd94cced48d4d9f2 /src/plugins/platforms/xcb | |
parent | cd7ba89a07f794b17fc66ba29515b104c4d21f27 (diff) | |
parent | 4cad9e466784ec54e3cf6f216d3df20ba7a595b0 (diff) |
Merge remote-tracking branch 'gerrit/release' into stable
Change-Id: Ieb104d0e390218a063082c93bc9c7e412af2166d
Diffstat (limited to 'src/plugins/platforms/xcb')
-rw-r--r-- | src/plugins/platforms/xcb/qxcbbackingstore.cpp | 2 | ||||
-rw-r--r-- | src/plugins/platforms/xcb/qxcbwindow.cpp | 5 |
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 |