Commit Graph

39323 Commits (2ea3e133c369deefeae0605ad2f32aaea52c9e97)

Author SHA1 Message Date
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
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
Morten Johan Sørvig 22c3c55de4 wasm: install one browser window resize handler
Install one browser window resize handler instead of
per-canvas resize handlers, which avoids having to
uninstall on QScreen destruction.

Task-number: QTBUG-75463
Change-Id: I8345262a906ed735f8e9e146f1e963f515cf0d25
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
2019-05-14 10:59:50 +00:00
Kai Koehne bac2b0ef36 qmake: Escape trailing backslash for OBJECTS_DIR for MinGW
qmake automatically appends a dir_sep to a few directory paths (see
MakefileGenerator::initOutPaths), and various .pri and .prf files rely on
that. Anyhow, for non-MSys MinGW on Windows this creates a problem,
because mingw32-make will interpret the backslash in

  OBJECTS_DIR = some_path\

to escape the following newline. We have been working around this
problem in various ways:

- winmakefile.cpp just removes the trailing \ for OBJECTS_DIR, at the
  cost of not being compatible with logic in .prf/.pri files that rely on
  the separator.
- winmakefile.cpp adds a '#avoid trailing-slash linebreak' comment for
  DESTDIR.  Anyhow, this does not seem to work for mingw32-make: If you
  reference $(DESTDIR), the variable will contain trailing spaces.
- unixmakefile2.cpp duplicates a trailing \ for DESTDIR.

The last approach is now taken also for OBJECTS_DIR.

Task-number: QTBUG-75257
Change-Id: Ie8171a990a9ce1cfbf1b94037252ef2392313338
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-05-13 04:37:59 +00:00
Kai Koehne 9dbbccf7a2 Fix emar invocation on Windows for MinGW
If qmake is called without sh.exe in PATH, the relative paths
in OBJECTS will contain backslashes as separator.

Anyhow, emar needs forward slashes. Use GNU make's subst command
to fix this.

This amends  22c1e10e19.

Task-number: QTBUG-75257
Change-Id: Iacc6fe69cf470f35c6ddd829be7a80944346452d
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-05-13 04:37:47 +00:00
Morten Johan Sørvig fc3e851414 macOS: disable threaded OpenGL (unconditionally)
We can’t determine when the app will use layer-backed
views without having access to the QWindow and NSView
instance, so make the conservative choice of always
returning false for ThreadedOpenGL.

Task-number: QTBUG-74820
Change-Id: If2779b17eead78ce1929ccebc3bd8fc0eb00c4b5
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2019-05-08 08:41:10 +00:00
Morten Johan Sørvig 0b693175e4 wasm: make idealThreadCount() work on all threads
navigator.hardwareConcurrency can be accessed from
the main thread only. Read and cache the value on
QCoreApplication initialization.

Change-Id: I731f7f356ce106c7107977783d4b763326af06b6
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
2019-05-08 08:40:55 +00:00
BogDan Vatra c996d13126 Android: Fix x86_64 linking
x86_64 libs are located in ANDROID_PLATFORM_ROOT_PATH/usr/lib64
not in ANDROID_PLATFORM_ROOT_PATH/usr/lib .

Fixes: QTBUG-47672
Change-Id: Ia1f74f7c2a30b276b95fd0e7dcf8370d739e3c41
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
(cherry picked from commit 43763e2796)
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2019-05-08 08:40:44 +00:00
Morten Johan Sørvig 9c196b40d1 wasm: remove qDebug
Change-Id: Ic9812421b2a79a33bb138f448fe132dab141b724
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
2019-05-07 21:34:11 +00:00
Frederik Gladhorn 4f5b2733b6 Merge 5.13 into 5.13.0
Change-Id: I98e2b93d78dba1cbf746c39a0b5877d5e72c91fc
2019-05-07 14:51:25 +02:00
Andy Shaw ac68ef1efc Don't duplicate font family names in the fallback list
Fixes: QTBUG-75333
Change-Id: Iaaf4b13d50c6b9b52e629b81d5e9cbc552a0202c
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-05-07 07:24:00 +00:00
Lorn Potter 050e7bafad wasm: add fixedPitch font
Also define our default font so as to return something we actually have

Task-number: QTBUG-75587
Change-Id: I26e3c62921d369c3017af9796c0a20f7ac06d07c
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2019-05-07 07:21:58 +00:00
Karim Pinter 8ea0a82a6a xcb: make beep work
Adding xcb_flush after xcb_bell makes it work, no need to move the
mouse.

Fixes: QTBUG-75617
Change-Id: Ieeb47468bf31cfa6fcf2d48da56d54b9e6eac6fe
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
2019-05-06 16:12:40 +00:00
Lorn Potter 837c80bad3 wasm: fix passing environmental variables
Task-number: QTBUG-75530
Change-Id: Ic0f0bd8ce863f55d737d96bbf9e5473466381c9b
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2019-05-06 09:49:38 +00:00
BogDan Vatra 854156dd07 Android: Nuke mips architectures
Mips archs were removed from Android NDK long time ago.

Change-Id: Icf64a1e2cfbe3fe7307c7898b14fd199d9eeaad3
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2019-05-06 08:01:04 +00:00
Qt Forward Merge Bot e4e5a1f0b7 Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: Iaad9509712c848ed42ada2c25065162a6fc5a930
2019-05-06 01:00:13 +02:00
Mikhail Svetkin a50b29d65b Fix dnd regression c427ba53aa
Qt starts drag-and-drop on a mouse button press event. Cococa in
this case won't send the matching release event, so we have to
synthesize it here.

Task-number: QTBUG-72417
Change-Id: I645b6a2733c1ea11ac4545cf3405f826af45fa47
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2019-05-05 16:43:31 +00:00
Joerg Bornemann 6288c12bb4 Resolve QMAKE_INCDIR_VULKAN on every qmake call
Do not store this variable locally, because
a) it might change if the SDK location changes
b) does not play well with Qt installer packages which would provide the
include path of the build machine.

To achieve this we introduce the (usual) magic value - for
QMAKE_EXPORT_INCDIR_VULKAN to denote "do not export this value".

Fixes: QTBUG-73796
Change-Id: Ied26ee12cbcdf7f5f6e1caef5d29dadf6309c5d6
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2019-05-05 13:15:37 +00:00
Nick Shaforostov 5d76529580 fix crash when using ALDI usb-stick with broken filesystem
I was using a cheap usb-stick from ALDI supermarket with fat32,
and my application crashed because filesystem was empty.

Unrealistic scenario, but still just returning here false is better
than a crash

Change-Id: I8979d5a4e19ce57770ab03983e847b272ebf7019
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-05-05 09:15:25 +00:00
Nick Shaforostov 4d5fb551d6 fix compilation with various -no-feature-* options
Change-Id: Ic1975db497613e3efe50be4246c167efe10d8e31
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2019-05-05 09:14:48 +00:00
Allan Sandfeld Jensen 835c3e94f6 Only call addFontToDatabase once per family,style
We get a call to storeFont for each supported script-type of
a font, but we use the font signature to register all the supported
types at once, and can thus save ~3/4 calls to addFontToDatabase.

Change-Id: I9d06252fb7f805e7babac58d82fa412ec4e0e36a
Fixes: QTBUG-59360
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2019-05-03 19:22:59 +00:00
Christian Ehrlicher 615b02bfa2 QtCore: compile with QT_DISABLE_DEPRECATED_BEFORE=0x050d00
Don't call or implement functions which are not available when compiling
with QT_DISABLE_DEPRECATED_BEFORE=0x050d00

Change-Id: I949b12bba880c516391f312f58c8748303a1790d
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-05-03 18:29:52 +00:00
Massimo Callegari ff447717a2 configure: skip Freetype/Fontconfig autodetection only on MSVC
In Windows there are package-based systems like MSYS2 that provide
pkg-config for packages lookup.
This change skips autodetection only for MSVC which doesn't
provide the aforementioned feature.

Task-number: QTBUG-57436
Change-Id: Iaed517e93031adbd2fd9dbf350764f76569b94ea
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2019-05-03 17:00:42 +00:00
Liang Qi 76efe79d5c Merge "Merge remote-tracking branch 'origin/5.12' into 5.13" into refs/staging/5.13 2019-05-03 12:55:47 +00:00
Liang Qi b5c2535eb0 Merge remote-tracking branch 'origin/5.12' into 5.13
Conflicts:
	src/3rdparty/pcre2/qt_attribution.json

Change-Id: Ibae941cb12662f27bd6962ee02bc235971c59a15
2019-05-03 10:44:24 +02:00
Mitch Curtis 42d865e08c androiddeployqt: print qmlimportscanner command in verbose mode
This helps debugging import issues, and will produce output like this:

Running qmlimportscanner with the following command: /media/dev2/qt5.13-android-x86-debug/qtbase/bin/qmlimportscanner -rootPath /media/dev2/qt5.13/qtquickcontrols2/tests/auto/customization/ -importPath /media/dev2/qt5.13-android-x86-debug/qtbase/qml /media/dev2/qt5.13/qtquickcontrols2/tests/auto/customization/

Task-number: QTBUG-73572
Change-Id: I3c8fe16cb76f1b11913a3b9cc98470f6071438ab
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-05-03 08:39:02 +00:00
Andy Shaw 8f24dbaf07 Android: Fix deleting of new lines when using backspace
With some keyboards (ASOP, SwiftKey) it was not deleting any new lines
when using backspace. So this ensures that it is correctly deleting at
these points. Tested with the Samsung, Gboard and SwiftKey keyboards.

Fixes: QTBUG-74824
Fixes: QTBUG-57798
Change-Id: Id2e4f96c18c3fec0e7f444b55dd3db2653625fd0
Done-with: Vova Mshanetskiy <vovams163@gmail.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
2019-05-03 06:58:02 +00:00
Christian Kamm 6c0ced4b7a HTTP2: Fix handling of GOAWAY frames
Previously there were two issues:
- A QNetworkReply could be aborted but be in NoError state.
  (GOAWAY frame with 0 as error)
- Streams in a connection would be aborted prematurely when a GOAWAY
  frame with a lastStreamId of 2^31-1 was received.

Fixes: QTBUG-73947
Change-Id: Iddee9385c1db3cc4bb80e07efac7220fff787bf3
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-05-03 03:57:05 +00:00
Lorn Potter 3f25bcd5b7 wasm: use requestActive instead of activate
Task-number: QTBUG-74868
Change-Id: Ibbbac1ece66c8978440a282bf6949a82fb64d216
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2019-05-02 23:42:33 +00:00
Andy Shaw 047633a945 Cocoa: Get the right zero digit for the locale
Change-Id: Ic23e541e1b12b3c94f8d191cb8fb0f76086b69a5
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-05-02 17:48:39 +00:00
Giuseppe D'Angelo 513e29af1d QSharedPointer: fix docs for create()
In 5.12 only the variadic argument version is left (as all
supported compilers have variadic templates). Remove the docs
of the nullary overload, and fix the docs for the remaining
overload.

Change-Id: I54cc7ea71cc61ba1330a9ad92e4fa2ae7f749bac
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-05-02 16:18:43 +00:00
BogDan Vatra 595d816c58 Android: Copy extra libs in aux mode
Change-Id: Ibbdd6b9c23c094923bc60a8a013f3ac356444510
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-05-02 14:50:33 +00:00
Milian Wolff 75634c9a53 Reduce amount of tracepoints required for event tracking
Encode the consumed/filtered state in the _exit tracepoint and remove
the separate tracking of receiver event handling. Combined, this
reduces the size of the trace file.

Change-Id: Icb3cb2dd47798543905cea450046d6fad559a15b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-05-02 14:15:58 +00:00
Giuseppe D'Angelo bfe8b506c7 Upgrade PCRE2 to 10.33
Adjust also the attribution file.

Change-Id: I27bdbcf07bdca51bb5ae169ca50dd63502f5468f
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2019-05-02 13:38:54 +00:00
Joerg Bornemann d5071a4016 Fix prl replacements if libdir is in QMAKE_DEFAULT_LIBDIRS
QMAKE_PRL_LIBS contains absolute paths to libraries, e.g. libqtpcre2.a.
On "make install" the libdir is replaced with the installation target
libdir. If the libdir is in QMAKE_DEFAULT_LIBDIRS (e.g. /usr) then the
replacement was empty. That worked fine for include paths but not for
paths referencing files in that libdir:
/my/build/lib/qtbase/lib/libqtpcre2.a would become /libqtpcre2.a.

Add another replacement that takes care of file paths and inserts
$$[QT_INSTALL_LIBS].

Fixes: QTBUG-75460
Change-Id: I4e84478a50c24d4143ad5695493cad2992735cf2
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
2019-05-02 13:04:22 +00:00
Paul Lemire 389dec3e7c Only generate temporaries when it makes sense
- Never for global inputs
- Otherwise only if the temporary is referenced more than once
  -> meaning it's actually caching the result of some operation

Tests updated accordingly.

Change-Id: Ic76615370d23dee3965ca6350d5257a8be5a3e22
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2019-05-02 12:47:05 +00:00
Liang Qi 166889ddcb Merge remote-tracking branch 'origin/5.12' into 5.13
Conflicts:
	src/corelib/kernel/qobject.cpp

Change-Id: I8ca1163a1fa8072dcd16ea4426c58219149599fd
2019-05-02 09:39:31 +02:00