diff options
author | Jørgen Lind <jorgen.lind@nokia.com> | 2010-09-08 05:40:59 (GMT) |
---|---|---|
committer | Jørgen Lind <jorgen.lind@nokia.com> | 2010-09-08 05:40:59 (GMT) |
commit | 184a4c66165ab49940e1eae7140a6474531c5f9d (patch) | |
tree | acb8145ffa88ec38ed57a42c3ceed64f1bf00dc9 | |
parent | 8fbcf5d1a93f50fa59f650468d203115f7a6965b (diff) | |
download | Qt-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.cpp | 18 |
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(); + } } } |