Commit Graph

33799 Commits

Author SHA1 Message Date
Tor Arne Vestbø
1cd7cbf617 macOS: Respect window type when determining main window status
Fixes: QTBUG-84405
Pick-to: 5.15 5.12
Change-Id: I3fc6b15b07a81e7e7e417a5767c2853083c13516
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2020-06-05 11:00:16 +00:00
Alex Trotsenko
ad117c5444 QProcess/Win: Fix build in debug mode
Suppress a compile warning:

io\qprocess_win.cpp: 623:101: error: format '%d' expects argument of ...

Pick-to: 5.15
Change-Id: I9ea94ddfc21afea5d1a78e264507a36435cce063
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2020-06-05 13:22:49 +03:00
Edward Welbourne
8a95404905 Clean out string/character mentions from QByteArray docs
In some places QByteArray does interpret bytes as characters and a
sequence of them as a text string; everywhere else, however, it now
refers to them as bytes.

Add a section to the class doc explaining how char* pointers are
interpreted; the handling of '\0'-termination is surely familiar to
most readers, but making it explicit provides contrast for the
explanation of there being no such special treatment of '\0' bytes
when a stard address and length are given.

Also mention in the class doc that interaction with QString is done
via UTF-8 encoding and can be avoided by defining a macro. Shorten, in
light of that, the description of that encoding where it appears in
affected methods.

In the process, clean up lots of phrasings.

Change-Id: Ic97dce4a20752e277eeab35a06737322b2074692
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-06-05 12:13:29 +02:00
Edward Welbourne
c5f22d1c14 Fix references to section in QByteArray class doc after title change
This amends commit 9dd8e655cd to fix the
various references to section {8-bit Character Conversions}, which is
now renamed {Character Case}.

Change-Id: I1f777ab359c616a1b12f05a12b1cd7397f3ccb18
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-06-05 12:13:17 +02:00
Edward Welbourne
262ab9944a Prune two un-needed #include files from qbytearray.cpp
The QByteArray code doesn't use QLocale or QString.

Change-Id: I60966ecad35fdaaef9930ba2746bf732fa9f3cd7
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-06-05 12:12:51 +02:00
Edward Welbourne
c7420d9cb8 Create QLocale's default store if missing when setDefault() is called
A check to prevent crash-on-exit if QLocale::setDefault() was called
after the default store was torn down had the side-effect of causing
setDefault() to not record data if it was called before the first
access to the default store caused it to come into being.

Change the check to test that the default store has been destroyed
and, if not, create it if it doesn't exist yet.  This refines commit
4d6572aac0 (as modified by commit
11c5c078c7).

Fixes: QTBUG-83016
Fixes: QTBUG-83415
Pick-to: 5.15
Change-Id: Icbce9bd9c75d0258d403e2f90957561b5a18bdf3
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-06-05 12:12:36 +02:00
Jarek Kobus
79fd1cb2c6 Reuse the non blocking implementation for blocking one
Replace the implementation of blockingMappedReduced():
after calling non-blocking version of mappedReduced() we are getting
the future object, so we may call in sequence result(), which
will block and return the result when the all tasks are done.

The same is done with blockigMapped(), which calls blockingMappedReduced()
with a custom reduce function.

Looks like with this pattern we can reuse the non-blocking version
for implementing blocking version of mapped / filtered methods.

Task-number: QTBUG-83918
Change-Id: I7f240cfbd04834d551ff79d717b72194a26996d7
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
2020-06-05 12:09:59 +02:00
Lars Knoll
690abaac0e Port QSettings from QStringRef to QStringView
Task-number: QTBUG-84319
Change-Id: If2b5d8eb78ab5ca78d365f137d9680b1f0646c6b
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-06-05 07:07:13 +00:00
Teemu Holappa
0c2508efb2 Add possibility to set QNX Screen pipeline value
The pipeline value is set by window property _q_platform_qnxPipeline.

Task-number: QSR-263
Change-Id: I13536936b2335a97a6eeb5a94c4e0f552308d15e
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
2020-06-05 07:07:13 +00:00
Tasuku Suzuki
758ee12a99 Fix build without features.shortcut
Change-Id: I5b0d3b169c7adb3ee340df7b593f84167f1ccc0c
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-06-05 10:23:48 +09:00
Tor Arne Vestbø
df2e029a06 macOS: Clean up headers
The headers are now C++ clean and can be used outside of Objective-C
code. All includes of Objective-C frameworks have been moved to the
implementation files.

Header guards have been added in the few places they were missing.

All includes are now done via #include, instead of sometimes using
the #import variant.

Change-Id: Ibb0a9c0bcfefbda4347737212e40e300a3184982
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-06-05 00:03:51 +02:00
Tasuku Suzuki
c7d80486de Fix build without features.completer
Change-Id: Icaed1963d6306e36653d01ad9d05b68cb50717e5
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-06-05 07:02:28 +09: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
Giuseppe D'Angelo
34ae919f23 Enforce two's complement integers
C++20 will make this true for everyone, but as far as Qt goes,
this has to apply to all platforms even before that.
Just add another couple of checks to the list.

Change-Id: I0251ce431d4584380cfd3fc3e4b36f1dbdbf9df2
Pick-to: 5.15
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-06-04 22:34:20 +02:00
Sona Kurazyan
37cfc3c6d2 Deprecate the pause-related APIs of QFuture* classes
Deprecated the pause-related APIs of QFuture* classes and
added alternatives having "suspend" in the name instead.

With 2f15927f01 new
isSuspended()/suspended() APIs have been added to QFuture* classes for
checking if pause/suspension is still in progress or it already took
effect. To keep the naming more consistent, renamed:

 - setPaused() -> setSuspended()
 - pause() -> suspend()
 - togglePaused() -> toggleSuspended()
 - QFutureWatcher::paused() -> QFutureWatcher::suspending()

Note that QFuture*::isPaused() now corresponds to (isSuspending() ||
isSuspended()).

[ChangeLog][Deprecation Notice] Deprecated pause-related APIs of
QFuture and QFutureWatcher. Added alternatives having "suspend" in
the name instead.

Change-Id: Ibeb75017a118401d64d18b72fb95d78e28c4661c
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2020-06-04 22:32:43 +02:00
Miika Pernu
036c3c19e7 Fix to crash in QWindow::event when delete this called on closeEvent
Starting from Qt 5.11 QWindow::event is called after QDialog::closeEvent
which would cause a crash if "delete this" was called on closeEvent.  The commit
that changed this was e0b5ff4ad5. Added
a check before QWindow::event call utilizing QPointer to prevent the
function call in case object is destroyed by a user in close event handler.

Change-Id: I64a4a0f3271714e55bf7e806177f0d8b39b67fa3
Fixes: QTBUG-84222
Pick-to: 5.15 5.12
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-06-04 20:29:38 +00:00
Volker Hilsheimer
c7b457e287 QLabel: create the text control when getting polished, if necessary
This amends 7bee4e9cb3, and makes sure
that the text control is created even if the attributes that define
whether it's needed are changed after a call to setText or
setTextInteractionFlags, where it is otherwise created.

Task-number: QTBUG-84080
Pick-to: 5.15
Change-Id: I3be27f35bc83944948027345535d1202a7b97163
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
2020-06-04 22:29:15 +02:00
Volker Hilsheimer
94dcb5454f Remove the deprecated QDirModel
QFileSystemModel is the documented replacement. It uses threads to
populate the model, which QDirModel doesn't.

Change-Id: I7818ecd8f849eb566ac176612f382e17a0471c47
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2020-06-04 19:11:19 +02:00
Samuli Piippo
5781ef2013 QNX: assume QNX is always UTF-8
Override locale encoding to UTF-8 on supported platforms.

QNX has nl_langinfo, but the header is not using extern "C". Tests
show that it returns UTF-8 regardless of the locale, so let's assume
it's always UTF-8.

Change-Id: I0fe98f8441287df9f99c334e537a7b962df105f6
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-06-04 20:11:19 +03:00
Samuli Piippo
8a0c16ce9f QNX: add missing include
src/plugins/platforms/qnx/qqnxscreeneventhandler.cpp:149:42: error: incomplete type 'QTouchDevice' used in nested name specifier
     m_touchDevice->setType(QTouchDevice::TouchScreen);
                                          ^~~~~~~~~~~

Change-Id: I83fbecfb3b0745d2f8f30d946f3ee3bd5d6c7459
Reviewed-by: James McDonnell <jmcdonnell@blackberry.com>
2020-06-04 20:11:19 +03:00
Samuli Piippo
150917a4ad QNX: fix build error without PPS feature
Use matching ifdef's as is done for the declaration.

src/plugins/platforms/qnx/qqnxintegration.cpp:430:24: error: no declaration matches 'QPlatformInputContext* QQnxIntegration::inputContext() const'
 QPlatformInputContext *QQnxIntegration::inputContext() const
                        ^~~~~~~~~~~~~~~

Change-Id: I7afddba514833279fe560c1807da0cb060aead29
Reviewed-by: James McDonnell <jmcdonnell@blackberry.com>
2020-06-04 20:11:18 +03:00
Timur Pocheptsov
6d6bfcb9ad QtNetwork remove deprecated signals
Use 'errorOccurred' instead of 'error' and 'sslHandshakeErrors'
instead of 'sslErrors'.

Fixes: QTBUG-82605
Change-Id: I19d4845b16c7b636af7b0658d4fbbba4eef9d029
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-06-04 15:58:02 +02:00
Mårten Nordheim
c2085c26cf QNetworkReplyHttpImpl: resolve a todo after the bearer removal
Not quite "next commit" like I wrote originally, but better late than
never.

As the comment said (and the code shows) it only returns true now so
the extra function and if-check isn't needed anymore.

Change-Id: I9e8fb8891a116475ab78c3848d7cfcdb659ac521
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2020-06-04 15:58:02 +02:00
Tor Arne Vestbø
4497cb3d85 macOS: Build print support plugin directly into QtPrintSupport
Task-number: QTBUG-83259
Change-Id: I74f60519fbccfa5f208397bf3d65f0a4f64cb6f0
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-06-04 15:58:02 +02:00
Tor Arne Vestbø
1cee9cc587 macOS: Remove QtWidget dependency from platform plugin
The dialog helpers don't depend on widgets themselves, and should be
built regardless of whether the widget dialogs are enabled, as these
helpers can (and should) be used by other layers, such as Qt Quick.

Change-Id: I1c66b474ab2f29748f1256aea90229c51c12a16f
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-06-04 10:39:53 +02:00
Edward Welbourne
9dd8e655cd Limit QByteArray's 8-bit support to ASCII
Previously it handled Latin-1, which made it incompatible with UTF-8,
which is now our preferred 8-bit encoding. For Qt6 it is limited to
ASCII. Adjusted tests to match. QLatin1String::compare() turned out
to be relying on qstrnicmp()'s Latin-1 handling.

Removed some spurious Q_UNLIKELY()s and tidied up code a little in the
process.

[ChangeLog][QtCore][Important Behavior Changes] Encoding-dependent
features of QByteArrray are now limited to ASCII, where previously
they worked for the whole of Latin-1. This affects case-insensitive
comparison, notably including qstricmp() and qstrnicmp(), and
case-transforming functions.

Fixes: QTBUG-84323
Change-Id: I2925d9908f8654599195a2860847b17083911b41
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2020-06-04 10:39:53 +02:00
Edward Welbourne
135204bdf6 Overhaul documentation of QByteArray numeric conversions
A few pet peeves, a bunch of missing details and some phrasing I like
better.

Telling folk you're using "base 10" in fact communicates no
information; it *assumes* a base that folk shall read that text with
and tells them they are indeed using that. If they happen to be
reading with a different assumption than you, they'll duly see you
confirming their expectation. If you mean "base ten", say so.

Values "between 2 and 36" may nor may not include the bounds,
depending on weird cultural cues and contextual complications. Be
explicit about octal being base 8 and hexadecimal being base 16; most
readers shall know, but best to be clear. Be explicit about the digits
used for bases beyond ten.

Mention that QLocale is the way to do locale-sensitive conversions.

Change-Id: I4efcec6242644f37a48ff6391b96ed5b371d5be8
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-06-04 10:39:53 +02:00
Edward Welbourne
3a8aeef897 QByteArray: clean up docs of trimmed() and simplified()
Make the set of spacing characters explicit (rather than "includes"
hinting that there might be more) and makes explicit that this is an
ASCII operation.

Change-Id: I61b543bcb450ee82bcce980ecb469901e287b46f
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-06-04 10:39:53 +02:00
Edward Welbourne
21549529ef Rename snippet files to match the carved up corelib/tools/
This is a folllow-up to commits
548513a4bd and
a9aa206b7b, renaming the snippets files
referenced by the files moved out of corelib/tools/ to match the new
locations of the files using them.

Change-Id: I59f5d3c217ef835e9244387cc769e7212de9d8f5
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-06-04 10:39:52 +02:00
Andy Shaw
f439df7893 Set the dontPrint attribute correctly for the character being checked
This amends 36325f9d86 so that the
dontPrint attribute is set before incrementing i

Change-Id: I0be7386253d8607596489ce1025d2f3f8d468ab4
Pick-to: 5.15
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2020-06-04 07:36:40 +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
Tasuku Suzuki
e83991274a Fix build without features.action
Change-Id: Ie37036e44da9b552dc7e46ce94db7b50ce2f8a0b
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-06-04 10:08:14 +09:00
Tor Arne Vestbø
7f179eff61 Move macOS print support from platform plugin into QtPrintSupport
Task-number: QTBUG-83256
Change-Id: I29044b6c3f952c259f501f94a175c8ef2cbaae55
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-06-04 01:46:27 +02:00
Marc Mutz
6a3c6f939f Long live QStringTokenizer!
This class is designed as C++20-style generator / lazy sequence, and
the new return value of QString{,View}::tokenize().

It thus is more similar to a hand-coded loop around indexOf() than
QString::split(), which returns a container (the filling of which
allocates memory).

The template arguments of QStringTokenizer intricately depend on the
arguments with which it is constructed, so QStringTokenizer cannot be used
directly without C++17 CTAD. To work around this issue, add a factory
function, qTokenize().

LATER:
- ~Optimize QLatin1String needles (avoid repeated L1->UTF16 conversion)~
  (out of scope for QStringTokenizer, should be solved in the respective
  indexOf())
- Keep per-instantiation state:
  * Boyer-Moore table

[ChangeLog][QtCore][QStringTokenizer] New class.

[ChangeLog][QtCore][qTokenize] New function.

Change-Id: I7a7a02e9175cdd3887778f29f2f91933329be759
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2020-06-03 19:13:54 +02:00
Jonas Karlsson
1b33ee95e5 Use QByteArray instead of QString
Since the variable names in QShaderDescription are later compared to
QByteArrays we can gain some performance from not having to convert them
to QByteArrays later.

Task-Id: QTBUG-83706
Change-Id: Iaf80d0966f45cbb09e7c1000b7854bc488e57bb3
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2020-06-03 18:56:21 +02:00
Laszlo Agocs
1f88ccc8ad Enable the scenegraph to remove its QMatrix4x4_Accessor hack
Expose flagBits via a public function marked as internal.

Task-number: QTBUG-82670
Change-Id: Ia64d934d3dda3e718357cf4e3c32866a613a4722
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
2020-06-03 18:56:09 +02:00
Ulf Hermann
07ded4912f Fix and compactify QNotifiedProperty
The static observer can live in a union with the inline observers. We
only need to take care of calling the ctors and dtors manually then.

In order for any observers to be called in the presence of a static
observer, the static observer has to be called after the other
observers.

Change-Id: I2f56fa64f3fe6fcd7f06cc403929362da7d86f65
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2020-06-03 18:53:40 +02:00
Tasuku Suzuki
5a1680ef13 Fix build without features.menu
qaction_widgets.cpp needs qwidget_p.h for qWidgetShortcutContextMatcher.

Change-Id: I9144a4158af2f25f20b6f13badd0ddcd50075b67
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-06-04 01:52:21 +09:00
Tor Arne Vestbø
788cd98b35 Move QAbstractFileIconEngine into QtGui
Task-number: QTBUG-83255
Change-Id: Iab502c51600b96f315113b08fa473ed28a5457fc
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-06-03 18:47:56 +02:00
Allan Sandfeld Jensen
87d32424de Do not multithread if already in a global threadpool thread
This can lead to a deadlock if we block all the worker threads, waiting
for the worker threads to finish.

Pick-to: 5.15
Fixes: QTBUG-84619
Change-Id: I92b7f96007897d86ece0c34223bab0df4ccbed9a
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
2020-06-03 18:40:34 +02:00
Allan Sandfeld Jensen
6a31a7b024 Support winding fonts like Windows does
Map Latin-1 characters to the Winding unicode entries for symbol fonts
to render those fonts like Windows does.

Pick-to: 5.15
Fixes: QTBUG-84409
Change-Id: I60b81d93412d970d25a98606545773db6c8ab723
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2020-06-03 18:40:23 +02:00
Alex Trotsenko
33e6e5fac3 QEventDispatcherWin32: retrieve PM_REMOVE value as a bit flag
Windows unexpectedly passes PM_NOYIELD flag in wParam parameter to the
hook procedure, if ::PeekMessage(..., PM_REMOVE | PM_NOYIELD) is called
from the event loop. So, to ignore undocumented flag, we should
interpret wParam as a bit field.

Thanks to Robin Lobel for research.

Pick-to: 5.15
Fixes: QTBUG-84562
Change-Id: Ib16d7d747aebc9a3628e4ee67478c4d3edeb96f1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2020-06-03 19:36:34 +03:00
Giuseppe D'Angelo
b99ade85b0 QPoint(F): API cleanups
Unexport the classes, plaster noexcept, and port to constexpr.

Change-Id: I5cc7928fb08e8e32c67cff2d84c1b0ed9d46a2fa
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-06-03 18:26:54 +02:00
Shawn Rutledge
d268b91907 Add QT_QPA_SYSTEM_ICON_THEME to override icon theme name
On a plain X11 desktop, it otherwise ends up empty.

Pick-to: 5.15
Task-number: QTBUG-25351
Task-number: QTBUG-25718
Task-number: QTBUG-74252
Change-Id: I50a522a3e1761e422d5949d5338869ceb9e5e89d
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
2020-06-03 18:17:51 +02:00
Eskil Abrahamsen Blomfeldt
4dfaa1d60a Fix build for Android on macOS
The FreeType engine has moved out of the fontdatabases library,
so the .a file would be empty. This caused the error
"attempt to map 60 bytes at offset 72 exceeds size of file" when
building for Android on macOS.

Change-Id: I9d9afca67e7626d3b5c6a62fcde33fed029fe04c
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-06-03 16:39:39 +03:00
Assam Boudjelthia
7ede57f937 Make sure the default AndroidManifest is compatible with Qt Creator
When adding the default AndroidManifest.xml to a project, Qt Creator
edits some pieces because of autoformat and shows that something is
changed, but the user changed nothing, and this can be confusing. Let's
make them on the same page.

Pick-to: 5.15
Task-number: QTCREATORBUG-23768
Change-Id: I76088358dc31be45adb766bed29e2c9d889a8f09
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-06-03 10:26:01 +03:00
Alex Blasche
5f7b771c4f Add missing lock in QFactoryLoader
libraryList is modified in a code section that was not yet properly locked.

This was overlooked by 7ca66b1e66.

Task-number: QTBUG-42855
Change-Id: I028ad21a7df314133931f860ad49453bb2db9da0
Pick-to: 5.15
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-06-03 09:06:50 +02:00
Dominik Holland
43ae627f40 Add Q_OS_WEBOS to qsystemdetection
This can be used to guard WebOS specific patches.

Change-Id: Ia770562b92c59fc3410d6254acd1313776d15a28
Pick-to: 5.15
Fixes: QTPM-1826
Reviewed-by: Johannes Oikarinen <johannes.oikarinen@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-06-03 06:42:48 +00:00
Paul Wicking
ca89ad8002 Doc: Fix qdoc warnings
Use \li for list items.

Change-Id: I5ab253e22077cd7132f28c8690aa2a9a4b8b489c
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-06-03 07:10:28 +02:00
Eskil Abrahamsen Blomfeldt
c2dcb7eaa1 Windows: Fix QPainter warnings when using some fonts
Some fonts, like Segoe UI, have empty glyphs defined for
characters such as space. When there is a margin on the glyphs,
we would previously render them as 4x4 completely transparent
images. This is a waste of time, and in the case of DirectWrite,
we fixed it in bb67c3b68b so that
it will always return an invalid image when the glyph does not
have dimensions.

But since we did not account for this in alphaMapBoundingBox(),
the texture glyph cache did not detect this case and would
request the empty image and try to add it to the cache.

Fixes: QTBUG-84629
Pick-to: 5.15
Change-Id: I470a4a55577c5e9239bf77de81c2b381bf8e6a49
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-06-03 07:00:32 +02:00