summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJørgen Lind <jorgen.lind@nokia.com>2010-09-08 05:40:59 (GMT)
committerJørgen Lind <jorgen.lind@nokia.com>2010-09-08 05:40:59 (GMT)
commit184a4c66165ab49940e1eae7140a6474531c5f9d (patch)
treeacb8145ffa88ec38ed57a42c3ceed64f1bf00dc9
parent8fbcf5d1a93f50fa59f650468d203115f7a6965b (diff)
downloadQt-184a4c66165ab49940e1eae7140a6474531c5f9d.zip
Qt-184a4c66165ab49940e1eae7140a6474531c5f9d.tar.gz
Qt-184a4c66165ab49940e1eae7140a6474531c5f9d.tar.bz2
Lighthouse, DFb don't show windows that Qt::WA_DontShowOnScreen
-rw-r--r--src/plugins/platforms/directfb/qdirectfbwindow.cpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/plugins/platforms/directfb/qdirectfbwindow.cpp b/src/plugins/platforms/directfb/qdirectfbwindow.cpp
index 21eefc4..74e7a72 100644
--- a/src/plugins/platforms/directfb/qdirectfbwindow.cpp
+++ b/src/plugins/platforms/directfb/qdirectfbwindow.cpp
@@ -84,6 +84,8 @@ QDirectFbWindow::QDirectFbWindow(QWidget *tlw, QDirectFbInput *inputhandler)
m_dfbWindow->SetOpacity(m_dfbWindow,0xff);
+ setVisible(widget()->isVisible());
+
DFBWindowID id;
m_dfbWindow->GetID(m_dfbWindow, &id);
m_inputHandler->addWindow(id,tlw);
@@ -99,13 +101,15 @@ void QDirectFbWindow::setGeometry(const QRect &rect)
{
bool isMoveOnly = (rect.topLeft() != geometry().topLeft()) && (rect.size() == geometry().size());
QPlatformWindow::setGeometry(rect);
- m_dfbWindow->SetBounds(m_dfbWindow, rect.x(),rect.y(),
- rect.width(), rect.height());
-
- //Hack. When moving since the WindowSurface of a window becomes invalid when moved
- if (isMoveOnly) { //if resize then windowsurface is updated.
- widget()->windowSurface()->resize(rect.size());
- widget()->update();
+ if (widget()->isVisible() && !(widget()->testAttribute(Qt::WA_DontShowOnScreen))) {
+ m_dfbWindow->SetBounds(m_dfbWindow, rect.x(),rect.y(),
+ rect.width(), rect.height());
+
+ //Hack. When moving since the WindowSurface of a window becomes invalid when moved
+ if (isMoveOnly) { //if resize then windowsurface is updated.
+ widget()->windowSurface()->resize(rect.size());
+ widget()->update();
+ }
}
}