summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/kms/qkmsintegration.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/kms/qkmsintegration.cpp')
-rw-r--r--src/plugins/platforms/kms/qkmsintegration.cpp36
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));