Implement map/unmap and force geometry EglFS
authorGunnar Sletta <gunnar.sletta@nokia.com>
Mon, 8 Aug 2011 07:23:19 +0000 (09:23 +0200)
committerJørgen Lind <jorgen.lind@nokia.com>
Mon, 8 Aug 2011 07:28:01 +0000 (09:28 +0200)
Change-Id: Ia2d86e84acfeb30f41b06f106b93033fe54ed839
Reviewed-on: http://codereview.qt.nokia.com/2730
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
src/plugins/platforms/eglfs/qeglfswindow.cpp
src/plugins/platforms/eglfs/qeglfswindow.h

index 25da588..298592b 100644 (file)
@@ -51,8 +51,13 @@ QEglFSWindow::QEglFSWindow(QWindow *w)
     static int serialNo = 0;
     m_winid  = ++serialNo;
 #ifdef QEGL_EXTRA_DEBUG
-    qWarning("QEglWindow %p: %p %p 0x%x\n", this, w, screen, uint(m_winid));
+    qWarning("QEglWindow %p: %p 0x%x\n", this, w, uint(m_winid));
 #endif
+
+    QRect screenGeometry(screen()->availableGeometry());
+    if (w->geometry() != screenGeometry) {
+        QWindowSystemInterface::handleGeometryChange(w, screenGeometry);
+    }
 }
 
 void QEglFSWindow::setGeometry(const QRect &)
@@ -69,4 +74,14 @@ WId QEglFSWindow::winId() const
     return m_winid;
 }
 
+void QEglFSWindow::setVisible(bool visible)
+{
+    if (visible) {
+        QWindowSystemInterface::handleMapEvent(window());
+    } else {
+        QWindowSystemInterface::handleUnmapEvent(window());
+    }
+
+}
+
 QT_END_NAMESPACE
index 09f553d..32a6e71 100644 (file)
@@ -58,6 +58,8 @@ public:
     void setGeometry(const QRect &);
     WId winId() const;
 
+    void setVisible(bool visible);
+
 private:
     WId m_winid;
 };