diff options
| author | Laszlo Agocs <laszlo.agocs@qt.io> | 2020-04-21 12:28:07 +0200 |
|---|---|---|
| committer | Laszlo Agocs <laszlo.agocs@qt.io> | 2020-04-21 13:03:39 +0200 |
| commit | 8524d29ce8aa16c65abd8eb6688ce24b710fe356 (patch) | |
| tree | f04ff72fca3204b1aac996f51a749d94445f4586 /src/opengl/qopenglvertexarrayobject.cpp | |
| parent | 06d431e37f1015b91d0a6a7d9d6680f133e32c57 (diff) | |
Prevent asserts in certain QWindow re-creation cases
Amends 402efef57bb6a04ad778d3139100becc2cba31eb. The original patch
has a problem, namely that it directly calls QPlatformWindow::requestUpdate()
instead of going through QWindow::requestUpdate(). As there is a chance that
an update gets scheduled between the creation of the QPlatformWindow and this
extra, optional invocation of requestUpdate() at the end of QWindow::create(),
this becomes quite unsafe because QPlatformWindow, unlike QWindow, is not
graceful: it will just assert if there is a pending update still.
Solve the whole thing by storing the updateRequestPending flag of QWindowPrivate,
then resetting it, and then going through the safe, public
QWindow::requestUpdate() when our copy of the flag says so.
Task-number: QTBUG-81400
Task-number: QTBUG-70957
Pick-to: 5.15
Change-Id: I99aedfae3928b75301b46a4666c169e657ff8079
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Diffstat (limited to 'src/opengl/qopenglvertexarrayobject.cpp')
0 files changed, 0 insertions, 0 deletions
