Commit Graph

39563 Commits

Author SHA1 Message Date
Liang Qi
bd9959bde2 Merge remote-tracking branch 'origin/5.12' into 5.13
Conflicts:
	.qmake.conf
	src/gui/painting/qdrawhelper.cpp
	src/network/ssl/qsslsocket_openssl.cpp
	src/widgets/styles/qstylesheetstyle.cpp

Change-Id: Ibe1cd40f46a823c9e5edbe0a3cd16be1e1686b17
2019-06-20 07:50:44 +02:00
Paul Wicking
6398588338 Doc: Fix typo in brief
Fixes: QTBUG-76512
Change-Id: I8db4288b22416c6af9aaaa72c5005b81d79bf620
Reviewed-by: Martin Smith <martin.smith@qt.io>
2019-06-19 15:18:50 +02:00
Volker Hilsheimer
b877285694 Android: don't run test function for fd leakage, make test pass
It is sufficient to run this test on systems where we don't need to
set up dependencies and satisfy other assumptions the test makes. It is
safe to assume that if this test passes on regular Unix, then
QTemporaryFile will behave as expected on Android as well.

Change-Id: Iaf9a67d7c12b3acfd0992bab591c3f906b073d9e
Fixes: QTBUG-73564
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-06-19 00:04:29 +02:00
Volker Hilsheimer
6275e037bf Android: Make sure that the root file system is in the list of volumes
On Android (at least in the emulator), the root file system is reported
to be of type rootfs, which we usually ignore on Linux as legacy.

Also, it's a read-only file system with bytesTotal reported as zero. We
usually ignore such volumes, but as the root file system is expected to
be in the list, we should never ignore it.

This fixes the failing QStorageInfo test.

Change-Id: I778ee9e76e385649e58d5e5ac7e0ae2d8e0ba92b
Fixes: QTBUG-73563
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2019-06-18 23:03:01 +02:00
Timur Pocheptsov
cdfe8c76af checkOcspResponse - remove unneeded locking
and also plain wrong comments: since we don't set verification callback
on a store - we don't have to lock (our q_X509Callback never gets called).
This change should simplify the merge with change I have in 5.12 (where
I completely got rid of locking). Since I don't care about exact errors
found (relying on the fact it's the same chain of certs we check in
SSL_connect/SSL_accept), for now we don't try to extract them from
OCSP_basic_verify. In fufure, if these chains are different, we
can create a temporary store (see how it's done in 'verify', for example)
and set a VF callback on this store.

Change-Id: I4a36e19836d19c2ea95c869dcfe85f49fe723ff0
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-06-17 14:55:55 +02:00
Tor Arne Vestbø
6fa5dfddf8 Don't hardcode compiler when building headers
Normal sources are built using $(CXX), which is defined in the makefile,
but can be overridden. We should do the same lazy evaluation of the
compiler for headers.

Change-Id: Ic548786bd18ed8fb7eb0b58a527615ab19000323
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2019-06-13 14:11:50 +02:00
Tor Arne Vestbø
d5adaacbb2 macOS: Make QMacStyle::standardPalette() reflect the platform theme
This palette isn't usually used, and the platform theme's palette is
preferred, but if a client asks for the standard palette (e.g. as
used in the styles example) we should try to report a palette that
gives the system look.

Change-Id: Ie5e58c890c13c716a9e9b5093b954a737e550dee
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-06-19 11:43:14 +02:00
Friedemann Kleint
6d61b10f65 High DPI: Fix crash in QWindow::mapFromGlobal()
With Web Engine, QQuickWidget or similar, the code can hit on the offscreen
window, when its handle is null. Add a check.

Amends 3af7b27917.

Fixes: QTBUG-76440
Change-Id: I123633d18386efd3dbfb22aad6072e4f0877a62e
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-06-19 08:34:01 +02:00
Frederik Gladhorn
a3e69954f5 Add accessibility notification role
On Linux this role is needed to make desktop notifications work.
There is no equivalent for Windows, iOS or macOS. On these platforms the
role will have no effect.

Fixes: QTBUG-76333
Change-Id: I4ef3b3321f7a0e2c09c1ce432a668428d14c52b7
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
2019-06-12 10:29:45 +02:00
Morten Johan Sørvig
1975a98345 macOS: prevent duplicate backing store scaling
m_requestedSize is already scaled by the QtGui scale
factor (e.g. as set by QT_SCALE_FACTOR). Multiplying
by QWindow::devicePixelRatio() then applies this factor
again.

Use QPlatformWindow::devicePixelRatio() instead, which
returns the platform scale factor.

Change-Id: I133e99d84f4718215fda9ef0cf81a113b51db2c7
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2019-06-19 13:12:59 +02:00
Richard Moe Gustavsen
084f84d112 QVector3D: fix documentation spelling error
Change-Id: Id3b97ea3ce45452e0b59986bc4fd84fd9b0d3708
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2019-06-19 10:25:57 +02:00
Michal Klocek
b68a9df076 Fix bogus setAttribute setter warning
Since e9e16c7464 running webengine application you can get
warning "Attribute Qt::AA_ShareOpenGLContexts must be set before
QCoreApplication is created."

WebEngine set shared open gl context on qt_call_pre_routines, so
when QCoreApplicationPrivate init() runs.

Fixes: QTBUG-76391
Change-Id: I5fc146ed70054b0c1597fe06615cea2d7a8969d8
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2019-06-19 08:42:35 +00:00
Tor Arne Vestbø
f344b6357e macOS: Invalidate window shadow after QNSWindowBackingStore resize
The window shadow rendered by AppKit is based on the shape/content of the
NSWindow surface. If the backingstore is partially transparent, we need
to invalidate the window shadow after each resize (and subsequent flush)
of the backingstore.

Change-Id: I451370af5a8c0c25faea26beb3faa2483a33a5cf
Fixes: QTBUG-74560
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-06-18 14:59:56 +02:00
Tim Blechmann
cf052e0737 Windows: Use UUIDs instead of function pointer to mangle window classes
Instead of using the address of a function pointer, we name-mangle window
classes by using an UUID.

This fixes a real-world problem with multiple Qt instances where for some
reasons the window function appears to be mapped to the same address.

Change-Id: Id27e8d7aa17a4db9c14559224395f49d3ecd8d78
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2019-06-18 10:40:06 +00:00
Christian Ehrlicher
b568e93149 QSS/MenuItem: only draw checkbox if no item is available
QTBUG-66380 introduced a behavior change drawing a checkable menu item
with an icon. After this path the checkmark and icon was drawn.
Revert this regression so the stylesheet style matches the behavior of
all other styles. A checkable item should have two different icons
(QIcon::On and QIcon::Off).

Fixes: QTBUG-74655
Task-number: QTBUG-66380
Change-Id: I32ac2f397087a1c3d5d07400372109703c00c1ba
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2019-06-17 20:46:36 +02:00
Frederik Gladhorn
8e528d8bd0 iOS Accessibility: implement accessibilityElements and check indexing
Fixes: QTBUG-70683
Change-Id: I122c67a5cee22363de5c8e45dc1c83e7760162fb
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2019-05-21 12:31:07 +00:00
Thiago Macieira
36c6b7ee4d Append LTCG arguments properly
If the QMAKE_CXXFLAGS already had -ffat-lto-objects, the *= wouldn't add
it it again, after our "-flto -fno-fat-lto-objects", which meant the
last one would stand.

Change-Id: Ic9cfa6256b5045caa6e6fffd15a7f6cda7aaa837
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
2019-06-13 23:02:22 -07:00
Morten Johan Sørvig
7ae2f47214 QHighDpi: Replace fromNative()/toNative() with scale()
We need one scale() function for each type: the scale factor can be
inverted by the caller for the fromNative case. Add a generic
templated implementation which will handle simple types. Add add
specialization functions for compound types that don't have
operator*(), as well as for position types (e.g. QPoint) which account
for the origin.

There's no need for fromNativePixels() and toNativePixels() overloads
for each type; replace with generic implementations which call
scale(). Do the same thing for fromNativeLocalPosition().

Some user code is calling fromNative()/toNative() directly, so leave a
definition of those functions around for now. Also leave a couple of
one-off scaling functions which do not fit the pattern.

Also fix “narrowing conversion scaleFactor to int” warning for the
QMargins scale function.

Change-Id: Ia67accbb670a80dc1747c2e264b97aab75b1251b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2019-05-14 19:31:41 +02:00
Topi Reinio
4ad915425d Doc: Replace example file lists with links to code.qt.io
Instead of generating .html page for each file in an example
project, generate links to code.qt.io, under the correct
path and branch, where the user can browse the example source.

Store all URLs under QT_INSTALL_DOCS/config where other qt5
submodules can access them. The repository name appears in
the URL, so we cannot define a single URL for all modules.

Task-number: QTBUG-74391
Change-Id: I63d4d6d2c352877797b1ee8e057d48c0cd789bff
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2019-05-03 14:24:42 +02:00
Volker Hilsheimer
e6f7cc96fa Use C++11 alignof as reference for Q_ALIGNOF, and fix test on Android
Not removing QT_EMULATED_ALIGNOF logic from qglobal.h at this point, as
it might be used elsewhere.

Change-Id: Ie78922bb604a54aed03ab5b88e31a7f29a3a4de0
Fixes: QTBUG-73561
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-06-17 17:13:22 +02:00
Volker Hilsheimer
eed85dc3e7 Turn on C++11 and 14 correctly
Without this, a local build of this test on macOS fails.

Change-Id: Ie03fa47ff0a54db752af47f223fbe5724cd9c976
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-06-17 17:13:21 +02:00
Volker Hilsheimer
5aaade8c93 Fix editing of QDateTimeEdit in 12-hour locales that don't use AM/PM
The code made two incorrect assumptions: that the strings used are "AM"
or "PM", or would be translated. Instead, the locale provides the
correct strings, and there is no need to translate. However, in order
not to break existing translations, we give those preference.

And that the AM/PM string is not longer than 4 characters, while in
e.g Spanish/Columbia locale the strings are "A. M." and "P. M.", ie 5
characters long. Also, the use of qMin in a function that is asked to
provide the maximum section length is wrong.

[ChangeLog][QWidgets][QDateTimeEdit] Use the information provided by
the locale to determine the AM/PM strings, unless they are already
translated.

Change-Id: I6d1b05376e5ac62fc58da2cdea2e6cb732ec6747
Fixes: QTBUG-72833
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2019-05-28 06:14:32 +00:00
Liang Qi
11569f7071 Merge "Merge remote-tracking branch 'origin/5.13.0' into 5.13" 2019-06-17 10:17:56 +02:00
Liang Qi
98813ead02 Merge remote-tracking branch 'origin/5.13.0' into 5.13
Change-Id: I39248f6c561c6274ab5ead64238dd2f80e167eee
2019-06-17 10:17:56 +02:00
Qt Forward Merge Bot
1632786f00 Merge "Merge remote-tracking branch 'origin/5.12' into 5.13" 2019-06-14 01:00:09 +02:00
Qt Forward Merge Bot
2a9cf3aeab Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: I53a50669face6f68ddc046fd2102de8c1f888b4b
2019-06-14 01:00:09 +02:00
BogDan Vatra
0676645318 Android: Fix build with NDKr20
In NDK r20 clang adds -lc++ library automatically which leads to link fails.

[ChangeLog][Android] Fix NDK r20 linking.

Task-number: QTBUG-76293
Change-Id: I6675180a3555d1ad9047d7a9ce1c03333cf0ab35
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
2019-06-13 07:14:54 +00:00
Mårten Nordheim
fc9ae22c88 tst_qsslsocket: fix racy test
In this threaded setup the server can sometimes have the data before it
calls "waitForReadyRead", what happens then is that we fail the wait and
as a result the test fails overall.

Let's check if we actually got some data after all and then continue if
we did. Since both the client and the server currently wait the same
amount of time (2s) the max timeout for the client was increased by
0.5s so it has some time to notice that the server got the message.

Change-Id: Ib5915958853413047aa5a7574712585bcae28f79
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
(cherry picked from commit e79b1dcdf5)
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit d53b8b77bc)

Change-Id: I2f6ffb8e0a9b4d591edb6925e48baffcefc14511
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-06-13 04:18:18 +00:00
Timur Pocheptsov
2c5d21be43 H2 auto-test, degrage flowControlServerSide
our powerful VMs die/time out on 30 requests, use 10 only.

Change-Id: Ibf3ceedeac1839f9a88f88def844c7d61786b94f
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
(cherry picked from commit 515c6e7639)
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-06-13 04:16:54 +00:00
Mårten Nordheim
2e7b7e4c90 QSslSocket: add and set the TLSv1.3-specific PSK callback
If this callback is not set then OpenSSL will call the callback
used for <= TLS 1.2 unconditionally when connecting. If using PSK it
will call it again later once the preshared key is needed.
We don't currently handle the TLSv1.3 PSK, but we definitely should.
But for now we can work around it - when psk_use_session_callback is
called we simply change the PSK callback to a dummy function whose only
purpose is to restore the old callback.

This is mostly done to keep behavior the same as it is now for users
(and to keep our tests running).

Later we can add a new signal and handle this new feature properly.

Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit d8efc8d718)

Task-number: QTBUG-67463
Change-Id: I4aca4ae73ec4be7c4f82a85e8864de103f35a834
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-06-13 04:16:09 +00:00
Fredrik Orderud
90aefe0843 Add quoting to deal with empty ${CMAKE_CXX_STANDARD_LIBRARIES}
Done to fix broken CMake WebAssembly support, where CMAKE_CXX_STANDARD_LIBRARIES
appear to be empty. The regression was introduced by
ba4fdd99ff.

This fixes the following CMake error on find_package(Qt ...):
string sub-command REGEX, mode REPLACE needs at least 6 arguments total to command.

Fixes: QTBUG-73475
Fixes: QTBUG-76244
Change-Id: Ieebe8cd1d49bb302dc37d8f118cc0b9376d6cdd7
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2019-06-11 12:44:49 +02:00
Paul Wicking
2ea3e133c3 Doc: Add Q_OS_WASM documentation
Fixes: QTBUG-76264
Change-Id: Ie167a64e0c84375012e8b1056eaae2243b09bf5d
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2019-06-07 14:47:31 +02:00
Andy Shaw
e67ae0d62f Update SQLite to 3.28.0
[ChangeLog][Third-Party Code] Updated bundled SQLite to version 3.28.0

Change-Id: If2a893c1dd5d5f97032a0a9b1f7ff78b9e715038
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2019-06-05 21:03:20 +02:00
Timur Pocheptsov
c6763ec149 tst_qnetworkreply - QSKIP/disable tests that deadlock on Windows
We use global object to store errors found by q_X509Callback.
Thus, we also use a lock/mutex. It would appear all tests
involving in-process server and QNAM are prone to intermittent
failures on our Windows VMs - it's always about timeouts due
to the client socket (QNAM) locking and the server socket blocking
main thread while trying to acquire the same lock.

The real fix is to re-write our verification callback so that
it does not need locking/does not block the main and 'http'
threads as a result. But such change is too dangerous for
5.13.0 so we instead have a somewhat handicapped/reduced
test on Windows.

The fixed QSSlSocket will go into 5.13.

Task-number: QTBUG-76157
Change-Id: Ia54701bcb3f6f079a69e52c8904ac3efcee4a787
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2019-06-04 14:36:58 +02:00
Volker Hilsheimer
29425f1e77 Update documentation regarding import/export restrictions for OpenSSL
From Qt 5.12.5 and 5.13.0 on we ship OpenSSL 1.1.x libraries with Qt
through the binary installers, as Qt is a general purpose toolkit and
as such not subject to import/export restrictions.

However, application developers still have to take care of the
relevant requirements and compliance before distributing OpenSSL.

Change-Id: I1c3622116eadda270d638becfa23a5493976e919
Fixes: QTBUG-75814
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Akseli Salovaara <akseli.salovaara@qt.io>
2019-06-04 07:48:34 +00:00
Lorn Potter
df9f9fb368 wasm: handle mouse events even when not over a window
If the mouse button is held and mouse moves from over the window, that
window would never register the button up event, and cause issue like
being able to move a dialog around by simply moving the mouse around.

Change-Id: I1363ac9c9f4113a79bf6863668ba74b90b1cea4a
Fixes: QTBUG-75951
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2019-05-30 18:30:17 +10:00
Martin Smith
8d2df3002b doc: Fix tr() documentation issue
The declaration of tr() in the Q_OBJECT macro interferes with the
tr() declaration in the QObject class. This update fixes that bug
by resetting QT_TR_FUNCTIONS to be empty and by ensuring that the
tr() declaration in class QObject is seen by clang when qdoc is
running.

Change-Id: If55339fc417f3eee1a1e1ce3df75a18af443d630
Task-number: QTBUG-75864
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2019-06-13 04:52:57 +00:00
Lorn Potter
762d4afdc1 wasm: fix crash in case network js event becomes null or undefined
also fix data progress

Task-number: QTBUG-75489
Change-Id: I5222fda64d258a6ae78ba0ca20194b81c289c27e
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2019-05-27 11:08:47 +10:00
wangChuan
b0493998c3 QTextBoundaryFinder: don't break after uppercase followed by comma
[ChangeLog][QtCore][QTextBoundaryFinder] Sentence breaking now
no longer breaks between uppercase letters and comma.
This is a deviation from the Unicode specification,
but produces less surprising behavior.

Fixes: QTBUG-75857
Change-Id: If1e78b3be3f20250d01100353ea7da6110985f82
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2019-05-23 01:24:18 +00:00
Antti Kokko
ca0f85da82 Add changes file for Qt 5.13.0
Edited-By: Thiago Macieira <thiago.macieira@intel.com>
Change-Id: I9d681de1716965342fb1635c8d018dde22fe2c98
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-05-20 10:02:20 -07:00
Joerg Bornemann
015d7f16cb Fix QMAKE_PRL_INSTALL_REPLACE for macOS
The regular expression with the alternative is not portable.
Use a separate QMAKE_PRL_INSTALL_REPLACE item.

This amends commit f00de33.

Fixes: QTBUG-75950
Change-Id: I78e172053f8b05be7d595a1c9e1695ea658b0547
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2019-05-22 10:40:36 +02:00
Joerg Bornemann
f00de3322e Replace absolute Qt lib dir in .prl files
In the case of building a Qt module repository against an installed
qtbase the .prl files contain absolute paths to Qt dependencies e.g.
'/install-prefix/lib/libQt5Core.so'.

Those must be replaced with $$[QT_INSTALL_PREFIX]. The .prl
replacement code however only takes $$MODULE_BASE_OUTDIR/lib into
account.

Fixes: QTBUG-75804
Change-Id: I5ea5623ca7396b672fded3f1b9434b9ad5ed12ec
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2019-05-20 13:06:57 +00:00
Christian Ehrlicher
8bcc6f111b QComboBox: add QT_DEPRECATED_X() for deprecated functions
QT_DEPRECATED_X() was not added with
d6d33f0b80 for the deprecated
QComboBox functions - Add them now.

Change-Id: I8d4ea08766ae6ff052dfccac6c3f35ecf34affb7
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2019-05-09 20:29:26 +02:00
Eskil Abrahamsen Blomfeldt
3803b41eae Revert "macOS: disable threaded OpenGL (unconditionally)"
This reverts commit fc3e851414.

The patch introduces a crash in Qt Quick in the test
tst_QQuickWindow::multipleWindows() on macOS 10.12.

Reverting this will cause dead locks on older macOS versions
for users who opt in to using layer backed mode, so we
should bring this back as soon as a fix can be found for
the crash. But in order to proceed with qt5.git integration,
we revert it for now.

Task-number: QTBUG-75782
Change-Id: I57f6b2918c3fc4b4e58a8c39b24a19e2d796a4f4
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2019-05-14 12:30:13 +00:00
Morten Johan Sørvig
1c7b5c20a5 QOpenGLWindow: set QOffScreenSurface screen
Required by QWasmOpenGLContext.

Task-number: QTBUG-75463
Change-Id: Ie3cb80b50d7c909e6f46a6dec19644bf27cd41e7
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
2019-05-14 11:00:26 +00:00
Morten Johan Sørvig
77216c5c52 wasm: rewrite/simplify OpenglContext
We don’t need the contextLost callback since we can
poll for the “lost” status in isValid()

Recreating the native context is not very helpful,
since it destroys all current context state. Remove
this logic.

Support makeCurrent() on different surfaces, as long
as they refer to the same screen. Create the native
context (and record which screen) on the first call
to makeCurrent()

Task-number: QTBUG-75463
Change-Id: I6eb830df14578ffdbed5b0505fe860ce433e4f9b
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
2019-05-14 11:00:19 +00:00
Morten Johan Sørvig
c8c4819b7b wasm: controlled screen destruction
Freeing OpenGL resources requires a current context,
which (on wasm) requires a screen.

Add a destroy() functions to QWasmScreen, QWasmCompositor, QWasmWindow,
and QWasmBackingStore which facilitates OpenGL cleanup before we start
deleting screen objects.

Task-number: QTBUG-75463
Change-Id: I9954b536416b9147965c74459ccad838d1578778
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
2019-05-14 11:00:14 +00:00
Morten Johan Sørvig
4e0f262892 wasm: add QWasmOffscreenSurface
This no-op implementation is sufficient to support OpenGL cleanup
use cases, where the OpenGL context needs to be made current at times
where we don't have a window available.

A specific requirement on WebAssembly is that the context is tied
to one specific screen; which is an extra requirement on QWasmOffscreenSurface,
compared to the other platforms.

Task-number: QTBUG-75463
Change-Id: Ie3658cb235bf342be66f19dfe981e3a56a90e1b6
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
2019-05-14 11:00:08 +00:00
Morten Johan Sørvig
00de44701d wasm: use correct coordinates when blitting
The target position is the position on the canvas,
not the global position on the page.

Task-number: QTBUG-75463
Change-Id: I4ea2c9afacd2065fa975f6fa2e6a93d98f637854
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
2019-05-14 11:00:02 +00:00
Morten Johan Sørvig
6d7c7a5dda wasm: prevent crash on null backingstore pointer
We can get draw calls in between creating the platform
window and the platform backing store.

Task-number: QTBUG-75463
Change-Id: If0b67d40fac84e466f204ec23a267aa4c6121cbd
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
2019-05-14 10:59:57 +00:00