diff --git a/qtbase/src/plugins/platforms/directfb/qdirectfb_egl.cpp b/qtbase/src/plugins/platforms/directfb/qdirectfb_egl.cpp index 7ea0ba4..8db4964 100644 --- a/qtbase/src/plugins/platforms/directfb/qdirectfb_egl.cpp +++ b/qtbase/src/plugins/platforms/directfb/qdirectfb_egl.cpp @@ -202,6 +202,7 @@ void QDirectFbWindowEGL::createDirectFBWindow() DirectFBError("QDirectFbWindow: failed to create window", result); m_dfbWindow->SetOpacity(m_dfbWindow.data(), 0xff); + setVisible(window()->isVisible()); m_dfbWindow->GetSurface (m_dfbWindow.data(), &surface); surface->Clear (surface, 0x0, 0x0, 0x0, 0x0); diff --git a/qtbase/src/plugins/platforms/directfb/qdirectfbwindow.cpp b/qtbase/src/plugins/platforms/directfb/qdirectfbwindow.cpp index 85e7eb8..90f436c 100644 --- a/qtbase/src/plugins/platforms/directfb/qdirectfbwindow.cpp +++ b/qtbase/src/plugins/platforms/directfb/qdirectfbwindow.cpp @@ -89,6 +89,7 @@ void QDirectFbWindow::createDirectFBWindow() DirectFBError("QDirectFbWindow: failed to create window", result); m_dfbWindow->SetOpacity(m_dfbWindow.data(), 0xff); + setVisible(window()->isVisible()); m_dfbWindow->GetSurface (m_dfbWindow.data(), &surface); surface->Clear (surface, 0x0, 0x0, 0x0, 0x0); @@ -131,6 +132,7 @@ void QDirectFbWindow::setOpacity(qreal level) void QDirectFbWindow::setVisible(bool visible) { + if (visible) { int x = geometry().x(); int y = geometry().y(); @@ -141,10 +143,11 @@ void QDirectFbWindow::setVisible(bool visible) DFBDisplayLayerConfig config; displayLayer->GetConfiguration(displayLayer.data(), &config); - m_dfbWindow->MoveTo(m_dfbWindow.data(), config. width + 1, config.height + 1); + m_dfbWindow->MoveTo(m_dfbWindow.data(), config.width + 1, config.height + 1); } if (window()->isTopLevel() && visible) + QWindowSystemInterface::handleExposeEvent(window(), window()->geometry()); }