--- a/src/gui/kernel/qwindow.cpp 2015-10-30 06:20:01.000000000 -0200 +++ b/src/gui/kernel/qwindow.cpp 2015-11-05 11:31:10.544561171 -0200 @@ -373,15 +373,14 @@ return; } if (newScreen != topLevelScreen) { - const bool shouldRecreate = recreate && windowRecreationRequired(newScreen); - const bool shouldShow = visibilityOnDestroy && !topLevelScreen; + const bool shouldRecreate = recreate/* && windowRecreationRequired(newScreen)*/; if (shouldRecreate && platformWindow) q->destroy(); connectToScreen(newScreen); - if (shouldShow) - q->setVisible(true); - else if (newScreen && shouldRecreate) + if (newScreen && shouldRecreate) { create(true); + q->setVisible(visibilityOnDestroy); + } emitScreenChangedRecursion(newScreen); } }