Commit Graph

40400 Commits

Author SHA1 Message Date
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
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
Joerg Bornemann
22c1e10e19 Fix emar invocation on Windows
On Windows we hit the command line length limit when building the wasm
port of Qt. We must not pass the list of object files directly to emar,
but write a response file which is then passed via the @ parameter.

Fixes: QTBUG-75257
Change-Id: Id518fd81325716b8efaba29f495568a9a3e34be4
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
2019-05-02 05:35:09 +00:00
Alexander Volkov
ef3daddae1 Use QPlatformTheme::TouchDoubleTapDistance for touch events
... and update the cached values on theme change.

Modify tst_QWidget::touchEventSynthesizedMouseEvent()
to avoid unexpected double click detection.

Change-Id: I151c47e851ebba7550b1b09caca2781c28d7d3d9
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2019-05-01 20:29:16 +00:00