void QApplicationPrivate::reportGeometryChange(QWindowSystemInterfacePrivate::ScreenGeometryEvent *e) { // This operation only makes sense after the QApplication constructor runs if (QCoreApplication::startingUp()) return; QApplication::desktop()->d_func()->updateScreenList(); // signal anything listening for screen geometry changes QDesktopWidget *desktop = QApplication::desktop(); emit desktop->resized(e->index); // make sure maximized and fullscreen windows are updated QWidgetList list = QApplication::topLevelWidgets(); for (int i = list.size() - 1; i >= 0; --i) { QWidget *w = list.at(i); if (w->isFullScreen()) w->d_func()->setFullScreenSize_helper(); else if (w->isMaximized()) w->d_func()->setMaxWindowState_helper(); } }