From 8a082ad32cf99d85e8714415b64d124ceda7159d Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Fri, 3 May 2013 15:07:09 -0500 Subject: Fix linuxfb plugin when fb offset is present. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Task-number: QTBUG-30994 Change-Id: Ic9e80f5bfaf54e89e9a9187f3e73e57015ed8c3d Reviewed-by: Samuel Rødal Reviewed-by: Paul Olav Tvete --- src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp b/src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp index cd987d8d02..ad5206ba41 100644 --- a/src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp +++ b/src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp @@ -369,9 +369,10 @@ bool QLinuxFbScreen::initialize(const QStringList &args) mDepth = determineDepth(vinfo); mBytesPerLine = finfo.line_length; - mGeometry = determineGeometry(vinfo, userGeometry); + QRect geometry = determineGeometry(vinfo, userGeometry); + mGeometry = QRect(QPoint(0, 0), geometry.size()); mFormat = determineFormat(vinfo, mDepth); - mPhysicalSize = determinePhysicalSize(vinfo, userMmSize, mGeometry.size()); + mPhysicalSize = determinePhysicalSize(vinfo, userMmSize, geometry.size()); // mmap the framebuffer mMmap.size = finfo.smem_len; @@ -381,11 +382,11 @@ bool QLinuxFbScreen::initialize(const QStringList &args) return false; } - mMmap.offset = mGeometry.y() * mBytesPerLine + mGeometry.x() * mDepth / 8; + mMmap.offset = geometry.y() * mBytesPerLine + geometry.x() * mDepth / 8; mMmap.data = data + mMmap.offset; QFbScreen::initializeCompositor(); - mFbScreenImage = QImage(data, mGeometry.width(), mGeometry.height(), mBytesPerLine, mFormat); + mFbScreenImage = QImage(mMmap.data, geometry.width(), geometry.height(), mBytesPerLine, mFormat); mCursor = new QFbCursor(this); mTtyFd = openTtyDevice(ttyDevice); -- cgit v1.2.3