Commit Graph

35109 Commits

Author SHA1 Message Date
Assam Boudjelthia
298413de77 Android: use bin for instead of QT6_HOST_INFO_BINDIR
${QT6_HOST_INFO_BINDIR} is returning an empty string making
the tools paths unusable, and android apps building fails.

Partially revert 09ac1bdfc5.

Task-number: QTBUG-86557
Change-Id: I1522b3a4b45fbcb41894ea3bd7c714f7a79eb954
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-09-10 15:42:25 +00:00
Michael Brüning
ac310d5b23 [macOS] Add native virtual key code to modifier keys
Not forwarding the native virtual key code when sending key events
in the flagsChanged handler caused a number of problems, e.g. the
inability to determine which of the Alt or Shift keys were pressed.

Use handleExtendedKeyEvent to include the native virtual key code.

Patch inspired by Nyan Pasu.

Fixes: QTBUG-69608
Change-Id: I15e9ff1069528d4b50ee4638ab2d8a6fd279db0b
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-09-10 17:33:21 +02:00
Mitch Curtis
a4e4436e85 Doc: explain how to blacklist QML tests on certain platforms
Change-Id: Icd505175805820c64593d7eb8f580a51008e2e1a
Pick-to: 5.15 5.12
Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
2020-09-10 17:32:34 +02:00
Andrei Golubev
781ecbfc6f QString/QBA: change realloc*Data signatures to use qsizetype
Changed reallocData, reallocGrowData signatures to use qsizetype
instead of size_t

Change-Id: Iebe7def5430d3d3f4660e19cb6c12612543c5abc
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-09-10 17:31:31 +02:00
Andrei Golubev
ec7e680c50 Remove '\0' space reservation logic in QString
Changed QString to use implicit element reserved by QArrayData

Task-number: QTBUG-84320
Change-Id: If517500b3f0e71bb8d2989c64815a634aa8dd554
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-09-10 17:31:23 +02:00
Andrei Golubev
04d78df344 Remove '\0' space reservation logic in QByteArray
Changed QByteArray to use implicit element reserved by QArrayData

Task-number: QTBUG-84320
Change-Id: I2a0091c814a47a5c052da7a83d10cb641834c7bd
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-09-10 17:31:19 +02:00
Allan Sandfeld Jensen
7249a87b06 Cleanup PageSize enum for Qt6
Fixes B5/B6 order and removes abandoned documentation for a removed duplicate.

Change-Id: I7647ee31a4ef4aa754058c8a6f68b4d4304e0043
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-09-10 17:30:33 +02:00
Volker Hilsheimer
43735342b5 QOpenGLTexture: Remove obsolete data upload overloads
Address ### Qt 6 comment

Change-Id: I2952175ec72c5c4c7b4e518754fb1bc6f88b21df
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2020-09-10 17:30:09 +02:00
Volker Hilsheimer
55dda687fd QOpenGLFramebufferObject: merge toImage overloads
Address ### Qt 6 comment

Change-Id: I60b1dba72dbf2490294c84e5d1a85ae7e7181fc3
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2020-09-10 17:30:02 +02:00
Volker Hilsheimer
8186bd628f Remove obsolete APIs and comments from QAbstractPrintDialog
Merging QAbstractPrintDialog with QPrintDialog, as proposed in the
removed comment, seems to have little value, given that the platform
specific implementations rely on the current abstraction.

Adjust examples and tests; with the QAbstractPrintDialog test now
testing the QPrintDialog::options API, the corresponding test function
can be removed from the QPrinter test.

Change-Id: Ia8906627898332e8590ea9b27e3d71dfcc6e8d71
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-09-10 17:29:52 +02:00
Allan Sandfeld Jensen
54c37146b7 Clean-up of old VC6 work-around
Change-Id: Ic518f48b62055a4fa229751a80362f9426e0ac42
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2020-09-10 17:28:12 +02:00
Morten Johan Sørvig
7238123521 X11: set fallback logical DPI to 96
Returning physical DPI from logicalDpi() is problematic,
as explained in commit 77e04acb.

The most predictable implementation is to never return
physical DPI from QPlaformScreen::logicalDpi(). Other
platform plugins already does this, and this change
brings xcb in line with the rest of Qt.

We have the QPlatformScreen::physicalSize() API which
covers returning physical DPI (indirectly); Options
for selecting which one to use can be implemented on
top of these (see QT_USE_PHYSICAL_DPI).

Change-Id: Ifc41229fa63734a2eb06b3acefd97b2ed3e57c2d
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-09-10 17:28:11 +02:00
Morten Johan Sørvig
b3c991ae8f Port from devicePixelRatioF() to devicePixelRatio()
This ports all of QtBase.

Change-Id: If6712da44d7749b97b74f4614a04fac360f69d9e
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-09-10 17:28:11 +02:00
Topi Reinio
e1ce78d484 Doc: Fix documentation issues for event and input device classes
* Document the new base classes QPointerEvent and QSinglePointEvent,
  and move relevant documentation to be located under them.
* Replace linking to deprecated functions with their new counterparts.
* Remove non-existent function and parameter documentation.
* Document QEventPoint::State enum.
* Prefer \obsolete over \deprecated and fix the usage.
* Document the Capabilities enum in the correct location and
  add docs for the missing enum values.

Change-Id: Ic8f2732f2e90ecbf522cd744c601cedcc574825c
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2020-09-10 17:28:11 +02:00
Edward Welbourne
2c63164012 Inline QMetaObject::cast(QObject *), as requested by ### Qt 6 comment
Task-number: QTBUG-85700
Change-Id: I29405df37b82d34a92537e39a3863b5f6c998556
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-09-10 14:21:48 +02:00
Edward Welbourne
4b9ec075f8 Remove spurious const from QVariant::convert()'s first parameter
As per ### Qt6 comment.

Task-number: QTBUG-85700
Change-Id: I24292d9f2b8f7781032aa8df2a7a0c58ad4fb6c9
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-09-10 14:21:48 +02:00
Edward Welbourne
c0e51ee9df Remove some pre-Qt6 code
Task-number: QTBUG-85700
Change-Id: Id4856d035b697276f6a7090956359044bac7d817
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2020-09-10 14:21:48 +02:00
Andrei Golubev
7a15d71def Fix possible corner cases in qarraydataops.h
Updated moveNonPod function to behave correctly under
exceptions being thrown. This is the version that was implemented
at some point but then got changed prior to merge. Added tests for
moveInGrowthDirection (which uses moveNonPod in general case) to
verify that range movements are correctly done

Updated QCommonArrayOps access modifier from private to protected
to allow testing of internal stuff by subclassing

Task-number: QTBUG-84320
Change-Id: Idb994a72ee601762e32248670cdc7819aaca0088
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-09-10 14:21:47 +02:00
Shawn Rutledge
a81859a3c8 Move grabbing API from QEventPoint to QPointerEvent
We plan to move storage of the grabbers into QPointingDevice so that
QEventPoint will store only data that does not need to persist between
deliveries of individual events. These API changes prepare for that.

addPassiveGrabber/removePassiveGrabber is a better API than
setPassiveGrabbers(), because it will never require constructing a
temporary QList just to call the function. Eventually we need to emit
signals to notify about grab changes, so it's better to have incremental
changes to the list rather than needing to iterate and find differences.

Fix up the docs.

QEventPoint IDs are no longer written in hex in debug output.
That was done in Qt 5 because an ID was a composite of device ID
with the OS-provided touchpoint ID; but since the QPointingDevice
is always available, it's more readable if the IDs are in decimal.

Change-Id: I86b9016d9b28c331ca05c7c108d9788de93fb642
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-09-10 14:21:47 +02:00
Volker Hilsheimer
62f5ecca7d Clean up PageSizeId enum
Reorder, and remove ### Qt 6 comment

It would be nice to have a way to statically assert that the order
of StandardPageSizes (and their id) matches the order of the enum,
but it's not possible (or at least very cumbersome) to do so.

Change-Id: Id0d0a58958f1e17151725cbe8f8068db64f84939
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-09-10 11:24:20 +02:00
Volker Hilsheimer
78b66c7a69 Fix ### Qt 6 comment
The inLoop boolean is unused, so remove it. At the same time, there is
another boolean that might just as well become a bitflag, so that we
can add more members in the future, should the need arise after all.

Since we then need to explicitly initialize the member, add a standard
QObject constructor.

Change-Id: I51245829c1b1192fde62592fb972da6ea2a88e11
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2020-09-10 11:24:20 +02:00
Thiago Macieira
da77cfb4a6 Doc: clean up the QProcess::setChildProcessModifier example
- Use nullptr instead of 0
- Pass directory to chroot that is not in /etc
- Set umask to a sensible value (0 is insecure)

Change-Id: I1dba29bc0f454df09ca1fffd161801257f9ccb3c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2020-09-10 09:24:19 +00:00
Ulf Hermann
ace19063cb Moc: Require complete types consistently
If we require complete types when generating the list of metatypes, then
we also need to require them when generating each entry, and vice versa.

Change-Id: I68394f8628bb6cd89f77bb829b1d4b5ab35071a0
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@qt.io>
2020-09-10 11:24:19 +02:00
Edward Welbourne
a8caae37ef Remove redundant non-const QMutex::isRecursive()
As directed by ### Qt 6 comment.

Task-number: QTBUG-85700
Change-Id: Iae4179b017840efe4902de2b1529cf7ec0606865
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-09-10 11:24:19 +02:00
Andrei Golubev
6e8985e357 Make Q*ArrayOps erase aligned with std::vector::erase
Scoped GrowsBackwards-optimized erase to only be applied
when erase starts at the beginning of the element range.
In other cases, old "left-shifting" erase is used to align
with std::vector::erase invalidation policy

Task-number: QTBUG-84320
Change-Id: I2e7f3b96b056bc371119eb2d36cc7c74af52c394
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-09-10 11:24:19 +02:00
Allan Sandfeld Jensen
030962b01c Cleanup QAction::visible property
Gives it its own changed signal, and simplifies setting from group,
while fixing an inconsistency in propagation.

Change-Id: I22b243210260a8878144fa4b60204df46f847f37
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-09-10 09:24:18 +00:00
Alex Trotsenko
92640829ad Revert "Do not wait in QWindowsPipe{Reader|Writer}::stop()"
This reverts commit c7ec07d401.

Reason for revert: This causes a memory leak on program termination.

The initial commit was an attempt to fix a deadlock where the user
destroys object from a thread that does not own the object. This is
an unsupported case and should be treated as an invalid report.

Pick-to: 5.15
Change-Id: I4957784b86a0361adb65b9d023542f96480f00ba
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
2020-09-10 09:17:20 +03:00
Mårten Nordheim
9440d602e5 QNAM: fix stall due to edge case when connected with no request queued
It really could only manifest itself if you started a request and then
immediately cancelled it and then started another one to the same
site. But only if in a certain race outcome - the connection that the
backend was establishing had to finish connecting after aborting but
before a new request had been queued!

Change-Id: I7cad2cf4ac1f64cc838498cefa076cd2c6d26701
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2020-09-10 03:18:02 +02:00
Friedemann Kleint
bbec7aaf3a Fix a number of MSVC integer conversion warnings
Mostly related to qstrlen().

Change-Id: I69e2052c83766e4fc466ed398d0d0eac011a77ec
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2020-09-10 03:16:34 +02:00
Lars Knoll
d49a7412f5 Derive some item delegates from QStyledItemDelegate
Address a ### Qt6 comment from change
283008e123, and start using
QStyledItemDelegate in more places, so those get proper
look and feel.

Change-Id: I39767ba99b7942faada1fba0ac241deb35563b63
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
2020-09-10 03:15:49 +02:00
Shawn Rutledge
ae7442a4e9 Give QEventPoint a d-pointer after all
I still have doubts that QEventPoint can't be made small enough that
copying would be cheaper than reference-counting and all the indirections
in now-noninline accessors, but this gives us the usual freedom to
change the data members later on.

Change-Id: I792f7fc85ac3a9538589da9d7618b647edf0e70c
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-09-10 03:15:49 +02:00
Timur Pocheptsov
a1cbca44ef TLS utils - move runtime check to compile time
While it's possible to instantiate safe_delete using a nullptr, the
check in if-statement is 99.9(9) % of time redundant and equal
to if (true && object). Some compilers will issue a compilation
error (if warnings are treated as errors for example).

Change-Id: Ib593dc53deb6d2e4b77ea5c896610dc536c61b7c
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-09-09 21:53:37 +02:00
Thiago Macieira
7e93870401 QProcess/Unix: introduce setChildProcessModifier()
[ChangeLog][Source-Incompatible Changes] QProcess::setupChildProcess()
was removed. To execute code in a child process, use
QProcess::setChildProcessModifier()

[ChangeLog][QtCore][QProcess] Added setChildProcessModifier() function
with which one can provide code to be run in the Unix child process
between fork() and execve(). With this function, it is no longer
necessary to derive from QProcess in order to execute actions in the
child process.

Another reason is that we can tell whether the std::function carries a
valid target much more easily than we can tell whether QProcess was
overridden.

The setupChildProcess() virtual function does not need to be marked
final, since no overrider could ever return an inaccessible private
class. This also makes sure the error presented to the user is about the
return type, not about attempting to override a final.

Clang:
 error: virtual function 'f' has a different return type ('void') than the function it overrides (which has return type 'QProcess::Use_setChildProcessModifier_Instead')

GCC:
 error: conflicting return type specified for 'virtual void MyProcess::setupChildProcess()'
 note: overridden function is 'virtual QProcess::Use_setChildProcessModifier_Instead QProcess::setupChildProcess()'

ICC:
 error: return type is neither identical to nor covariant with return type "QProcess::Use_setChildProcessModifier_Instead" of overridden virtual function "QProcess::setupChildProcess"

MSVC is not relevant since it doesn't compile to Unix.

Change-Id: Ia8b65350cd5d49debca9fffd15f801161363aea7
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
2020-09-08 21:00:29 -07:00
Thiago Macieira
679184ac28 QSemaphore: Make 64-bit wide
The implementation can be more efficient with two 32-bit fields instead
of just one, but it depends on whether operations on 64-bit atomics are
locked or not.

Quick check for the following architectures does not reveal any
problems, but someone needs to investigate more. Notably, GCC and Clang
generate a call to libatomic's __atomic_load_n / __atomic_store_n / etc.

32-bit                  std::atomic<uint64_t>
Arch            ::is_always_lock_free   .is_lock_free()
ARMv7-A         false                   true
i386            false                   true
MIPS            false                   true
PPC             false                   true
RISC-V          false                   true
SPARC           false                   true

Change-Id: Ia2273af1172d493092d6fffd163251a99064c51b
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-09-08 21:00:28 -07:00
Thiago Macieira
475464906c Revert "Cleanup QSemaphore and make it always 64bit large"
This reverts commit ff69227a49.

Reason for revert: 64-bit atomics on 32-bit systems are often
(but not always) worse than the 32-bit semaphore as it was
implemented. Plus the High32 and Low32 functions are returning
the same thing, forgetting the endianness check.

Change-Id: I5d5ade6e9bc7086600ff2302546385151e32142b
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-09-09 04:00:28 +00:00
Thiago Macieira
e33d40a884 QNetworkInterface: disable Netlink-based Linux support on Android
Android 11's SELinux rules block the RTM_GETLINK requests that
qnetworkinterface_linux.cpp needs to make. So disable this completely
and fall back on the older rimplementation. Bionic has some workarounds
in their getifaddrs() implementation to make this work.

Fixes: QTBUG-86394
Pick-to: 5.15 5.15.1
Change-Id: I87447a0ecdee4dc7b506fffd163180c2b1db7835
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
2020-09-08 21:00:28 -07:00
Giuseppe D'Angelo
e2e493a016 Disable operator+ and operator- for QFlags
... and the associated enumeration.

Using them is almost always a certain mistake.

1) op+ between two enumerators of the same enumeration yields int,
not QFlags, so removing the type safety that QFlags is supposed to
give and breaking the semantics of bitwise operations.

2) op+ between two enumerators of different enumerations is
deprecated in C++20 (already flagged by GCC10), and again yields
int. This is a code smell. Dedicated classes (holding a combination
of unrelated enums) should be used instead.

3) op+ between an enumerator and its QFlags loses the semantic
meaning of bitwise operations. If the real meaning was to use
operator|, then use that instead; operator+ hides the intent,
and can introduce bugs by creating a result not expressible via
OR combinations of enumerators:

  enum E { A = 0x01, B = 0x02 };
  QFlags<E> f = E::A;

  f + E::A; // ???
  f + E::B; // ???

Identical reasoning applies for operator-. Technically the
other arithmetic operators could be disabled as well, but I
really don't expect any real-world usage for them.

This has spotted bugs in Qt.

[ChangeLog][Potentially Source-Incompatible Changes][QFlags] Using
operator+ or operator- with a QFlags object or with an enumeration
that has a corresponding QFlags object will now result in a
compile-time error, because it's a generally unsafe operation.
Use the proper bitwise operations instead (|, &, ~); or cast
the enumeration to a integral type before attempting arithmetic
manipulations on it.

Change-Id: I5eabc5195dec3d3082bc9da10dbc8cf5dff3e1eb
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-09-09 06:00:28 +02:00
Marcel Krems
348b86d976 Fix failures in tst_qdatetime under non-english locales
QDateTime::toString uses the C locale since 5ba66c5622
So don't expect locale specific day- and month-names.

Task-number: QTBUG-80441
Change-Id: I08f53b6b33ed9e7eaaa58df4ca6a966c4ba9ef24
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2020-09-09 06:00:28 +02:00
Allan Sandfeld Jensen
d263ab6af5 Create consistent sets of QImage methods
Adds consistently named inplace and imperative methods.

Change-Id: I8739c1c4585d2ba4aa181bb9a681255d76c120d7
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2020-09-09 00:14:49 +01:00
Allan Sandfeld Jensen
aa5f3c829c Avoid crashing in offscreen with X11 builtin but not available
Pick-to: 5.15
Change-Id: Id385bc750f1cc6dfc2ad7e0248dbc56fa5b6e4d2
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2020-09-09 01:14:49 +02:00
Friedemann Kleint
d9d18596e2 Windows QPA: Enable toggling Windows transparency
Change QWindowsWindow::format() to return the QWindow's requested
format instead of storing it as do the other platforms. This will
cause the alpha (layered flag) to be adapted in
QWindowsBackingStore::flush(). Note that it does not fix
the issue; the window does not update correctly after
changing WS_EX_LAYERED.

Pick-to: 5.15
Task-number: QTBUG-60822
Change-Id: I3facd93f993b3b422b6818d55c1bce884fb57234
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2020-09-08 08:02:16 +02:00
Wang Wei
e18cb8b535 Initialize "uc1" variable
remove warning for -Wmaybe-uninitialized.

Change-Id: Ib17200eb86ee443875a9059b62762b2dc2100634
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-09-08 14:02:16 +08:00
Shawn Rutledge
0e475eeea6 Refactor testlib touch functions into qtestsupport_gui and _widgets
Because we removed public setters from QTouchEvent and QEventPoint in
4e400369c0 and now it's proposed to give
QEventPoint a d-pointer again, the implementation of QTouchEventSequence
needs to start using QMutableEventPoint: being a friend will no longer
be enough, because the member variables won't be accessible in the future.
But because we have separate test libs for Gui and Widgets, it needs to
be further refactored into two classes.

Change-Id: I0bfc0978fc4187348ac872e1330d95259d557b69
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-09-08 08:02:15 +02:00
Wang Wei
2f0f74498a Don't use deprecated function: QVariant::canConvert(int targetTypeId)
Remove compile warning for -Wdeprecated-declarations.

Change-Id: I747c8a390f26cfc4626e40c4684034c394bbf3c9
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Lars Schmertmann <lars.schmertmann@governikus.de>
2020-09-08 14:02:15 +08:00
Marcel Krems
fc3d10d37a Remove deprecated method QOpenGLFunctions::initializeGLFunctions()
Change-Id: I0c02b22630f8c9d463f48f6402a1930b60d3f818
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2020-09-08 08:02:15 +02:00
Marcel Krems
e8b0b5c0ce Remove deprecated API from QSurfaceFormat
Change-Id: I8dacdaa18cea967a85e8835c2440ba53ee5df2e1
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-09-08 08:02:15 +02:00
Marcel Krems
e14e46ccd6 Remove deprecated method QTextList::isEmpty()
Change-Id: I7acc0bb110c2bed55374576f59c24451afa7742a
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-09-08 08:02:15 +02:00
Andy Shaw
13fe0ab5de Interbase: Correctly read/write arrays to the database
The fix ensures that it can find the column for the array correctly
when reading/writing and also handles the integer typed arrays correctly
too.

Pick-to: 5.15
Fixes: QTBUG-83409
Change-Id: I92d982bdf0927e6ebc6dce84fec9ad6c44c26c25
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
2020-09-08 08:02:14 +02:00
Tor Arne Vestbø
5fbb17c397 macOS: Don't assume we will get didBecomeKey for non-Qt NSWindows
The optimization resulted in losing out on window focus changes when
for example a native file dialog was shown, resulting in the cursor
blinking both in the parent window, and in the native file dialog.

Pick-to: 5.15
Pick-to: 5.12
Change-Id: I9c1f9df20fbc5c4b80f906ded70d9a2658b70438
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2020-09-08 00:50:23 +02:00
Andy Shaw
b1af52f2b2 PostgreSQL: Attempt to subscribe even if it is already added
As the connection could be lost and then reconnected for the same driver
instance then it should just do the LISTEN query as it will not do
anything if it is already subscribed.

Fixes: QTBUG-84356
Change-Id: I6179bca3991c3828ccee066fd96a6e5003c522be
Pick-to: 5.15
Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-09-07 15:50:04 +02:00