qt5base-lts/src/gui
Tor Arne Vestbø 4c855a9f9f Add QPlatformWindow::initialize() for two-step window creation
The QWindow::create method calls createPlatformWindow, and assigns the
result to d->platformWindow. If the platform sends any sort of events
synchronously during the creation, the event will be delivered to a
QWindow that doesn't have a handle() yet, resulting in noop handling
of the event, or crashes.

To mitigate this situations, platforms should do as little a possible
in the QPlatformWindow constructor, and leave initialization to the
new method, where the QWindow will have a handle().

The macOS platform plugin still has a m_initialized guard, to prevent
sending geometry changes during initialization, as this will result
in a resize event before a show event. This forced behavior seems
dubious, but is left for a followup patch.

Task-number: QTBUG-61977
Change-Id: I04d32d93391e89d068752b719270438e7024ad46
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-07-17 13:05:55 +00:00
..
accessible Merge remote-tracking branch 'origin/5.8' into 5.9 2017-02-08 15:49:18 +01:00
animation Add qtguiglobal.h and qtguiglobal_p.h 2016-07-03 07:55:57 +00:00
doc Merge remote-tracking branch 'origin/5.9' into dev 2017-04-20 12:31:27 +02:00
image Fix deprecation warnings 2017-07-11 18:59:07 +00:00
itemmodels Convert features.whatsthis to QT_[REQUIRE_]CONFIG 2017-06-29 02:22:34 +00:00
kernel Add QPlatformWindow::initialize() for two-step window creation 2017-07-17 13:05:55 +00:00
math3d Use qRadiansToDegrees() and qDegreesToRadians() more widely 2017-07-05 10:15:34 +00:00
opengl Add support for OpenGL ES 3.2 in QOpenGLExtraFunctions 2017-06-30 18:12:58 +00:00
painting Flesh out and clean up QBackingStore documentation 2017-07-14 13:42:48 +00:00
text Use qRadiansToDegrees() and qDegreesToRadians() more widely 2017-07-05 10:15:34 +00:00
util Add support for parameters in QShaderGenerator 2017-07-08 09:05:23 +00:00
vulkan Work around qvulkanfunctions.h not getting installed 2017-06-22 12:04:57 +00:00
configure.json Merge remote-tracking branch 'origin/5.9' into dev 2017-07-06 13:54:25 +02:00
configure.pri Fix freetype detection on QNX 2016-11-07 07:26:29 +00:00
gui.pro Merge remote-tracking branch 'origin/5.9' into dev 2017-04-07 10:24:33 +02:00
Qt5GuiConfigExtras.cmake.in
QtGui.dynlist