Commit Graph

30040 Commits (e85d1963b58da8b17fb740a2a9c4b4bef7ee69cd)

Author SHA1 Message Date
Tasuku Suzuki e85d1963b5 Fix build without feature.stringlistmodel
Change-Id: Ia7a24ef1b0beea7519403000ba20dc78a3c20a21
Reviewed-by: Mikhail Svetkin <mikhail.svetkin@gmail.com>
2019-06-30 17:16:52 +09:00
Sona Kurazyan ff2b2032a0 Remove usages of deprecated APIs from QtAlgorithms
Task-number: QTBUG-76491
Change-Id: I9dab736a0cbd2e86588919640c26e8ce6b3674d0
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2019-06-29 21:58:36 +02:00
Friedemann Kleint fabf9239e0 QTestLib: Replace typedef by 'using'
Apply Fixits by Qt Creator with some amendments.

Task-number: QTBUG-69413
Change-Id: I366cca6e5755719e8241e76774af6be2b5312627
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2019-06-29 21:51:15 +02:00
Marc Mutz e7b1c500d4 Mark qHash(QOcspResponse) as noexcept
Because it is.

Change-Id: I8d5204c30884b2c8656615a7d82428c539672d28
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
2019-06-29 16:11:52 +02:00
Marc Mutz 65b8f59e04 QMutexPool: fix memory order of atomic operations
The array of QAtomicPointer<QMutex> can be initialized using relaxed
stores of nullptr, since nullptr is the whole data. But once we store
an actual QMutex pointer in the array, we need to publish the indirect
data thus created. We did this, with testAndSetRelease(); what was
missing was a corresponding acquire fence on load, without which there
is no happens-before relationship between the writes performed by the
QMutex ctor and the reads performed by a subsequent mutex.lock(), say,
on the same data.

Fix by adding acquire fences to all loads. That includes the dtor,
since mutexes may have been created in different threads, and never
been imported into this_thread before the dtor is running.

As a drive-by, return a new'ed QMutex that was successfully installed
directly to the caller, without again going through a load-acquire.

Change-Id: Ia25d205b1127c8c4de0979cef997d1a88123c5c3
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-06-29 16:11:08 +02:00
Marc Mutz 840f55f0ae Remove unused qmutexpool_p.h includes
Change-Id: Ic5f56b12953f2e42d94f6e6c14fac166c0c75539
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2019-06-29 16:10:25 +02:00
Marc Mutz a27e7e8151 QObject: deprecate the undocumented userData() feature
... and schedule it for removal in Qt 6.

This appears to have come to some fame on the internet, so better add
a deprecation warning before we remove it in Qt 6.

Change-Id: I42d91d933f47dfd2d8d54c92358e9e46ced6bf21
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2019-06-29 16:10:01 +02:00
Marc Mutz 5696260425 QObject: fix allocation of IDs for the undocumented userData() feature
This appears to have come to some fame on the internet, so better fix
the implementation before we remove it in Qt 6.

Change-Id: Ia37ca89105b13bea1ffcdce8b2e8cd957b7bd108
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-06-29 14:09:38 +00:00
Marc Mutz 66223727c7 Port from implicit to explicit atomic pointer operations
The old code used the implicit conversions from QAtomicPointer<T> to T*
and vice versa. The semantics of these differ from the ones std::atomic
uses, so we're going to deprecate these, like we did for load() and
store(), too.

This patch fixex some users of these APIs before we deprecate them.

Change-Id: I0a88bb1c359392538bb64b511bfc62381a56a468
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-06-29 09:10:34 +02:00
Tasuku Suzuki 282c030785 Remove property usage in QHttp2ProtocolHandler
This helps to fix build without feature.properties

Change-Id: Ia1fd2a1ca88105048e75694874058bb1292899a0
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-06-29 11:27:31 +09:00
Marvin Scholz a03270f891 rcc: Add -d option to output a Makefile-syntax depfile
The -d option makes rcc output a dependency file with the specified
file name.

The resulting dependency file is useful for make or ninja based build
systems.

[ChangeLog][Tools][rcc] Added -d option to generate a dependency file.

Fixes: QTBUG-45460
Change-Id: I495ade50f8d9865d4c00dce9373b2b6d1a6c8f2f
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
2019-06-29 02:26:23 +02:00
Eskil Abrahamsen Blomfeldt 9520ba5a73 Improve performance when loading application fonts
Since it was added in Qt 4.2, addAppFont() has been written
to first register the font, then immediately invalidate the
font database and later reload the font again the next time
the db is used. This caused all application fonts to be
reloaded *at least* once, an operation which can be quite heavy
for large fonts, such as CJK fonts. If an application loaded
multiple fonts at different stages of execution, you could
end up loading the same fonts a large number of times, since
all application fonts would be reregistered every time a new
one was added.

When calling removeApplicationFont(), this is okay-ish, since
we need to remove all traces of the font from the platform
database and clearing the whole thing is a convenient way
of making sure there is nothing left. There might be more
efficient ways of doing this, but unloading fonts is not
a common operation, so it is fine to keep this behavior there.

This change removes the invalidation of the font database from
addAppFont(), since this should not be necessary as long as we
are adding fonts. It also removes the reregisterAppFonts flag,
which was a bit of a convoluted way of saying that the database
had been invalidated and needed repopulating. Instead, we use the
same mechanism as for repopulating the system database: We just
check if it is currently empty, which means it has been
invalidated and the application fonts have to be reregistered.

It does not touch the logic in qt_cleanupFontDatabase(), which
is kind of broken (it will leave application fonts in memory
and reregister them if the application continues to run). But
this is only actually called during shutdown (from application
destructor).

[ChangeLog][QtGui][Text] Fixed an issue where application fonts
would be parsed multiple times, causing some unnecessary overhead
when during application startup.

Task-number: QTBUG-76239
Change-Id: Idfb62f73133b55e0909bb398631c8e762442e95b
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-06-28 19:45:32 +00:00
Giuseppe D'Angelo 1ce832648e forkfd: port to loadRelaxed / storeRelaxed
The usages were hidden behind clever macros.

Change-Id: I594814cd45b19841880e9a88f40af8805c97fe79
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-06-28 18:48:08 +02:00
Giuseppe D'Angelo f66c1db16c Introduce Q_NAMESPACE_EXPORT
A recurring problem with the Q_NAMESPACE macro is that it declares
an object (staticMetaObject) in the surrounding namespace. That
object lacks any export/import qualification to make it usable
with shared libraries.

Introduce therefore another macro to work around this issue, allowing
the user to prefix the object with an exporting macro, f.i. like this:

Q_NAMESPACE_EXPORT(Q_CORE_EXPORT)

The old macro can simply then be rewritten in terms of this new one,
supplying an empty export macro.

Note that NOT passing an argument to a macro expecting one is well
defined behavior in C99 -- the macro will expand an empty token.
Of course, MSVC doesn't like this and emits warnings. As a
workaround, use a variadic macro.

[ChangeLog][QtCore] Added the new Q_NAMESPACE_EXPORT macro. It
can be used just like Q_NAMESPACE to add meta-object information
to a namespace; however it also supports exporting of such
information from shared libraries.

[ChangeLog][Potentially Source-Incompatible Changes] Prefixing
Q_NAMESPACE with an export macro may no longer work. Use the new
Q_NAMESPACE_EXPORT macro for that use case.

Fixes: QTBUG-68014
Change-Id: Ib044a555ace1f77ae8e0244d824ec473550f3d8e
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2019-06-28 06:47:29 +02:00
Friedemann Kleint 94bee657c1 uic: Fix remaining clang warnings
Fix remaining nullptr and member initialization issues which
Qt Creator did not catch.

Change-Id: If5492259aea9849c790f00809a27f4c78b446b9b
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2019-06-28 00:24:51 +02:00
Friedemann Kleint 6301d5e51b uic: Add option to disable the call to QObject::connectSlotsByName()
The code was actually there, but not connected to the command line
parser.

Task-number: QTBUG-76375
Change-Id: I801cf2bbd2f207a6ce1dabd1ee1dfbd892089bbc
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2019-06-28 00:24:47 +02:00
Friedemann Kleint 5fb5ec93d6 QImageWriter/XPM: Fix out of bounds string access
Fix warnings:
QWWARN  : tst_QImageReader::readFromFileAfterJunk(xpm) Using QCharRef with an index pointing outside the valid range of a QString. The corresponding behavior is deprecated, and will be changed in a future version of Qt.
QWARN  : tst_QImageReader::readFromFileAfterJunk(xpm) Using QCharRef with an index pointing outside the valid range of a QString. The corresponding behavior is deprecated, and will be changed in a future version of Qt.
QWARN  : tst_QImageReader::readFromFileAfterJunk(xpm) Using QCharRef with an index pointing outside the valid range of a QString. The corresponding behavior is deprecated, and will be changed in a future version of Qt.

introduced by qtbase/c2d2757bccc68e1b981df059786c2e76f2969530 (5.14).

Refactor write_xpm_image() to use a QByteArray and append().

Change-Id: I25e6270e2e5fcb868d4ee38e3b294afc7ee27dcc
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2019-06-28 00:24:44 +02:00
Friedemann Kleint e65ea36018 RHI: Fix deprecation warnings about QAtomicInteger::load()
Replace by loadRelaxed(), fixing:
rhi\qrhi.cpp: In static member function 'static QRhiShaderResourceBinding QRhiShaderResourceBinding::uniformBuffer(int, QRhiShaderResourceBinding::StageFlags, QRhiBuffer*)':
rhi\qrhi.cpp:2578:26: warning: 'T QBasicAtomicInteger<T>::load() const [with T = int]' is deprecated: Use loadRelaxed [-Wdeprecated-declarations]
     Q_ASSERT(d->ref.load() == 1);

Change-Id: Iebe9a62d20498e67bde34b2f0cab8cc38682154f
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
 
 
 
 
 
 
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2019-06-28 00:24:36 +02:00
Friedemann Kleint 3ccbf19761 QSocks5SocketEnginePrivate::sendRequestMethod(): Fix out of bounds string access
Fix warnings showing in network tests:

tst_QNetworkReply::headFromHttp(rfc+socks):
  Using QCharRef with an index pointing outside the valid range of a QString. The corresponding behavior is deprecated, and will be changed in a future version of Qt.

introduced by qtbase/c2d2757bccc68e1b981df059786c2e76f2969530 (5.14).

Replace index access by QByteArray::append().

Change-Id: I0b4aed563d076237d5f9cc6aa438c7502eb3568c
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
 
 
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-06-28 00:24:32 +02:00
Friedemann Kleint 168b18de2d QtWidgets: Preparatory change for moving out QAction (or parts of it)
- Fix some spelling
- Use QT_CONFIG for shortcuts
- Quick C++ brush up, use member initialization
  Preemptively fix sanity bot warnings about missing space after flow
  control keyword, introducing range-based for on this occasion
- Remove unused member variable

Task-number: QTBUG-69478
Change-Id: I6af21886d5a0b48f4b2d11082991a877bd8d817d
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2019-06-28 00:24:28 +02:00
Friedemann Kleint 6007120aa4 QtWidgets: Fix static method invocations
Apply fixits by Creator and results of manual search focusing on
QCore/Gui/Applicaton(Private) methods and variables to prepare for
splitting out some classes.

Task-number: QTBUG-69478
Task-number: QTBUG-76497
Task-number: QTBUG-76493
Change-Id: Iaf468166793e0cabb514b51c827b30317bf45a2d
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2019-06-28 00:24:25 +02:00
Friedemann Kleint fb244259ae RHI: Fix compilation with MinGW developer builds
Make aligned a template, fixing:
rhi\qrhid3d11.cpp: In member function 'void QRhiD3D11::updateShaderResourceBindings(QD3D11ShaderResourceBindings*)':
rhi\qrhid3d11.cpp:1627:53: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
             Q_ASSERT(aligned(b->u.ubuf.offset, 256) == b->u.ubuf.offset);

Change-Id: I6b747ebaf78e5accb9b7ed145df71a80d0a15762
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2019-06-28 00:24:21 +02:00
Friedemann Kleint 3043c7b95e Fix qdoc warnings in 5.14
Fix warning:
src/corelib/global/qnamespace.qdoc:2371: (qdoc) warning: Cannot find 'Qt::SplitBehavior' specified with '\enum' in any header file

and qdoc getting confused by a link spanning lines:
src/corelib/time/qdatetime.cpp:3324: (qdoc) warning: Unknown macro 'note'
src/corelib/time/qdatetime.cpp:3326: (qdoc) warning: Unknown macro 'section1'
src/corelib/time/qdatetime.cpp:3328: (qdoc) warning: Unknown macro 'section2'
src/corelib/time/qdatetime.cpp:3334: (qdoc) warning: Unknown macro 'section2'
src/corelib/time/qdatetime.cpp:3344: (qdoc) warning: Unknown macro 'section2'
src/corelib/time/qdatetime.cpp:3361: (qdoc) warning: Unknown macro 'section2'
src/corelib/time/qdatetime.cpp:3373: (qdoc) warning: Unknown macro 'e'
src/corelib/time/qdatetime.cpp:3378: (qdoc) warning: Unknown macro 'section2'
src/corelib/time/qdatetime.cpp:3386: (qdoc) warning: Unknown macro 'sa'

Change-Id: I314da69078eb07f66e9d389eecdf0195569ea2ce
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2019-06-28 00:24:14 +02:00
Marc Mutz 5220b40edd Port from implicit to explicit atomic integer operations
The old code used the implicit conversions from QAtomicInteger<T> to T
and vice versa. The semantics of these differ from the ones std::atomic
uses, so we're going to deprecate these, like we did for load() and
store(), too.

This patch fixex some users of these APIs before we deprecate them.

Change-Id: I4877276581757cd57e042efea8296fe535a493d1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-06-28 00:24:10 +02:00
Marc Mutz e36e32c213 QBearerEngine: fix const-correctness of a loop with const-propagating QESDP
The loop iterates over a collection of QExplicitSharedDataPointer, which
traditionally doesn't propagate const. In Qt 6, it will, so prepare the
code for this change, by taking the loop variable by non-const reference.

Since the loop is followed by container.clear(), make it a consume-loop
by looping over qExchange(container, {}).

Change-Id: If12ab005544183598fd76a0c486b2df1582710d5
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2019-06-27 20:00:21 +02:00
Marc Mutz 8da3eea4fb Optimize some atomic counters
Define the static QAtomic at file scope to avoid GCC's pessimisation with
function-static QAtomic (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79561),
and make sure the initial value is 0, so it ends up in BSS, not TEXT.

In QRhi..., don't create a static instance of the wrapper class, use a file-
static atomic, too. This turns the class into a glorified namespace.

Change-Id: I707f628e2b434330028077223071716d5704ba32
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-06-27 20:00:17 +02:00
Marc Mutz 6fa34930c2 QFreeList: fix memory order on block deletion
Blocks are likely to have been created in a differnt thread from the one
performing their deletion, so we need an acquire fence.

The rest of the atomics use in the class looks ok, but nevertheless warrants
a deeper analysis.

Change-Id: I1571ded3a06695b0d58b5bf1d80d6283ac21f959
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-06-27 20:00:14 +02:00
Liang Qi 25eb97d2d4 Merge remote-tracking branch 'origin/5.13' into dev
Conflicts:
	.qmake.conf
	src/network/ssl/qsslsocket_openssl.cpp

Done-With: Timur Pocheptsov <timur.pocheptsov@qt.io>
Change-Id: Ibb57a0548b4977797b400637487a56245ac1c024
2019-06-27 14:38:03 +02:00
Anton Kudryavtsev fc940b24db QString: fix comments for qsizetype
Change-Id: I445ba61513fbafd24834fa48ade849feae4f1324
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-06-27 11:47:27 +03:00
Friedemann Kleint 72e3d3633e 3rd-Party/Double conversion: Fix developer build with MSVC
Suppress warnings:
C4244: 'argument': conversion from 'const uc16' to 'char', possible loss of data

caused by various character handling routines.

Amends 327bfdb671.

Change-Id: I3818c5d0aecb9b6cee174f866b5e7e77aa96d877
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-06-27 10:46:41 +02:00
Liang Qi 5859f7d0d9 Revert "Deprecate QAtomic::load() / store()"
This reverts commit 79bdc7cf1d.

We haven't ported every usages to loadRelaxed() / storeRelaxed() yet.
And warning as error is enabled in dev. We will revert this change
when new qt5 baseline got integrated.

Task-number: QTBUG-76611
Change-Id: I5b1f608fefbaca481311f376f22718f2c5047106
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2019-06-26 10:36:49 +00:00
Heikki Halmet 0d6b4b5192 Add keyword msvc-2019 to testlib blacklisting
Change-Id: Ibb1d225909e6c0c8b35f3b41aeb619784012d43b
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2019-06-25 15:01:15 +00:00
Laszlo Agocs 8862570905 rhi: d3d: gl: Remove incorrect exec.Cmd.Buf. assumption
May very well be called within an active pass when going
through beginExternal() (think examples like d3d11underqml)

Change-Id: Ie98e72609308f47497d83fbe10c19ad1ae8eade3
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2019-06-21 15:04:13 +02:00
Laszlo Agocs 484fc8545f rhi: d3d11: Add compute and load/store res support
Also revise how we reset shader input/outputs at the beginning
of a pass.

Change-Id: I6d4057f32318ca09b12e16c602bb1033a3ec8e3c
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2019-06-21 13:06:21 +02:00
Allan Sandfeld Jensen 64033c3592 Output all font families in HTML output
Fix our generation of font-family CSS so it contains the full list of
families.

Change-Id: I37d5efa64faeb4b6aeb7e2c5d6a54ff07febe9cc
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2019-06-21 13:31:38 +02:00
Liang Qi aedc59b1c3 Merge remote-tracking branch 'origin/5.12' into 5.13
Conflicts:
	src/corelib/io/qstorageinfo_unix.cpp
	src/network/ssl/qsslsocket_openssl.cpp

Change-Id: Ibc9ce799bef62d60d616beaa9fbde8ebeadfbc20
2019-06-25 15:47:42 +02:00
Timur Pocheptsov 5b5e8f78fe NSMenuItem/NSMenu - set the submenu properly
... in case the submenu is set from a slot, attached to the aboutToShow()
signal. Normally, with a 'statically' pre-populated menu, we set 'submenu'
property on a menu item from 'updateItem' callback in our menu delegate.
After that, AppKit calls our delegate's willOpen call back and this is
where we emit 'aboutToShow'. Unfortunately, if an application tries to
create a nested menu 'dynamically' at this point, it never becomes 'submenu'
of the item, since 'updateItem' was already handled at this point.

We catch this case in QCocoaMenuItem and call setAttachedItem if needed.

Fixes: QTBUG-76060
Change-Id: I676bf1d8529b9ddbfc90e4dff422b39668b7a5fa
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2019-06-21 15:12:57 +02:00
Laszlo Agocs 33f16af307 rhi: metal: Reuse drawable after a frame without a present
The source of this is likely a "window" grab from Qt Quick. Requesting
a new drawable is an error in this case since we do not enqueue a present
for the current one.

Change-Id: I64bab03ff46743ce1f270b251229be126f9ad9fb
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2019-06-18 16:18:05 +02:00
Thiago Macieira cbdc9a7786 RCC: Change the default compression to Zlib
Codebases using QResource::isCompressed() and assuming it is Zlib break
if zstd is enabled. So change the default back to Zlib until Qt 6.0.

[ChangeLog][Important Behavior Changes] RCC's default compression
algorithm was changed back to Zlib, as it was in all previous releases
until 5.13.0. The default will remain Zlib for all Qt 5.x releases but
will change in Qt 6.0. To activate Zstd compression for your resources,
either pass the --compress-algo=zstd option to the rcc tool or add the
XML attribute compression-algorithm="zstd" to the <file> tags in the
.qrc file.

Task-number: QTBUG-76521
Change-Id: Ief874765cd7b43798de3fffd15a9f56fd9ad1ad4
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-06-20 09:51:40 -07:00
Eirik Aavitsland 2ce4a9f487 Fix crash in QPainterPath::reserve()
Function did not handle default-constructed (null d_ptr) path correctly.

Fixes: QTBUG-76516
Change-Id: I2925d4306f7fce34ece6739b18a8e275e7970837
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-06-19 16:47:19 +02:00
Liang Qi bd9959bde2 Merge remote-tracking branch 'origin/5.12' into 5.13
Conflicts:
	.qmake.conf
	src/gui/painting/qdrawhelper.cpp
	src/network/ssl/qsslsocket_openssl.cpp
	src/widgets/styles/qstylesheetstyle.cpp

Change-Id: Ibe1cd40f46a823c9e5edbe0a3cd16be1e1686b17
2019-06-20 07:50:44 +02:00
Volker Hilsheimer 6275e037bf Android: Make sure that the root file system is in the list of volumes
On Android (at least in the emulator), the root file system is reported
to be of type rootfs, which we usually ignore on Linux as legacy.

Also, it's a read-only file system with bytesTotal reported as zero. We
usually ignore such volumes, but as the root file system is expected to
be in the list, we should never ignore it.

This fixes the failing QStorageInfo test.

Change-Id: I778ee9e76e385649e58d5e5ac7e0ae2d8e0ba92b
Fixes: QTBUG-73563
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2019-06-18 23:03:01 +02:00
Timur Pocheptsov cdfe8c76af checkOcspResponse - remove unneeded locking
and also plain wrong comments: since we don't set verification callback
on a store - we don't have to lock (our q_X509Callback never gets called).
This change should simplify the merge with change I have in 5.12 (where
I completely got rid of locking). Since I don't care about exact errors
found (relying on the fact it's the same chain of certs we check in
SSL_connect/SSL_accept), for now we don't try to extract them from
OCSP_basic_verify. In fufure, if these chains are different, we
can create a temporary store (see how it's done in 'verify', for example)
and set a VF callback on this store.

Change-Id: I4a36e19836d19c2ea95c869dcfe85f49fe723ff0
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-06-17 14:55:55 +02:00
Laszlo Agocs 6f4aa54131 rhi: Add compute api and implement for Vulkan and Metal
D3D11 and GL (4.3+, ES 3.1+) will come separately at a
later time.

Change-Id: If30f2f3d062fa27e57e9912674669225b82a7b93
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2019-06-17 10:32:57 +02:00
Laszlo Agocs 4c297bdca8 rhi: Make it possible to request making the context current on GL
Needed by Qt Quick to handle cases where the application (or other Qt)
code contains OpenGL calls, and Qt Quick facilitates this by ensuring
the scenegraph's GL context is current. The expectation is that when
running with the GL backend of the rhi, all such code remains fully
functional. So add a makeCurrent type of call into the QRhi API that is
a no-op with anything other than OpenGL.

Change-Id: I6f774bf828e31802bdab0c3fef9421cdc0cebe5c
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2019-06-17 12:17:19 +02:00
Laszlo Agocs 39d74b5b3d rhi: Remove reserved and since from the shader classes
Private API, do not bother with these yet.

Change-Id: I77fb8fadee427425759ed42234944b30155db0f5
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2019-06-17 09:31:03 +02:00
Liang Qi ef37ab9970 Merge remote-tracking branch 'origin/5.12' into dev
Conflicts:
	.qmake.conf
	src/gui/painting/qdrawhelper.cpp
	src/gui/text/qdistancefield.cpp
	src/gui/text/qdistancefield_p.h
	src/network/ssl/qsslsocket_openssl.cpp
	src/plugins/platforms/android/qandroidinputcontext.cpp
	src/widgets/styles/qstylesheetstyle.cpp

Done-With: Timur Pocheptsov <timur.pocheptsov@qt.io>
Change-Id: Ia7daad21f077ea889898f17734ec46303e71fe6b
2019-06-25 13:04:27 +02:00
Tor Arne Vestbø d5adaacbb2 macOS: Make QMacStyle::standardPalette() reflect the platform theme
This palette isn't usually used, and the platform theme's palette is
preferred, but if a client asks for the standard palette (e.g. as
used in the styles example) we should try to report a palette that
gives the system look.

Change-Id: Ie5e58c890c13c716a9e9b5093b954a737e550dee
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-06-19 11:43:14 +02:00
Friedemann Kleint 6d61b10f65 High DPI: Fix crash in QWindow::mapFromGlobal()
With Web Engine, QQuickWidget or similar, the code can hit on the offscreen
window, when its handle is null. Add a check.

Amends 3af7b27917.

Fixes: QTBUG-76440
Change-Id: I123633d18386efd3dbfb22aad6072e4f0877a62e
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-06-19 08:34:01 +02:00
Frederik Gladhorn a3e69954f5 Add accessibility notification role
On Linux this role is needed to make desktop notifications work.
There is no equivalent for Windows, iOS or macOS. On these platforms the
role will have no effect.

Fixes: QTBUG-76333
Change-Id: I4ef3b3321f7a0e2c09c1ce432a668428d14c52b7
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
2019-06-12 10:29:45 +02:00