From 834087c3242cbb3d85a5b8b155788a368f09b836 Mon Sep 17 00:00:00 2001 From: Laszlo Agocs Date: Tue, 10 May 2016 15:06:26 +0200 Subject: eglfs: Fix DRM+KMS backends The native display was simply invalid. Task-number: QTBUG-53225 Change-Id: I682fb1d91dbea3dab971a079060d181fc313da46 Reviewed-by: Robert Griebl --- .../eglfs/deviceintegration/eglfs_kms_support/qeglfskmsdevice.h | 8 ++++---- .../deviceintegration/eglfs_kms_support/qeglfskmsintegration.cpp | 2 +- .../deviceintegration/eglfs_kms_support/qeglfskmsintegration.h | 1 - .../eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen.cpp | 2 +- .../eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen.h | 2 +- 5 files changed, 7 insertions(+), 8 deletions(-) (limited to 'src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support') diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsdevice.h b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsdevice.h index ffa8bcbaa5..041c063695 100644 --- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsdevice.h +++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsdevice.h @@ -61,7 +61,7 @@ public: virtual void createScreens(); - virtual EGLNativeDisplayType device() const = 0; + virtual EGLNativeDisplayType nativeDisplay() const = 0; int fd() const; QString devicePath() const; @@ -72,9 +72,6 @@ protected: QPoint position); void setFd(int fd); -private: - Q_DISABLE_COPY(QEglFSKmsDevice) - QEglFSKmsIntegration *m_integration; QString m_path; int m_dri_fd; @@ -91,6 +88,9 @@ private: unsigned int tv_sec, unsigned int tv_usec, void *user_data); + +private: + Q_DISABLE_COPY(QEglFSKmsDevice) }; QT_END_NAMESPACE diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.cpp index a5473eb94a..07ea7d4439 100644 --- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.cpp +++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.cpp @@ -90,7 +90,7 @@ void QEglFSKmsIntegration::platformDestroy() EGLNativeDisplayType QEglFSKmsIntegration::platformDisplay() const { Q_ASSERT(m_device); - return reinterpret_cast(m_device->device()); + return m_device->nativeDisplay(); } bool QEglFSKmsIntegration::usesDefaultScreen() diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.h b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.h index c630d93fce..34ac5385a5 100644 --- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.h +++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.h @@ -77,7 +77,6 @@ public: protected: virtual QEglFSKmsDevice *createDevice(const QString &devicePath) = 0; -private: void loadConfig(); QEglFSKmsDevice *m_device; diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen.cpp index f614351a40..e6b256f6b2 100644 --- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen.cpp +++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen.cpp @@ -73,7 +73,7 @@ QEglFSKmsScreen::QEglFSKmsScreen(QEglFSKmsIntegration *integration, QEglFSKmsDevice *device, QEglFSKmsOutput output, QPoint position) - : QEglFSScreen(eglGetDisplay(reinterpret_cast(device->device()))) + : QEglFSScreen(eglGetDisplay(device->nativeDisplay())) , m_integration(integration) , m_device(device) , m_output(output) diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen.h b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen.h index ed26ca0419..aa698e1b5d 100644 --- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen.h +++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen.h @@ -111,7 +111,7 @@ public: QPlatformScreen::PowerState powerState() const Q_DECL_OVERRIDE; void setPowerState(QPlatformScreen::PowerState state) Q_DECL_OVERRIDE; -private: +protected: QEglFSKmsIntegration *m_integration; QEglFSKmsDevice *m_device; -- cgit v1.2.3