Commit Graph

845 Commits (588cbca5b77e507de08cd23a63d23edd4f45b22e)

Author SHA1 Message Date
Kai Koehne 29ed90a147 Doc: Improve WinTab license information
Do categorize the license as LCS-Telegraphics License. Although SPDX
doesn't know about the license (yet), DejaCode does:

https://enterprise.dejacode.com/licenses/public/lcs-telegraphics/

So it's more helpful for the user to give the license a name, then
to just call it 'Custom'.

[ChangeLog][Third-Party Code] Changed classification of the wintab
license from "Custom" to "LCS-Telegraphics License"

Pick-to: 5.12
Pick-to: 5.15
Change-Id: Iba7538f67b43ceca2e599fc1ede520962d4a7e43
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-09-11 17:11:03 +02:00
Kai Koehne 10b5db1393 Improve license information for libpng
Use the official name and ID from SPDX:

https://spdx.org/licenses/libpng-2.0.html

Pick-to: 5.15
Change-Id: I199efd600373cdc150d48a449b122f90ff2c48ef
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2020-08-26 17:30:50 +02:00
Kai Koehne 0243951e0a MSVC: Fix C4996 warnings when building Qt
Task-number: QTBUG-85227
Pick-to: 5.15
Change-Id: I22ca672d993d77164c91939d1b8fad0c0332b57a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2020-08-19 12:46:09 +02:00
Alexandru Croitor 18cb90cd31 Android: Copy required gradle files in non-prefix shadow builds
This fixes running 'make apk' in a qmake android project,
when using a shadow non-prefix build.

An implementation detail is that COPIES can't take both files and
directories as values, so we split them into two steps.

Task-number: QTBUG-85399
Change-Id: I7373d6b7aede6e33096cb9718c679fa5e5dc1703
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-08-18 20:24:43 +02:00
Alexandru Croitor 2e6ca4bbc3 CMake: Fix copying of gradle resources in non-prefix builds
Amends b1f8ca8032.

Task-number: QTBUG-85399
Change-Id: Ibf0d721a7735dabd48e069a6098d1d9338cde660
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-08-14 18:13:38 +02:00
Eirik Aavitsland 7d27316d9f Make clang-format ignore formatting of third party code
Pick-to: 5.15 5.12
Change-Id: I865f86a1f9967971c4e525e634279a26ce11f688
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-08-06 13:35:30 +02:00
Eirik Aavitsland e22c0368d8 Update bundled libjpeg-turbo to version 2.0.5
[ChangeLog][Third-Party Code] libjpeg-turbo was updated to version 2.0.5

Pick-to: 5.15 5.12
Change-Id: I9d4c403fbc998243c32d1bf1f1fbaf53270ffb9c
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-08-06 13:34:53 +02:00
Linus Jahn 06f7a24574 3rdparty: Add reference C implementation of BLAKE2
This is required for adding support of the BLAKE2 hashing algorithms in
QCryptographicHash.

Change-Id: Icc981c3a99a2713fdd1c18766b05619254650622
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-07-31 15:05:08 +02:00
Alexander Volkov 2b781fd678 Revert "Add missing override" for 3rdparty vk_mem_alloc.h
This partially reverts 9bad3508fc.
Disable -Wsuggest-override for gcc when including the header
instead.

Change-Id: Id2507ce731da62bbd64aa6477b181735ba62adc1
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2020-07-29 15:35:01 +03:00
Andy Shaw 777d6a546d sqlite: Upgrade to 3.32.3
[ChangeLog][QtSQL][sqlite] Upgraded to v3.32.3

Pick-to: 5.15
Pick-to: 5.12
Change-Id: I3c00fb6b0bd7daa3465b38ac6536b82d0b16596f
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-07-16 10:09:41 +02:00
Andy Shaw 8f4f1789e4 Android: Don't treat gradle.pro as a buildable target
When installing gradle it can conflict as it will treat it as the target
and therefore install it as an executable although it is a directory
inside this one. As this does not build anything but is really an
installation target, we can mark it as aux template and change the target
name to avoid any conflicts with the existing directory.

Pick-to: 5.15
Task-number: QTBUG-80938
Change-Id: I000ee57521818b6d4d30d770362ff4700846e576
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2020-07-16 09:08:52 +02:00
Tor Arne Vestbø 2f8df4d1a8 Disable PCRE2 JIT on macOS ARM64
It's already disabled for many other ARM platforms, and upstream
support for Apple Silicon is still pending, so we disable it for
now. See: https://bugs.exim.org/show_bug.cgi?id=2618

Fixes: QTBUG-85528
Pick-to: 5.15
Pick-to: 5.12
Change-Id: I42b6e5efaa07c9b832cd05a47436eb86a214e9bf
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-07-10 23:34:33 +00:00
Andy Shaw c92528b6cc Mark gradlew with Unix eol endings as it is a script
Since this could end up being copied from a Windows machine to another
when it is part of a project using Android then we should make sure the
line endings are preserved to be on the safe side. This avoids a strange
problem when deploying due to gradle failing to run.

Change-Id: Ie170461a351c9279092b58d4e8353b81cc8561d3
Pick-to: 5.15 5.12
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2020-07-10 11:38:00 +02:00
Thiago Macieira 4e2f467036 forkfd: remove FFD_VFORK_SEMANTICS
This will never work, not unless libc implements it
themselves, since the child process is not allowed to return
from the function that does the vfork(), as subsequent use
of the stack would trash the frozen parent's return address,
and in our case that's syscall(). Instead, we may add a
vforkfd() function that takes a callback function that will
be called in that context, like the glibc clone(3) wrapper
does.

Pick-to: 5.15
Change-Id: I1dba29bc0f454df09ca1fffd161800b453c00593
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2020-06-30 08:11:23 +00:00
Alexandru Croitor a0bd8c7893 CMake: Fix pcre2 compilation with intelcet part 2
I somehow forgot that we build the pcre2 sources not only as part of
the bootstrap library and qmake, but also as separate library as well.

Apply the flags to the bundled library.

Amends 976fa5134a
Amends fa98adbd04

Change-Id: Ia1db3a8bd731c7e3ee4d7109be8e2ef98c594070
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-06-25 09:07:51 +02:00
Andreas Schwab a641720151 forkfd/linux: add support for RISC-V
Pick-to: 5.15
Change-Id: I758a401abd6851839908e09aec51edbe4aa95925
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-06-23 23:44:14 +00:00
Andreas Schwab b7bdd854cb forkfd/linux: handle failure from sys_clone
Pick-to: 5.15
Change-Id: I98a28a816fdc089cefcbf8f42053ddffedc10cdf
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-06-23 23:44:14 +00:00
Thiago Macieira bd793d3c46 Suppress warning of unused function on macOS
This function is only used on FreeBSD and Linux.

forkfd.c:243:12: warning: unused function 'convertForkfdWaitFlagsToWaitFlags' [-Wunused-function]

Pick-To: 5.15
Change-Id: I99ab0f318b1c43b89888fffd160bf81f01960f2f
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-06-12 21:52:40 -07:00
Oliver Wolff 45b0f1be68 Remove winrt
Macros and the await helper function from qfunctions_winrt(_p).h are
needed in other Qt modules which use UWP APIs on desktop windows.

Task-number: QTBUG-84434
Change-Id: Ice09c11436ad151c17bdccd2c7defadd08c13925
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-06-06 20:25:49 +02:00
Andy Shaw 542e7da817 Update the qt_attribution.json for SQLite
This got forgotten when SQLite was upgraded to v3.32.1, so this amends
e10e989ce83027f2f620bb6948be4948f3c91e76

Change-Id: I75799b6c55bc39c4cc050b5eb18a99d9f197410c
Pick-to: 5.15 5.12.9
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-06-04 23:20:20 +02:00
Andy Shaw 915549f6ed sqlite: Upgrade to 3.32.1
The patches applied are now removed as they are all included in v3.32.1

[ChangeLog][QtSQL][sqlite] Upgraded to v3.32.1

Pick-to: 5.15
Pick-to: 5.12
Change-Id: Ib5b26fb36d7ca49c1108a96097a48fe5b797f291
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-06-04 07:36:26 +02:00
Alexandru Croitor a9fbe53966 CMake: Regenerate tools and 3rd party
Change-Id: I38e065cddc954e8594a5dce823c3bb5385a8a1e8
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-05-29 23:22:43 +02:00
Giuseppe D'Angelo 7c8c8272b4 Actually apply the shadow stack Intel CET flags
C&P mistake dropped $$ from qmake variables, my fault.
Will squash manually in 5.15 to avoid introducing a bug there.

Amends fa98adbd04.

Change-Id: I3ce33dba16f512cd20c8d3c6adc4c1a09506c1ea
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-05-28 15:13:59 +02:00
Giuseppe D'Angelo fa98adbd04 Fix compilation of PCRE2 under Intel CET
Ubuntu 20.04 enables -fcf-protection by default.

PCRE2 10.35 sees this but complains that -mshstk is also necessary
to build its JIT. Detect whether the compiler is enabling Intel CET
automatically, and if so, build PCRE2 with the right options.

Pick-to: 5.15
Change-Id: I3440e689b81f4f07055f211a4fa7331a43eb410d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-05-27 22:29:55 +02:00
Laszlo Agocs 752497910b Remove ANGLE
This marks the end of EGL and OpenGL ES support on Windows.

The concepts of -opengl dynamic, -opengl desktop, QT_OPENGL=software,
etc. remain unchanged, with the exception of the disapperance of
everything ANGLE related.

CMake builds now work identically to qmake on Windows: they default to
'dynamic' OpenGL on Windows, unless -DINPUT_opengl=desktop is specified.

On Windows, Qt 6 is expected to default to the "dynamic" OpenGL model by
default, just like Qt 5.15. This can be changed by switching to "desktop"
OpenGL, which will link to opengl32 (publicly, so other libs and applications
will do so as well) and disallows using another OpenGL DLL.

The "dynamic" mode is essential still because the fallback to a software
rasterizer, such as the opengl32sw.dll we ship with the Qt packages,
has to to work exactly like in Qt 5, the removal of ANGLE does not
change this concept in any way (except of course that the middle option
of using ANGLE is now gone)

When it comes to the windows plugin's OpenGL blacklist feature, it works
like before and accepts the ANGLE/D3D related keywords. They will
then be ignored. Similarly, requesting QT_OPENGL=angle is ignored (but
will show a warning).

The D3D11 and DXGI configure time tests are removed: Qt 5.14 already
depends on D3D 11.1 and DXGI 1.3 headers being available unconditionally
on Win32 (in QRhi's D3D11 backend). No need to test for these.

[ChangeLog][Windows] ANGLE is no longer included with Qt. Dynamic OpenGL
builds work like before but ANGLE is no longer an option. OpenGL proper
or an alternative opengl32 implementation are the two remaining options
now. Attempting to set QT_OPENGL=angle or Qt::AA_UseOpenGLES will have
no effect on Windows.

Fixes: QTBUG-79103
Change-Id: Ia404e0d07f3fe191b27434d863c81180112ecb3b
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2020-05-26 15:11:40 +02:00
Alexander Volkov 9bad3508fc Add missing override
Change-Id: I88000e82ecbdc55e621dc8e22aff5e8f55cf9d0e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-05-21 11:34:12 +03:00
Joerg Bornemann 759da6742a CMake: Generate information about 3rdparty libs in module .pri files
For modules that are not yet ported to CMake and that use
   QMAKE_USE += libfoo
we need to provide the information about libfoo in the qt_lib_XXX.pri
files.

Also, we now generate qt_ext_XXX.pri files for bundled 3rdparty libs.

Task-number: QTBUG-75666
Change-Id: I9e4b057a197554ecb37c294c0bf09e2a2b3aa053
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-05-19 13:26:53 +02:00
Giuseppe D'Angelo 20f3ec461d Update PCRE2 to 10.35
[ChangeLog][Third-Party Code] PCRE2 has been update to version
10.35.

Change-Id: I9793bdd3d25b88eea0d4479f544b297d065b5fb6
Pick-To: 5.15
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-05-11 11:56:29 +02:00
Joerg Bornemann 317cfb6774 CMake: Fix CMP0100 warning for bundled harfbuzz
Add a SKIP_AUTOMOC argument to qt_add_3rdparty_library and use it in
BundledHarfbuzz.

Change-Id: Ie4aa61639a5ab64f286ac539989572a9ae6bc3d5
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-04-29 23:08:28 +02:00
Laszlo Agocs 574898c9eb vkmemalloc: make it compile with macOS 10.15 SDK
Simply rename the function in order to not clash with aligned_alloc()
that is marked as 10.15 only (and thus would need annotation etc.) in
the 10.15 SDK. (note that aligned_alloc is a C11 function which was
presumably not present in earlier SDKs, by renaming our own version
everyone will be happy, hopefully)

Change-Id: Iee400d81df6a0af4fa2129358ed27b049720685b
Pick-to: 5.15
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2020-04-23 10:20:00 +02:00
Qt Forward Merge Bot efd7757154 Merge remote-tracking branch 'origin/5.15' into dev
Conflicts:
	src/widgets/widgets/qabstractbutton.cpp
	src/widgets/widgets/qbuttongroup.cpp
	src/widgets/widgets/qbuttongroup.h
	src/widgets/widgets/qsplashscreen.cpp
	tests/auto/widgets/widgets/qbuttongroup/tst_qbuttongroup.cpp
        tests/benchmarks/opengl/main.cpp

  Needed update:
	src/plugins/platforms/cocoa/CMakeLists.txt

Change-Id: I7be4baebb63844ec2b3e0de859ca9de1bc730bb5
2020-04-22 15:28:01 +02:00
Qt Forward Merge Bot 5725cb72f1 Merge remote-tracking branch 'origin/5.14' into 5.15
Change-Id: I088f72543f5a964ae073f434b819b5fda4c549c8
2020-04-20 23:39:17 +02:00
Andy Shaw 3e6089b695 sqlite: Fix CVE-2020-11656
This was taken from d09f8c3621d5f7f8 and b64674919f673602 in SQLite,
ref: https://www3.sqlite.org/cgi/src/info/d09f8c3621d5f7f8
https://www.sqlite.org/cgi/src/info/b64674919f673602

[ChangeLog][QtSQL][sqlite] Fixed CVE-2020-11656

Fixes: QTBUG-83652
Change-Id: I99bd59dc10b753ff19822c902dff1fc339d330a8
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-04-20 15:15:54 +02:00
Andy Shaw 441ea6be15 sqlite: Fix CVE-2020-11655
This was taken from 4a302b42c7bf5e11 in SQLite, ref:
https://www3.sqlite.org/cgi/src/info/4a302b42c7bf5e11

[ChangeLog][QtSQL][sqlite] Fixed CVE-2020-11655

Task-number: QTBUG-83652
Change-Id: I5ead78d9ee63aa0f12f1c1014c79373728569f30
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-04-20 15:15:49 +02:00
Lars Knoll 33752a9bd3 Include QRegularExpression in the bootstrap library
This allows us to use regular expressions in bootstrapped tools
such as moc and tracegen.

Change-Id: I4310dd15bf26651aac6ab30c884e025ca06b3099
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-04-13 09:40:09 +02:00
Qt Forward Merge Bot 8823bb8d30 Merge remote-tracking branch 'origin/5.15' into dev
Conflicts:
	examples/opengl/doc/src/cube.qdoc
	src/corelib/global/qlibraryinfo.cpp
	src/corelib/text/qbytearray_p.h
	src/corelib/text/qlocale_data_p.h
	src/corelib/time/qhijricalendar_data_p.h
	src/corelib/time/qjalalicalendar_data_p.h
	src/corelib/time/qromancalendar_data_p.h
	src/network/ssl/qsslcertificate.h
	src/widgets/doc/src/graphicsview.qdoc
	src/widgets/widgets/qcombobox.cpp
	src/widgets/widgets/qcombobox.h
	tests/auto/corelib/tools/qscopeguard/tst_qscopeguard.cpp
	tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp
	tests/benchmarks/corelib/io/qdiriterator/qdiriterator.pro
	tests/manual/diaglib/debugproxystyle.cpp
	tests/manual/diaglib/qwidgetdump.cpp
	tests/manual/diaglib/qwindowdump.cpp
	tests/manual/diaglib/textdump.cpp
	util/locale_database/cldr2qlocalexml.py
	util/locale_database/qlocalexml.py
	util/locale_database/qlocalexml2cpp.py

Resolution of util/locale_database/ are based on:
https://codereview.qt-project.org/c/qt/qtbase/+/294250
and src/corelib/{text,time}/*_data_p.h were then regenerated by
running those scripts.

Updated CMakeLists.txt in each of
	tests/auto/corelib/serialization/qcborstreamreader/
	tests/auto/corelib/serialization/qcborvalue/
	tests/auto/gui/kernel/
and generated new ones in each of
	tests/auto/gui/kernel/qaddpostroutine/
	tests/auto/gui/kernel/qhighdpiscaling/
	tests/libfuzzer/corelib/text/qregularexpression/optimize/
	tests/libfuzzer/gui/painting/qcolorspace/fromiccprofile/
	tests/libfuzzer/gui/text/qtextdocument/sethtml/
	tests/libfuzzer/gui/text/qtextdocument/setmarkdown/
	tests/libfuzzer/gui/text/qtextlayout/beginlayout/
by running util/cmake/pro2cmake.py on their changed .pro files.

Changed target name in
	tests/auto/gui/kernel/qaction/qaction.pro
	tests/auto/gui/kernel/qaction/qactiongroup.pro
	tests/auto/gui/kernel/qshortcut/qshortcut.pro
to ensure unique target names for CMake

Changed tst_QComboBox::currentIndex to not test the
currentIndexChanged(QString), as that one does not exist in Qt 6
anymore.

Change-Id: I9a85705484855ae1dc874a81f49d27a50b0dcff7
2020-04-08 20:11:39 +02:00
Qt Forward Merge Bot 86d9e36b06 Merge remote-tracking branch 'origin/5.14' into 5.15
Conflicts:
	tests/benchmarks/corelib/text/qstringlist/qstringlist.pro

Change-Id: Ie9b97bd83c2df00fd9b556b5f09d405f71970169
2020-04-03 09:01:44 +02:00
Oliver Wolff 1430b2944b ANGLE: d3d11: Do not register windows message hooks for d3d11 windows
These message hooks are used to handle ALT+ENTER to enter/exit fullscreen
mode and PRINTSCREEN to take screenshots. Qt is implementing these
functionalities itself so we do not have to register these hooks.

If too many of these hooks are registered, callbacks are no longer called
and Qt's message queue is no longer handling messages. By saving these
hooks we can make sure that more Qt windows at the same time are possible
without getting unresponsive due to too many hooks being registered.

Change-Id: I5354f91f08cbfeda5e8dc3ad7f824fbd5b3b2932
Reviewed-by: Dominik Holland <dominik.holland@qt.io>
Reviewed-by: André de la Rocha <andre.rocha@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2020-04-02 08:58:03 +02:00
Liang Qi 947e1f45c7 Merge remote-tracking branch 'origin/5.14' into 5.15
Conflicts:
	tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp

Change-Id: Ifaa56153f5f0d687a6b4d94f84fcfa1e1751afd2
2020-03-31 12:30:18 +02:00
Eirik Aavitsland c3b6d09cae Update bundled libjpeg-turbo to version 2.0.4
[ChangeLog][Third-Party Code] libjpeg-turbo was updated to version 2.0.4

Change-Id: I7f74af0dc774a2172ff59713613a706e80d5b2cb
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-03-30 07:36:47 +01:00
Thiago Macieira 783d574b93 CBOR support: prevent overflowing QByteArray's max allocation
QByteArray doesn't like it.

Apply the same protection to QString, which we know uses the same
backend but uses elements twice as big. That means it can contain
slightly more than half as many elements, but exact half will suffice
for our needs.

Change-Id: Iaa63461109844e978376fffd15f9d4c7a9137856
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2020-03-27 16:45:48 -03:00
Qt Forward Merge Bot 4752bd7718 Merge remote-tracking branch 'origin/5.14' into 5.15
Conflicts:
	src/corelib/serialization/qcborvalue.cpp

Change-Id: I539d8cae5fd413b8a6c9c5d8a6364c79c8133a0a
2020-03-27 09:23:33 +01:00
BogDan Vatra c0538d5ff3 Revert "Android: Fix compile on arm64"
This reverts commit 81d6906ad9.

Fixed upstream. \sa https://github.com/harfbuzz/harfbuzz/issues/1308

Change-Id: I7759e2bb199ffd11d42239be59704c4e1f7ddb9f
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-03-26 01:57:11 +03:00
Thiago Macieira defd49f7bf forkfd: add FFD_VFORK_SEMANTICS flag
This flag asks forkfd() to use vfork semantics wherever available. That
is, suspend the calling process execution until the child either does an
execve(2) or _exit(2). The advantage of that is that it puts lower
pressure on the OS VMM system, as the number of pages that need to be
copy-on-write duplicated is much smaller (still not zero, as at least
the stack in the child will be written to).

However, the only implementation that supports using this flag for now
is Linux's pidfd. It would be possible to add to FreeBSD, but pdfork(2)
does not have a flag for this behavior -- if it gets one, we can add
support for it later. Everywhere else, we need to force the child to not
exit until we store the child process's PID in the ProcessInfo structure
we allocated, which means the parent process must run before we even
return from forkfd().

Change-Id: I1bee3bc466a04f19bd6efffd15f447f28c201aa9
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2020-03-25 20:19:38 +01:00
Thiago Macieira ba5e2ce49a forkfd: fix forkfd_wait when FFD_USE_FORK was active
If we detected that the OS supports a version of system forkfd (Linux
pidfd, FreeBSD procdesc), the forkfd_wait() function was using only the
system waiting implementation, which of course can't work for file
descriptors created with FFD_USE_FORK. So just detect EBADF and attempt
again.

If the file descriptor is neither one of our pipes nor a system forkfd,
bad things will happen...

Fixes: QTBUG-82351
Change-Id: I4e559af2a9a1455ab770fffd15f59fb3160b22eb
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
2020-03-25 20:19:36 +01:00
Thiago Macieira 4605583fec forkfd: introduce forkfd_wait4() that takes options
"wait4" because it looks like the wait4() BSD function, which has the
signature:

       pid_t wait4(pid_t pid, int *wstatus, int options,
                   struct rusage *rusage);

And because ours also has 4 parameters.

Having options is important anyway. I might want to add some more later,
but we can't really support them with the fall back implementation (in
fact, we don't honor WNOHANG in the fall back implementation either).

Change-Id: I4e559af2a9a1455ab770fffd15f5858bb357e15b
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
2020-03-25 20:19:34 +01:00
Oliver Wolff f10b31fc1b ANGLE: Fix resizing of windows (Take 2)
Task-number: QTBUG-62475
Change-Id: I0ea17e7875906508941ae64bb396a4236928b0f9
Reviewed-by: Miguel Costa <miguel.costa@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2020-03-24 14:25:51 +01:00
Konstantin Ritt 1ab2e4baef Harfbuzz: get rid of Qt-specific patch in CoreText shaper code
this code isn't used as of 21c242f9fd
and thus we do not need to keep the patch around

Change-Id: Ic3b836c6a68f40b8e450542a39db968ef3b09101
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2020-03-24 01:58:08 +03:00
Mitch Curtis 69a5be7ef0 Merge remote-tracking branch 'origin/5.14' into 5.15
Change-Id: Ib2a2e3a292af43be3a980c2ccc943c08f4bbf72f
2020-03-20 11:28:14 +01:00
Mitch Curtis 1480922511 Merge remote-tracking branch 'origin/5.14.2' into 5.14
Change-Id: I34ca28c75b88e882c3f35f182bf01acb22b77637
2020-03-19 16:10:31 +01:00