Before we return from the platform integration constructor, and thus
before the application tries to create QPlatformWindows or
QPlatformOpenGLContexts.
Change-Id: Iface9116f876e2d25561be4fcaee5fd7dabba572
Reviewed-by: Florian Hänel <florian.haenel@basyskom.com>
Reviewed-by: Jørgen Lind <jorgen.lind@gmail.com>
virtual ~QWaylandGLIntegration();
virtual void initialize() = 0;
+ virtual bool waitingForEvents() { return false; }
virtual bool supportsThreadedOpenGL() const { return false; }
~QWaylandXCompositeEGLIntegration();
void initialize();
+ bool waitingForEvents() { return !mDisplay; }
QWaylandWindow *createEglWindow(QWindow *window);
QPlatformOpenGLContext *createPlatformOpenGLContext(const QSurfaceFormat &glFormat, QPlatformOpenGLContext *share) const;
~QWaylandXCompositeGLXIntegration();
void initialize();
+ bool waitingForEvents() { return !mDisplay; }
QWaylandWindow *createEglWindow(QWindow *window);
QPlatformOpenGLContext *createPlatformOpenGLContext(const QSurfaceFormat &glFormat, QPlatformOpenGLContext *share) const;
#ifdef QT_WAYLAND_GL_SUPPORT
mEglIntegration->initialize();
+
+ flushRequests();
+ while (mEglIntegration->waitingForEvents())
+ blockingReadEvents();
#endif
waitForScreens();