diff options
-rw-r--r-- | src/plugins/platforms/eglfs/qeglfsbackingstore.cpp | 2 | ||||
-rw-r--r-- | src/plugins/platforms/eglfs/qeglfsscreen.h | 2 | ||||
-rw-r--r-- | src/plugins/platforms/eglfs/qeglfswindow.cpp | 10 |
3 files changed, 10 insertions, 4 deletions
diff --git a/src/plugins/platforms/eglfs/qeglfsbackingstore.cpp b/src/plugins/platforms/eglfs/qeglfsbackingstore.cpp index edcf116b04..2caf1064cf 100644 --- a/src/plugins/platforms/eglfs/qeglfsbackingstore.cpp +++ b/src/plugins/platforms/eglfs/qeglfsbackingstore.cpp @@ -57,7 +57,7 @@ QEglFSBackingStore::QEglFSBackingStore(QWindow *window) , m_texture(0) , m_program(0) { - m_context->setFormat(window->format()); + m_context->setFormat(window->requestedFormat()); m_context->setScreen(window->screen()); m_context->create(); } diff --git a/src/plugins/platforms/eglfs/qeglfsscreen.h b/src/plugins/platforms/eglfs/qeglfsscreen.h index 518a5c6478..7632921145 100644 --- a/src/plugins/platforms/eglfs/qeglfsscreen.h +++ b/src/plugins/platforms/eglfs/qeglfsscreen.h @@ -65,8 +65,6 @@ public: QPlatformCursor *cursor() const; - QPlatformOpenGLContext *platformContext() const; - EGLDisplay display() const { return m_dpy; } private: diff --git a/src/plugins/platforms/eglfs/qeglfswindow.cpp b/src/plugins/platforms/eglfs/qeglfswindow.cpp index b07fd19d1d..913e1c2e1e 100644 --- a/src/plugins/platforms/eglfs/qeglfswindow.cpp +++ b/src/plugins/platforms/eglfs/qeglfswindow.cpp @@ -72,7 +72,15 @@ QEglFSWindow::~QEglFSWindow() void QEglFSWindow::create() { - Q_ASSERT(!m_window); + if (m_window) + return; + + if (window()->windowType() == Qt::Desktop) { + QRect rect(QPoint(), hooks->screenSize()); + QPlatformWindow::setGeometry(rect); + QWindowSystemInterface::handleGeometryChange(window(), rect); + return; + } EGLDisplay display = (static_cast<QEglFSScreen *>(window()->screen()->handle()))->display(); QSurfaceFormat platformFormat = hooks->surfaceFormatFor(window()->requestedFormat()); |