diff options
Diffstat (limited to 'src/plugins/platforms/kms/qkmsintegration.cpp')
-rw-r--r-- | src/plugins/platforms/kms/qkmsintegration.cpp | 36 |
1 files changed, 21 insertions, 15 deletions
diff --git a/src/plugins/platforms/kms/qkmsintegration.cpp b/src/plugins/platforms/kms/qkmsintegration.cpp index 63c6d08bdc..868886a0dd 100644 --- a/src/plugins/platforms/kms/qkmsintegration.cpp +++ b/src/plugins/platforms/kms/qkmsintegration.cpp @@ -66,9 +66,28 @@ QT_BEGIN_NAMESPACE QKmsIntegration::QKmsIntegration() : QPlatformIntegration(), m_fontDatabase(new QGenericUnixFontDatabase()), - m_nativeInterface(new QKmsNativeInterface) + m_nativeInterface(new QKmsNativeInterface), + m_vtHandler(0), + m_deviceDiscovery(0) { - setenv("EGL_PLATFORM", "drm",1); +} + +QKmsIntegration::~QKmsIntegration() +{ + delete m_deviceDiscovery; + foreach (QKmsDevice *device, m_devices) { + delete device; + } + foreach (QPlatformScreen *screen, m_screens) { + delete screen; + } + delete m_fontDatabase; + delete m_vtHandler; +} + +void QKmsIntegration::initialize() +{ + qputenv("EGL_PLATFORM", "drm"); m_vtHandler = new QFbVtHandler; m_deviceDiscovery = QDeviceDiscovery::create(QDeviceDiscovery::Device_DRM | QDeviceDiscovery::Device_DRM_PrimaryGPU, 0); @@ -88,19 +107,6 @@ QKmsIntegration::QKmsIntegration() #endif } -QKmsIntegration::~QKmsIntegration() -{ - delete m_deviceDiscovery; - foreach (QKmsDevice *device, m_devices) { - delete device; - } - foreach (QPlatformScreen *screen, m_screens) { - delete screen; - } - delete m_fontDatabase; - delete m_vtHandler; -} - void QKmsIntegration::addDevice(const QString &deviceNode) { m_devices.append(new QKmsDevice(deviceNode, this)); |