From 1e44ff671e3e4f82f0835da6ec7558cfc2a7c4a6 Mon Sep 17 00:00:00 2001 From: Daniel Giurcanu Date: Tue, 17 Dec 2013 12:30:02 +0100 Subject: Fix [Linux]/[Linuxfb] screen initialization. For the linuxfb platform the screen was registered before its geometry was calculated resulting that the qpa controller will deal with a screen instance that has geometry of QRect(0,0,1,1) . This masks pretty much all the painting and the input. The fix is to call screen init before registering the screen instance to the qpa controller. Change-Id: If84daca6587dc368301b578cdbf7b2a65a56a5b5 Reviewed-by: Laszlo Agocs --- src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp | 5 +++-- src/plugins/platforms/linuxfb/qlinuxfbintegration.h | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'src/plugins/platforms') diff --git a/src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp b/src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp index 977df8abd0..53f48d5480 100644 --- a/src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp +++ b/src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp @@ -57,7 +57,6 @@ QLinuxFbIntegration::QLinuxFbIntegration(const QStringList ¶mList) : m_fontDb(new QGenericUnixFontDatabase()) { m_primaryScreen = new QLinuxFbScreen(paramList); - screenAdded(m_primaryScreen); } QLinuxFbIntegration::~QLinuxFbIntegration() @@ -67,7 +66,9 @@ QLinuxFbIntegration::~QLinuxFbIntegration() void QLinuxFbIntegration::initialize() { - if (!m_primaryScreen->initialize()) + if (m_primaryScreen->initialize()) + screenAdded(m_primaryScreen); + else qWarning("linuxfb: Failed to initialize screen"); } diff --git a/src/plugins/platforms/linuxfb/qlinuxfbintegration.h b/src/plugins/platforms/linuxfb/qlinuxfbintegration.h index a213f83c6f..965a6e4642 100644 --- a/src/plugins/platforms/linuxfb/qlinuxfbintegration.h +++ b/src/plugins/platforms/linuxfb/qlinuxfbintegration.h @@ -70,6 +70,7 @@ public: private: QLinuxFbScreen *m_primaryScreen; QPlatformFontDatabase *m_fontDb; + }; QT_END_NAMESPACE -- cgit v1.2.3