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) void QWindow::setScreen(QScreen *newScreen)
{ {
Q_D(QWindow); Q_D(QWindow);
bool wasCreated = d->platformWindow != 0; if (!newScreen)
if (wasCreated) newScreen = QGuiApplication::primaryScreen();
destroy(); if (newScreen != screen()) {
d->screen = newScreen ? newScreen : QGuiApplication::primaryScreen(); const bool wasCreated = d->platformWindow != 0;
if (wasCreated) if (wasCreated)
create(); destroy();
d->screen = newScreen;
if (wasCreated)
create();
}
} }
/*! /*!