DirectFB Fix issue with showing dialogs
If the window was not visible when the geometry was set, then the DirectFB window would not be resized. Change-Id: I7790c90ed0fb755aebee0e32c877ebd9e48417cd Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>bb10
parent
6e7e73c014
commit
5afebb05b4
|
|
@ -110,21 +110,9 @@ QDirectFbWindow::~QDirectFbWindow()
|
|||
|
||||
void QDirectFbWindow::setGeometry(const QRect &rect)
|
||||
{
|
||||
// bool isMoveOnly = (rect.topLeft() != geometry().topLeft()) && (rect.size() == geometry().size());
|
||||
|
||||
QPlatformWindow::setGeometry(rect);
|
||||
if (window()->isVisible()) {
|
||||
m_dfbWindow->SetBounds(m_dfbWindow.data(), rect.x(),rect.y(),
|
||||
rect.width(), rect.height());
|
||||
// ### TODO port, verify if this is needed
|
||||
#if 0
|
||||
//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());
|
||||
window()->update();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
m_dfbWindow->SetBounds(m_dfbWindow.data(), rect.x(),rect.y(),
|
||||
rect.width(), rect.height());
|
||||
}
|
||||
|
||||
void QDirectFbWindow::setOpacity(qreal level)
|
||||
|
|
@ -150,7 +138,7 @@ void QDirectFbWindow::setVisible(bool visible)
|
|||
}
|
||||
|
||||
if (window()->isTopLevel() && visible)
|
||||
QWindowSystemInterface::handleExposeEvent(window(), QRect(QPoint(0, 0), window()->geometry().size()));
|
||||
QPlatformWindow::setVisible(visible);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue