Commit Graph

45821 Commits

Author SHA1 Message Date
Sona Kurazyan
d7d6a1fe32 Don't queue events in QFutureWatcher when pause is requested
When QFutureWatcher (or QFutureInterface) is paused, it doesn't
mean that it will take effect immediately: the pending tasks may
still be in progress and keep reporting results. At the moment
QFutureWatcher will queue those events and report only with the
next resume. This behavior is wrong, QFutureWatcher should not
decide when to report events, the sender should decide when is the
right time. There's no benefit in reporting already happened events
with delay. Because of this, even the pause event itself was being
reported after resume.

Fixed the behavior by removing the logic of queueing events when
the state is set to "paused". It seems unlikely that the users of
QFutureWatcher rely on reporting events with delay.

[ChangeLog][Important Behavior Changes][QtCore] QFutureWatcher will not
immediately stop delivering progress and result ready signals when the
future is paused. At the moment of pausing there may be still computations
that are in progress and cannot be stopped. Signals for such computations
will be still delivered after pause, instead of being postponed and
reported only after next resume.

Fixes: QTBUG-12152
Change-Id: I9f0b545ac096578c52cc72d60575c018c01e3368
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2020-05-27 11:53:28 +02:00
Fabian Kosmale
d8a2456fbf moc: handle include directives in enums
When including files, moc inserts a MOC_INCLUDE_BEGIN and
MOC_INCLUDE_END token into the token stream. Those are already handled
in the toplevel Moc::parse function, but parseEnum lacked support so
far.

Pick-to: 5.15
Fixes: QTBUG-80578
Change-Id: I35c8fd959347d94af20090b3a505dd9e6bfaff88
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-05-27 09:21:08 +02:00
Eric Lemanissier
370324f6e2 QMimeDatabase/xml: use xmlstarlet instead of xml
some distributions (eg Ubuntu) don't provide xml executable, but only xmlstarlet executable

Change-Id: Icc801ded8d4ec1ec4d1dab93289a2365f8cd9cbd
Pick-to: 5.15
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-05-26 18:04:40 +00:00
Friedemann Kleint
bdcb141464 Windows: Fix wrong default font sizes after changing scaling
Use the ForDpi versions of retrieving non clientMetrics.

Pick-to: 5.15
Task-number: QTBUG-82267
Change-Id: I434f6980c47258bfe40d38723d3f66d71217e186
Reviewed-by: André de la Rocha <andre.rocha@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2020-05-26 20:04:40 +02:00
Kai Koehne
ec3ba7209e Document how to use CMake for Qt TestLib
Task-number: QTBUG-73058
Change-Id: I6e29a83a1346ea0d2f94fcf445e1de9c07072aa6
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-05-26 15:11:41 +02:00
Kai Koehne
cede00ec89 Document how to use CMake for Qt Xml
Task-number: QTBUG-73058
Change-Id: I2d19670016c9aef5e96d74b2b7e22c675058f30c
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-05-26 15:11:41 +02:00
Kai Koehne
4f59d94bf3 Document how to use CMake for Qt Concurrent
Task-number: QTBUG-73058
Change-Id: I11398c5837b45ccacb9232609317213133ef20ea
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2020-05-26 15:11:41 +02:00
Lars Knoll
9980ba5ba5 Don't change the implementation of a method depending on QT_USE_QSTRINGUILDER
This is rather evil and caused crashes in static builds, when library
and application where compiler with different settings of the
QT_USE_QSTRINGBUILDER flag.

The reason is that the implementation of QStringDecoder::operator() was
different (and returning different data) with or without the setting.
The compiler would thus create two very different versions of this method
in different .o files. When linking the app, one of the implementations
would be chosen, leading to crashes in places where the other one was
expected.

Fix this by only providing the QStringBuilder enabled version of the
methods. They return a temporary object that's converatable to a
QString/QByteArray anyway. Make sure that qdoc shows a simple signature.

As a drive by fix a compile error in a code path that didn't get hit
so far.

Change-Id: I312fa564d0bc6b464f2b4466de1d53841f7b7b0f
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-05-26 13:11:41 +00:00
Lars Knoll
a989c98393 Initialize variable
Change-Id: Ibcccd93fd4654a087c323fde08dbadb64d22156c
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-05-26 15:11:41 +02:00
Kai Koehne
6456893c0b Document how to use CMake for Qt OpenGL
Task-number: QTBUG-73058
Change-Id: I8ba85fbba533c882ef63c56c1b9f20becfb36ebc
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-05-26 15:11:41 +02:00
Kai Koehne
a716ee67fd Doc: Remove mentioning of qmake from Qt PlatformHeaders documentation
Change-Id: I902df9c7803e593000c2e0f9cc3ccf1505899886
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-05-26 15:11:40 +02:00
Kai Koehne
3c31dd0330 Document how to use CMake for Qt PrintSupport
Move the details on how to build after the index page.
Remove mentioning of the central include. Instead, mention
the CMake functions to use.

Task-number: QTBUG-73058
Change-Id: Ibf5952530c3b86915c9fb6562f7d9e0b010720ee
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-05-26 15:11:40 +02:00
Kai Koehne
292d49c5e9 Document how to use CMake for Qt SQL
Task-number: QTBUG-73058
Change-Id: I07fa128853531ec09852647436d9302abac1c12c
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2020-05-26 15:11:40 +02:00
Kai Koehne
1c0ca1f3d8 Document how to use CMake for Qt DBus
Task-number: QTBUG-73058
Change-Id: Ibe0779d109682cc41e21783a3ba5fa5130d5ff7f
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-05-26 15:11:40 +02:00
Kai Koehne
162ea888bf Doc: Document Qt 6 changes for QHash, QMultiHash, QSet
Change-Id: I9a83d33f05d7c3e5d23399129dfac45a1cb0d6ad
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-05-26 15:11:40 +02:00
Kai Koehne
b229100430 Add 'Qt Core Changes in Qt 6'
Skeleton to document changes to Qt Core in Qt 6.

Task-number: QTBUG-71036
Task-number: QTBUG-84051
Change-Id: I2720beffb934121258331efd9eeb91c07d40a5bf
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-05-26 15:11:40 +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
Giulio Camuffo
7db527dbdd Add a property to QSFPM to show children of accepted items
[ChangeLog][QtCore][QSortFilterProxyModel] Add a 'autoAcceptChildRows'
property to always show children rows of accepted rows.

Change-Id: I2402469ece438179d0f19888b9775cc27cf5c749
Reviewed-by: David Faure <david.faure@kdab.com>
2020-05-26 15:11:40 +02:00
Filipe Azevedo
3197932e6f Fix QTabBar crash with offscreen platform plugin
The offscreen implementation does not have a QPlatformNativeInterface
implementation.

Pick-to: 5.15
Change-Id: Ife4f296f52c307a2fab90de2cdc1ef0cc7796385
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2020-05-26 09:24:56 +02:00
Joerg Bornemann
4b23baddd3 CMake: Write QT.XXX.depends entries into module pri files
Qt module targets now export the "_qt_config_module_name" property,
which contains the module's name in qmake land. This can be different
from the lower case target name (e.g. Test vs testlib). This exported
property is used when retrieving the dependencies of a module outside
of qtbase.

The property's name is a bit odd and lower case, because we want to be
able to set it on INTERFACE_LIBRARY targets, for instance header
modules. This CMake pecularity is described in
https://gitlab.kitware.com/cmake/cmake/issues/19261

Fixes: QTBUG-84287
Change-Id: I4a75af3ebeabebc56a0f77d464e45ab7fd81eafa
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-05-25 21:18:30 +02:00
Volker Hilsheimer
37b0a9c8a3 Fix deprecation warning by not going through QChar
mValue is a QByteArray, so no need to expand data to UTF16 just to
compare it to a Latin1 character.

Change-Id: Ib3c8770867cd5509bb4c2ac5e45aabca577b3bba
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2020-05-25 19:18:30 +00:00
Michal Klocek
5786ac12f0 Fix hellowindow example
It seems this example never worked as expected.
It has a 'multiple' option which should show extra
windows with rendering taking place in different
thread, however although render is moved to other thread
render() function was never called in that thread.

Fix following things:
 * make rendering in other thread
 * stop requestUpdate if nothing is exposed
 * add timer so animation works at the same speed despite
   of number of windows (renderer B renders two windows)
 * wait for render to finish before triggering requestUdpate
 * remove mutex where not needed

Pick-to: 5.15
Change-Id: I420436bd28d0357534332dd55b088d634d906c14
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2020-05-25 17:37:57 +02:00
Michal Klocek
71d63049f7 Fix typo in documentation of QPlatformWindow
QOpenGLWidget has backing store and does not really fit into
doc's context. Change it QOpenGLWindow.

Change-Id: I7f92e49497b8cc35d322b607c865c2914672ace3
Pick-to: 5.15
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2020-05-25 14:46:35 +02:00
VaL Doroshchuk
0ffef9cb8d RHI: Introduce QRhiTexture::RG8
Change-Id: I58f35b2629bd6464f08cba66e852215472fcbe2a
Fixes: QTBUG-84384
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2020-05-25 14:21:03 +02:00
Eirik Aavitsland
ecca816ea1 Fix RHI-GL mapping of DXT3/5 compressed texture format identifiers
DXT1 is BC1, but DXT3 is BC2 and DXT5 is BC3.

Change-Id: Icb0ea4cc9efeab2453343753e9fda7f825c9b8d1
Pick-to: 5.15
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2020-05-25 13:55:52 +02:00
Kai Koehne
1381b59222 Remove last remainings of Qt Quick 1 imports
amends  e1fd607493

Change-Id: I4587ae287635bc9718325a24bee728f1c1938978
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-05-25 11:48:12 +02:00
Alexander Volkov
f57e6a3b03 xcb: Fix comments' indentation
Change-Id: Ic0a3e65dd1abc907f1941590ab042f785d90d91c
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2020-05-25 12:33:27 +03:00
Martin Koller
7c5775f918 allow definition of SP_LineEditClearButton in css
Added the new css property lineedit-clear-button-icon

Change-Id: I4596b923eb34325a73d0a80b72d963fd6204ea26
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2020-05-25 11:09:50 +02:00
Lars Knoll
f1cbc3c9d2 Change QString::toIntegral_helper to use QStringView
This implicitly makes it use qsizetype for the length.

Change-Id: Ib39a5a8dd71e48b45179079f7c7fe5e4edbdb5eb
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-05-25 10:34:31 +02:00
Lars Knoll
f315f42dfd Cleanup header file
Remove dead code

Change-Id: I315f9ae2f098b1a7b72d7cd24161325822c62edd
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2020-05-25 10:34:14 +02:00
Rolf Eike Beer
c4b172b7f0 QVncScreen: fix crash on disconnect client did not request cursor
Change-Id: I758c79d87bd239b6fde9bae4e97c5b31450fa813
Pick-to: 5.15 5.12
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2020-05-25 10:29:37 +02:00
Lars Knoll
97d22d7171 Remove qxmlstream from qmake compile
It's not used at all.

Change-Id: Ia30befd497cc337221dfad89c201822b5bb7fd7c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-05-25 10:28:35 +02:00
Lorn Potter
3fbf7b34cc wasm: set status codes from network operation
Pick-to: 5.15
Fixes: QTBUG-83991
Change-Id: Ie1e88189bee8b6a9dc6cb2a721777a5e1032307a
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2020-05-25 17:42:06 +10:00
Lorn Potter
745a7fa31e wasm: fix heap crash when making multiple network calls
Pick-to: 5.15
Task-number: QTBUG-83991
Change-Id: I354934b53799f3eeb958395932bed18289b1e279
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2020-05-25 17:41:49 +10:00
Friedemann Kleint
f061c413de Windows: Fix wrong DPI used in font size after changing scaling
QWindowsFontDatabase::defaultVerticalDPI(), which was used
for converting the point sizes was missing an updating
logic for scaling changes. When implementing it, it turned
out that the value obtained from GetDC(0) does not adapt
to scaling changes.

Remove the function and set it from the screen manager directly
to the DPI of the primary screen.

Pick-to: 5.15
Task-number: QTBUG-82267
Change-Id: If05ebc893fe78a9461500aba97f2dc127cdf4406
Reviewed-by: André de la Rocha <andre.rocha@qt.io>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2020-05-25 08:52:32 +02:00
Heikki Halmet
fc8c011450 Blacklist imageAtRightAlignedTab in CentOS
Task-number: QTBUG-46206
Change-Id: I98add304d052f3fc5c0ab80077ba66e8e159748e
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2020-05-25 08:16:14 +03:00
Heikki Halmet
d8ea25b917 BLACKLIST test_Gestures tests for new platforms
Task-number: QTBUG-84258
Change-Id: I4722444ffd8a9b1ebc262a424778a19704881832
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-05-25 05:16:10 +00:00
Heikki Halmet
3e17098fcd BLACKLIST QWidget tests for CentOS
Tests focusProxyAndInputMethods and
multipleToplevelFocusCheck will be blacklisted

Task-number: QTBUG-84259
Change-Id: I7d5baf1e700192eed3c7c8dcfe671e247f11b8c7
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2020-05-25 08:16:05 +03:00
Tony Sarajärvi
623670d243 Blacklist tst_QTimer::zeroTimer on Ubuntu 20.04
Task-number: QTBUG-84291
Change-Id: I198cfe813617a5bb65b0e1059a43b6933d610720
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-05-25 05:16:00 +00:00
Tony Sarajärvi
778b8265b7 Blacklist tst_qfont tests on new platforms
Task-number: QTBUG-84248
Change-Id: I5285a12a9f1feaf748fc1734f122473c02d115e5
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-05-25 05:15:53 +00:00
Kari Oikarinen
afdfb08e3a Remove references to deleted file shift-jis.txt
Amends 33bb695a28.

Change-Id: I7a7d90dc406ffbf015e760a7c41534564bfbe13e
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-05-24 22:24:47 +03:00
Christian Ehrlicher
8657296173 QItemSelectionModel: simplify QItemSelectionRange
Simplify QItemSelectionRange by removing the unneeded
user-defined functions - the compiler can generate them by it's own.

Change-Id: I49c00f937df98bb1ad18057b7bae7a0e06919909
Reviewed-by: David Faure <david.faure@kdab.com>
2020-05-23 10:53:30 +02:00
Christian Ehrlicher
f9874ad7bd QListWidget: remove unused member
Remove the 'dummy' member - it's not needed since ages.

Change-Id: I4869cf9153c892ea065340335ff7accd529a79c6
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2020-05-23 10:53:29 +02:00
Christian Ehrlicher
c7ef17b231 Models: remove version check for clearItemData()
The version checks for clearItemData() are no longer needed now.

Change-Id: I5052188fb96cf637128662f3442d339820f0f41d
Reviewed-by: David Faure <david.faure@kdab.com>
2020-05-23 10:53:26 +02:00
Christian Ehrlicher
ee3994384a Examples/RegularExpressionDialog: remove deprecated options
Remove the two deprecated (and non-functional) options
OptimizeOnFirstUsageOption and DontAutomaticallyOptimizeOption.

Change-Id: Id5191cee84bf7b1ae65f828a981f93d98db23f53
Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2020-05-23 10:53:24 +02:00
BogDan Vatra
eaa6191307 Android: Fix RESOURCES for Android MultiAbI
Pick-to: 5.15
Change-Id: I57560f51115ae560e3133096f402c6c9735f15a6
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2020-05-22 13:43:04 +00:00
Giuseppe D'Angelo
ed2c3f6756 QSslCertificate: overhaul ASN.1 datetime parsing
Instead of manual string splitting (EW!), use QDateTime parsing.
Moreover, X.509 certificates *must* have a valid start/end date.
In case of parsing failure, reject the certificate. An autotest
for this last case is coming in a separate patch.

Change-Id: I934bf9e6a4a92e4befdb3b0f9450f76f67bad067
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2020-05-22 15:40:22 +02:00
Tor Arne Vestbø
7a1650e343 Move QtVulkanSupport into QtGui and QtOpenGL
Task-number: QTBUG-83255
Change-Id: Ib021cecebda89fa2ab9332752124a8cec0a51a10
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2020-05-22 15:38:28 +02:00
Kai Koehne
948134371e Licenses: Remove reference to change in Qt 5.4
Qt 5.4 is not documented anymore since quite some time.

Change-Id: I6811ead502178f7acbed8cf450e42d7fd33ae29b
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2020-05-22 15:38:28 +02:00
Eirik Aavitsland
880f709fd0 RHI: facilitate compressed atlas textures in gles2 backend
Since glCompressedTexImage2D() does not allow zero data, it could not
be executed during texture build. Instead it would be done during the
first subresource upload. This made atlasing clumsy, since one had to
introduce a fake upload of the full texture size before the subtexture
uploads. This commits lets the gles2 backend deal with that instead.

Introduces the UsedAsCompressedAtlas QRhiTexture::Flag for opting in
to this behavior.

Task-number: QTBUG-78582
Change-Id: Ib6e4ea637c62cc8a51bd9a4a06e59882f335f2a7
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2020-05-22 10:32:11 +02:00