QWindow: Re-create platform window only if screen actually changes.

Change-Id: I3b7dd8b1307aa3cc9357dca861ea407644c5a2e9
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
This commit is contained in:
Friedemann Kleint 2011-10-21 15:45:25 +02:00 committed by Qt by Nokia
parent 68dc5b90c0
commit 4a788eb831

View File

@ -645,12 +645,16 @@ QScreen *QWindow::screen() const
void QWindow::setScreen(QScreen *newScreen)
{
Q_D(QWindow);
bool wasCreated = d->platformWindow != 0;
if (wasCreated)
destroy();
d->screen = newScreen ? newScreen : QGuiApplication::primaryScreen();
if (wasCreated)
create();
if (!newScreen)
newScreen = QGuiApplication::primaryScreen();
if (newScreen != screen()) {
const bool wasCreated = d->platformWindow != 0;
if (wasCreated)
destroy();
d->screen = newScreen;
if (wasCreated)
create();
}
}
/*!