Commit Graph

35417 Commits (f8474306e5a42ac44eeccd7e01abe44ebeef79f6)

Author SHA1 Message Date
Topi Reinio fc141be890 Doc: Qt GUI: Depend on qtprintsupport documentation module
This adds 'Inherited by:' links to print support classes deriving from
Qt GUI types.

Pick-to: 5.15
Task-number: QTBUG-77126
Change-Id: I84ecee5df8cae0635d42653b1483db6b3c6074ee
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-09-29 08:53:52 +02:00
Martin Smith 32468c075f doc: Make QtCore depend on all modules
Class QObject is the most widely used base class in Qt. It is
inherited by a great many Qt classes.This update sets the depends
variable in qtcore.qdocconf to '*' so that QDoc will load all the
index files for all of Qt, when it generates the documentation for
QtCore. In particular, this will ensure that the "Inherited By"
list for class QObject will show all the Qt classes that inherit
QObject.

Pick-to: 5.15
Task-number: QTBUG-77126
Change-Id: I5f38400ccc798ec34e2ee80472f1fe9bb7b1877d
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-09-29 08:53:50 +02:00
Allan Sandfeld Jensen a45920c86c Switch QBitArray to qsizetype
To make it consistent with other containers in Qt6.

Change-Id: I5578845390248baf80daa282237b706857e57661
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-09-29 08:53:00 +02:00
Allan Sandfeld Jensen 92e108bff8 Switch QCache costs to qsizetype
Since size is already qsizetype and costs is multipla of size, it seems
costs should be qsizetype as well.

Change-Id: Iae85baaba5842460358e369a666fef6ebb7e52b4
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-09-29 08:52:52 +02:00
Oswald Buddenhagen b9290cb6e5 make {QString,QByteArray}::squeeze() work without prior reserve()
string-shortening operations never throw away capacity (unless
detaching), so it may very much make sense to squeeze a string whose
capacity was not explicitly reserved.

this does in fact restore the behavior prior to commit a3aa2fcf, which
changed it presumably only due to not considering the case above.

Change-Id: I0d7919a1724dd3ecc6cd4cbd7236eb52067f0a1c
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
2020-09-28 22:08:40 +02:00
Timur Pocheptsov 7ee9bfc158 QCocoaDrag - set image only on the first drag item
This image is already a combined image of all urls that we drag.

Pick-to: 5.15
Change-Id: I8fe45f64a6022881320d100f8a6f4a25fcac73b9
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-09-28 21:43:47 +02:00
Assam Boudjelthia bfd07072fe CMake: make QT_ANDROID_DEPLOYMENT_SETTINGS_FILE consistent with qmake
Make name format of QT_ANDROID_DEPLOYMENT_SETTINGS_FILE consistent with
qmake, that is android-${target}-deployment-settings.json.

Task-number: QTCREATORBUG-24678
Change-Id: I2bdb056cf7a82fd83aaf658f3a405a0c9ef05756
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-09-28 17:25:19 +00:00
Lars Knoll 0902508411 Fix compiler warnings from QKeyCombination
Change lots of code to avoid the deprecated operator+() or implicit
casts to int.

Change-Id: I0c343cd5b28603afdf1214eefb85e928313345e2
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-09-28 17:23:20 +02:00
Timur Pocheptsov 673da7d460 QSslConfiguration::setAllowedNextProtocol - remove the old signature
Change-Id: I0b4b18e6ea2b78917220e77865fd92eb7a684179
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-09-28 15:48:49 +02:00
Sona Kurazyan a6e1f67937 Fix QtConcurrent algorithms to work with temporary sequences
QtConcurrent algorithms are making an internal copy of the passed
sequence, to make sure it won't be destroyed before the execution
is finished. However, they were using iterators of the originally
passed sequence. So, if the original sequence is deleted, QtConcurrent
algorithms would use invalid iterators to a deleted sequence. This
might work with Qt containers thanks to implicit-sharing, but with
other containers will lead to unexpected results. Fixed them to work
on the internal copy of the original sequence.

Change-Id: I1d68692ed9746223c85f51bb05977bc1443b681d
Reviewed-by: Andreas Buhr <andreas.buhr@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
2020-09-28 15:48:17 +02:00
Edward Welbourne b12d6c6a8a Don't guess UTC when we can't find a system zone name
If we're able to load a system zone without knowing its name, we
shouldn't claim that its name is UTC.  Instead, use the system zone
information's name for the zone.

Let the backend return an empty string if it can't determine the
system zone ID, provided it has some way to get system zone info
despite not knowing its name. This can happen on Windows if the system
zone is one of Microsoft's idiosyncratic names that we don't
recognize; or on Linux if /etc/timezone is a copy of a zoneinfo file,
instead of a symlink. In support of that, handle empty ID as a request
for system zone info, so that the backend constructors taking an IANA
ID never get passed an empty ID; that gets routed to the default
constructor instead.

This incidentally restores QTzTimeZonePrivate's behavior, for empty
ID, of reading the content of /etc/timezone if we are unable to
determine the name of its zone any other way.

Fixes: QTBUG-86306
Pick-to: 5.15 5.15.1
Change-Id: Iad57c18199124f651ebc3d32c3deffca6eaab512
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-09-28 15:48:17 +02:00
Alexandru Croitor a9f352cce3 CMake: Regenerate configure.cmake files
Change-Id: I165c633d7c052fb80419d4b2c57561de40217ade
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-09-28 15:48:17 +02:00
Fabian Kosmale 1e883cf9b5 Prevent endless markDirtyAndNotifyObservers <-> notify loop
Before we had the option of eager evaluation, we were able to use the
dirty flag to detect whether we are recursing. However, eager properties
will lead to a evaluateIfDirtyAndReturnTrueIfValueChanged call, and that
in turn will clear the dirty flag.
Introduce a new member to detect that situation, and set the bindings
error state to BindingLoop if we detect that kind of loop.

Change-Id: If40b93221848bd9e9422502318d992fad95b0b74
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-09-28 09:11:16 +02:00
Volker Hilsheimer de52ad0a0f Fix documentation for QStringList
Explicitly declare members in qdoc runs that are otherwise inherited
from QListSpecialMethods.

Note: Due to a bug in syncqt, those members need to be added in a
separate #ifdef Q_QDOC section.

Change-Id: I96850f3665359de4f97be1b8d10f8052ba252fab
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-09-28 08:16:59 +02:00
Volker Hilsheimer 258bf0c58e Fix qdoc warnings: supportedCiphers is a member of QSslConfiguration
... not of QSslSocket.

Change-Id: I9db5debe6a0aaa6a780b0047ae3f551ec3770fb4
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2020-09-28 07:10:49 +02:00
Volker Hilsheimer 804ef8db7a Fix qdoc warnings: remove docs for inherited/implicit members
Change-Id: I8654dbc3c0d1b86690f805cc1282e581dbcc5c55
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-09-28 07:09:56 +02:00
Volker Hilsheimer 4ccebdf12d Fix some qdoc warnings from QStaticPlugin
Move all the documentation for that class into one place, and remove
rawMetaData documentation and references; it is a private variable, and
shouldn't be documented.

The instance member is a function pointer type variable, but should
be treated as a member function. Even with a Q_QDOC ifdef'ery we can't fix
that warning (we would get a lot of new warnings instead), so leave that
as is for now.

Change-Id: I951aaafad8dca5ed2533ace69931f002eb97996a
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-09-28 07:09:48 +02:00
Volker Hilsheimer 7542638e0c Fix qdoc warnings from Q(Latin1)String
arg() is now a variadic template, already documented in
qstringview.cpp, so document that and remove the documentation for
the removed overloads.

QString has no member subString, so remove that as well.

Fix return type in QLatin1String member function documentation.

Change-Id: I32e7bcba770bcee77ae4a07c06ac61228ffa93a6
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-09-28 07:07:56 +02:00
Volker Hilsheimer 36df66591a Fix some qdoc warnings from QHash and QMultiHash
It's no longer possible to decrement an iterator, and the class uses
qsizetype, not int for sizes.

Fix incorrect function prototypes in the documentation, and remove
documentation for functions/overloads that don't exist.

QMultiHash doesn't have Java style iterators (not a new issue in
Qt 6), so remove the references to QMultiHashIterator.

Change-Id: I149b4620963f2087f3f66bb70a9c97b292a35378
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-09-28 07:07:56 +02:00
Volker Hilsheimer 7083ddb582 Fix qdoc warning: button(s) are members of QSinglePointEvent
... and documented there already.

Change-Id: Ie66362d3b668caf93b100befef08bc91ae8add2f
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2020-09-27 14:09:47 +02:00
Edward Welbourne 03c12974bb Simplify the preamble of QDateTimeEditPrivate::stepBy()
Repetition and needless complexity: eleven lines rewritten in three.

Change-Id: I1dadbbc5329b18d3e25f38f73b69abd2d7aac30d
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
2020-09-27 09:32:17 +02:00
Edward Welbourne e0ff15ffd8 QCalendar: use LGPL like everything else, not GPL
Pointed out by Lars.

Change-Id: Idb8427d77b35c84eb3037703957cf7f93ea5f387
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-09-27 09:31:48 +02:00
Johan Klokkhammer Helsing 400fb27208 Use WAYLAND_DISPLAY and DISPLAY instead of XDG_SESSION_TYPE
XDG_SESSION_TYPE is a non-standard part of systemd, and not set if you
run a compositor from the command line, for instance.

[ChangeLog][Wayland] XDG_SESSION_TYPE is no longer used to determine which
platform plugin to use. Instead, if WAYLAND_DISPLAY is set in the environment,
wayland is used. Similarly, if DISPLAY is set, xcb is used. If both are
detected, wayland will be attempted first, then xcb.

Gnome-shell is still skipped for automatic wayland detection.

Fixes: QTBUG-75732
Change-Id: Ieed123330662dc29eafa31148a9b99ba0810de90
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
2020-09-27 09:30:53 +02:00
Edward Welbourne 8e15b2ac5e Remove QNX/Blackberry-related qpps* files from corelib/kernel/
They appear to be no longer in use.

Task-number: QTBUG-85700
Change-Id: Id4c134b99372ccb26eead2a033d99196778c418e
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2020-09-26 21:31:03 +02:00
Friedemann Kleint d37b353e5d Windows Vista/XP Styles: Clean up some code
Remove public constructor of QWindowsXPStyle since it
cannot be instantiated via style factory since 5.0.
Remove overridden functions that merely call the base implementation.

Change-Id: I3b2998115c4ab65fabf3744874bc3a69a1f5e5b0
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-09-26 20:07:59 +02:00
Allan Sandfeld Jensen b0b4fcd05c Preserve formats in QImage::scaled()
Do not always use the smoothScaled routine, the normal routines are
also optimized, and do not convert to alpha formats when not necessary.

Task-number: QTBUG-49719
Change-Id: I6ee9b620cc259472c419e7363357f41ce29b594a
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2020-09-26 18:49:10 +02:00
Assam Boudjelthia 5a158a9512 Android: allow Android app building to use java 8 features
Enable Gradle builds to use Java 8 features like lambda expression by
default.

Task-number: QTBUG-86282
Pick-to: 5.15
Change-Id: Ib497b8a789690fcca6e13ea4995e5966331c6c0d
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2020-09-26 19:43:00 +03:00
Volker Hilsheimer c1fddbbd58 Fix qdoc warnings from references to removed APIs
Change-Id: Id41052be0878715eda4879fcd3171a30ddd5a9a7
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2020-09-26 14:36:03 +02:00
Volker Hilsheimer 0ebe1708e2 Fix qdoc warnings in QStringView
Fix prototype of template member function, and fix see-also reference.

Change-Id: Ibb39925063dfeb3fd511f47a1606a0b243d4c2ef
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2020-09-26 14:35:48 +02:00
Volker Hilsheimer 02dd77fa80 Fix qdoc warning from QMetaObject
It's QMetaObject::isWritable, not isReadOnly.

Change-Id: I47a0b07a1969740f67c081dade3720890077361e
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2020-09-26 14:35:44 +02:00
Volker Hilsheimer aa62ee3f9a Fix qdoc warning: QTextBoundaryFinder
Change-Id: Iec38f33519f05b046d6995d6f7eef1557fd5f209
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2020-09-26 14:35:40 +02:00
Volker Hilsheimer 77d57706ff Fix qdoc warnings: QTextStream manipulators are in the Qt namespace
Change-Id: I55c0c6454e27e0a002021a73f6c1cf8d8ed4d6af
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2020-09-26 14:35:37 +02:00
Volker Hilsheimer 756104d5e1 Fix some qdoc warnings for QString/View/Tokenizer
Use correct member function prototype, which requires the template declaration.
Remove see-alsos that don't exist.
Document parameters for qTokenize.

Still lots of warnings from QStringTokenizer, due to the inheritance structure
of that template class and the declarations of nested types in undocumented
base classes.

Also, qdoc doesn't seem to recognize training this-lvalue/this-rvalue
declarations for overloads, and considers the second toContainer documentations
to override the first.

Change-Id: Iadf967d3328ddda52b6f66786836853bddeda79b
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2020-09-26 14:35:29 +02:00
Volker Hilsheimer c2be134d15 Fix some qdoc warnings for QAnyStringView
Change-Id: I62f05fea897effff22e5031f02661c01b2e3c45f
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2020-09-26 14:35:21 +02:00
Julien Schueller cc6677a6c7 Fix -Wmaybe-uninitialized warnings
Fixes few of these, for example:
qurlrecode.cpp:308:19: warning: 'ucs4' may be used uninitialized in this function [-Wmaybe-uninitialized]
*output++ = ucs4;

Change-Id: Iaf09fa854102c76b51e6e18556c5ef20212e57cf
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-09-26 11:40:21 +02:00
Robert Loehning 74146e0102 Avoid heap-buffer-overflow
[ChangeLog][QOutlineMapper] Avoid heap-buffer-overflow

Fixes: oss-fuzz-24615
Pick-to: 5.12 5.15
Change-Id: Ia67e1fb830850d04f068d8b5c009687f3deff156
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2020-09-25 18:00:49 +00:00
Alexander Volkov 065c4021ad xcb: Avoid BadMatch error when creating non-OpenGL window
The Xorg Server requires colormap when creating a window if
the window's parent either has a different visual or has no
colormap. To simplify logic and avoid extra requests, create
a new window with colormap unconditionally.

Pick-to: 5.15
Change-Id: I21a53f9146ae0a03b38bb3a07c8a478043a2eb89
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-09-25 18:03:56 +03:00
Volker Hilsheimer 1e7a52005b QStaticPlugin: Reorder class members
Address ### Qt6 comment.

Task-number: QTBUG-85700
Change-Id: I31b65a76662b3dcdfa1400a3747c2e3c730b5ee3
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2020-09-25 17:02:51 +02:00
Volker Hilsheimer 51e138b695 Remove traces of QObject::trUtf8 from documentation
... and from the duplicated Q_DECLARE_TR_FUNCTION macro for QXmlStream.
We expect source code to be utf8 encoded in Qt 6, so the function is gone.

Change-Id: Ie25329a54e709dc92a22893ad5ab023852300d81
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2020-09-25 17:02:41 +02:00
Laszlo Agocs 7f3b62324e rhi: Switch command lists to QVLA
Change-Id: Ic163533eee973f0ee2f3e2efe25390caa57dd659
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
2020-09-25 14:59:14 +00:00
Laszlo Agocs 63e54fbdfe rhi: gl: get rid of a wrapper QByteArray where a raw ptr suffices
This is a visible performance increase actually, given this is on a quite
hot chode path.

Change-Id: I165bfa0d4e490f80078551efb4bf2fe8e72d3596
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
2020-09-25 16:59:00 +02:00
Laszlo Agocs 80091e0a0f rhi: Skip comparing to this in isCompatible tests
Change-Id: Ie1855f992315f6e02986016a254127cec0ac94c8
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
2020-09-25 16:58:59 +02:00
Laszlo Agocs 89f7389494 rhi: gl: d3d: Do not use QByteArray where there is no point
The real benefit in practice is getting rid of profilers going wild
about QByteArray::begin() and similar. The actual perf. gain is
fairly small.

Change-Id: I25e4c762f303b41f0aaf914bc62751f3265d3cf8
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
2020-09-25 16:58:46 +02:00
Volker Hilsheimer cc5287a0a9 Fix qdoc warning and typo in QMetaSequence
There is no parameter called value in removeValueAtBeing/End.

Change-Id: Ife91d2014ea35ea636e9cfb1c815424e5f4ef7a6
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2020-09-25 13:15:50 +02:00
Laszlo Agocs 8059632fbd rhi: Drop the zeroing out of resource binding structs
This has a non-insignificant cost (since the size is at least 260 bytes)
in renderers that construct a lot of these objects per frame. After
changing the qHash implementation to be lighter we no longer rely on
qHashBits, so zeroing it is not essential anymore. Remove it.

Change-Id: If1fbd8dfd46fb3f0e9ea5a3c4794d24b8aeac1ba
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2020-09-25 09:24:42 +02:00
Laszlo Agocs 60871b4fdf rhi: vulkan: Fix mipmap generation for cubemaps
Change-Id: Ia1aab06214be802aaabc97ffefa28947e11148e3
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2020-09-25 09:24:25 +02:00
Assam Boudjelthia 342a8f29ea CMake: fix minor line indentation
Pick-to: 5.15
Change-Id: I1f064ecb38fcd6b0a59f3eaeb079cabbb7a8029f
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-09-25 10:14:07 +03:00
Cristian Adam d9d137c8f3 CMake Build: Fix iOS build with PCH and CMake 3.18.3
If a target inherits precompile headers from a different target
that has more languages enabled (CXX, OBJCXX), the target will
depend on PCH artifacts for a language that is not actually
present.

Change-Id: I230f16ee59f2c524a30d41a487093343272722d1
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-09-25 08:59:42 +02:00
Mårten Nordheim 8bcab6d43f qt_add_plugin: Get CLASS_NAME as a one value parameter, add TYPE
I accidentally made the CLASS_NAME a multi-value parameter when adding
it.

Add a TYPE argument, which was likely intended to be there since it is
already used in an android branch.

Change-Id: Ic44dbbaeebc6863a984a7c2effbc00c3c2796b0b
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-09-25 08:59:34 +02:00
Joerg Bornemann 3bbe97b444 CMake: Expose XKB::XKB as public dependency of Qt::GuiPrivate
Headers of xkbcommon are used in private headers, and consumers of
Qt::GuiPrivate should automatically link against XKB::XKB.

Change-Id: I99c67b5f291f64b529aed1499a00a215b5db3be2
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-09-25 08:59:26 +02:00