XCB: Force XSync after creating Window
Make sure that dpy->request == dpy->last_request_read after setting up a new window. If we don't do this, last_request_read might never be updated until the difference hits a limit that can lead to hangs in the application (see e.g. QTCREATORBUG-8373). Task-number: QTBUG-29106 Change-Id: I390493ca6f966dc105d3ea3a2c48abec01177bc2 Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
This commit is contained in:
parent
5eab554227
commit
d2e64c47ce
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user