Commit Graph

42026 Commits

Author SHA1 Message Date
Sze Howe Koh
e8793476ac Doc: List alternative ways to get the MySQL C Connector
The C Connector does not appear to be offered as a component in the
MySQL 8.0.19.0 installer.

Task-number: QTBUG-82187
Change-Id: I4b1ef83cca68e7bf6dd032ba35c0784354d7fed3
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
2020-02-27 06:30:19 +08:00
Volker Hilsheimer
c6dd2e2367 Document the behavior of QLineEdit::inputMask correctly
QLineEdit is unicode, and uses QChar::isLetter and QChar::isNumber to
evaluate whether an input character is valid. There is no test for ASCII
ranges, or converting of input characters to ASCII, so the documentation
was wrong.

[ChangeLog][QtWidgets][QLineEdit] the inputMask property has allowed any
Letter or Number category character for the respective mask characters,
not just ASCII. The documentation has been updated accordingly.

Change-Id: Ied93cf6ddd334ac91bfbc275107a8eb83d231d80
Fixes: QTBUG-82291
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
2020-02-26 23:26:44 +01:00
Volker Hilsheimer
8b9a025373 Make QDeadlineTimer test more resilient against VM starvation
Flaky fails in this test suggest that the VM on which the
test is executed does not get CPU resources allocated for enough time
to make this test pass. This change makes the test more resilient by
taking the measurements as quickly as possible.

In addition, use a sanity-check based on std::chrono APIs to abort the
test completely if we see that the clock has advanced too far to make
the following tests meaningful.

Change-Id: Ie6ac4ffb52f20e7774014f8222c9cd8f54d8a263
Fixes: QTBUG-64517
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2020-02-26 23:26:23 +01:00
Volker Hilsheimer
1fcb06f79a Documentation: correctly use see-also tags to link to related members
Change-Id: I764eb4730067cd704866191516dc4e8dd1820760
Reviewed-by: Nico Vertriest <nico.vertriest@qt.io>
2020-02-26 23:26:13 +01:00
Marc Mutz
e5acaa12e3 QObject: treat T* -> bool conversions as narrowing
Following wg21.link/LWG3228, it was found that a proper variant fix
requires that T* -> bool conversions be treated as narrowing
conversions in subclause wg21.link/dcl.init.lst. wg21.link/P1957R2 was
accepted in Prague 2020 as a DR and retroactively applies to older C++
standards.

Since we hard-code the algorithm of [dcl.init.lst], we can and must
add this manually.

[ChangeLog][QtCore][QObject] For the purposes of
QT_NO_NARROWING_CONVERSIONS_IN_CONNECT, pointer
(incl. pointer-to-member) to bool conversions are now considered
narrowing. This matches the resolution of a defect report in C++
itself.

Change-Id: Ifa9a3724c9c8ccd3dd6614928dbbe37477591dc1
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
2020-02-26 07:48:47 +00:00
Friedemann Kleint
3c4078ca02 tst_QSettings: Fix leaking registry key
On Windows, the test was leaking a registry key
HKEY_CURRENT_USER\Software\tst_QSettings_trailingWhitespace
Fix by using .ini-Format in the temporary directory created by the test.

Amends e66a878838.

Task-number: QTBUG-22461
Change-Id: If141a9e72e8faebc3fc46b94dab7b4b728a75292
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-02-25 20:16:20 +01:00
Thomas Sondergaard
e59e5643b5 Use QT_DEPRECATED_X instead of Q_DECL_DEPRECATED_X
Allow deprecation warnings to be controlled with
QT_NO_DEPRECATED_WARNINGS.

Fixes: QTBUG-82424
Change-Id: I6df55ee2abaf4c141ac9b0e7661e46ba3706b20e
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-02-25 18:58:18 +01:00
Liang Qi
4403ec3bc1 tests/xcb: fix tst_QWidget::updateWhileMinimized() on mutter/GNOME Shell
Task-number: QTBUG-68862
Change-Id: I6247867ae4ec126ab0549741f2d2d491a7f2e8a0
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2020-02-25 18:58:17 +01:00
Andy Shaw
2c35a61025 Delay the processing of the doc features to the end
By delaying it to the end we can be sure that all the Qt modules have
their INCLUDEPATHs set and as a result we can avoid long command lines
on Windows.

Change-Id: I9068f7bf66fe138aad1a633191677a57dfd08d6e
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-02-25 18:58:17 +01:00
Andy Shaw
ce55667b62 Set the size of the buffer so it is big enough to hold the contents
This will prevent a crash later on when it tries to assign to an index
in a QString that has not been allocated.

Fixes: QTBUG-81950
Change-Id: Ia0b5648a18f15594eeca07d234bedadcfeb266ac
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2020-02-25 18:58:17 +01:00
Volker Hilsheimer
34a67b3652 Remove misplaced backslash from documentation
A \c{} section is already rendered using monospace, no need to escape
the \nullptr keyword explicitly.

Change-Id: I004a409892809e968c7a73c68a5b3c54a4680425
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-02-25 18:58:17 +01:00
Christian Ehrlicher
875420f1c2 QAbstractItemView: Make sure to update the editor geometries
QAbstractItemView::setIndexWidget() does not trigger a relayouting when
a new widget is set. This results in a wrong editor geometry under some
circumstances. Fix it by triggering a delayed relayout.

Fixes: QTBUG-81763
Change-Id: I75d0e19bd5e56d63effe4990d782d202fb39e3e6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2020-02-23 10:48:53 +01:00
Friedemann Kleint
835e18d9ff Fix wrong DPI used by QStyle::pixelMetric()
Pass on the option or the widget in order to ensure usage of the
correct DPI for High DPI scaling.

Task-number: QTBUG-82356
Change-Id: I5df903a83f88adebd143e514e2fead367d39f015
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2020-02-22 10:05:03 +01:00
Timur Pocheptsov
c58ee54a70 tst_qtcpsocket::bind - amend the recent fix
0. The recent patch fixed the case when we can suddenly (meaning from
a particular version of Darwin) bind on a port number 1. Unfortunately,
it's not the case for IPv4 and while fixing one test case, the patch broke
another - so this patch addresses this.
1. Unfortunately, binding on a fixed port 1 on macOS made the test flaky
- we run this 'bind' several times and sometimes OS thinks port is already
bound (because of the previous test case) - closing the connection seems
to fix this problem (thus this patch do this also).
2. As a bonus a proper resource management added (aka RAII) where we would
previously leak a socket in case some QCOMPARE failed.

Fixes: QTBUG-81905
Change-Id: I90c128a332903bb44ab37de4775ca00d390dc162
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2020-02-22 03:36:54 +01:00
Volker Hilsheimer
962a3d8a98 Stabilize QFileSystemModel::dirsBeforeFiles test
Make the test operate in its own temporary directory, so that entries
left behind by other test functions don't impact this test.

Also, call QFileSystemModel::sort explicitly; it would otherwise only
be done once through a single-shot timer, and the test processes events
until the model is populated, which might not process that delayed
sorting. Since dirsBeforeFiles tests the sorting algorithm and not
the sorting logic, best to do this explicitly.

In case of sort failure, print diagnostics.

Done-with: Friedemann Kleint <Friedemann.Kleint@qt.io>
Fixes: QTBUG-75452
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
(cherry picked from commit 4e796e0b0d)
Change-Id: I144b68a17280a38cc7d6daf7ec343eea4453623d
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2020-02-22 02:52:44 +01:00
Volker Hilsheimer
1ce3585305 Detect double timer during single timeout in registerTimer test, and skip
We observe this happening on macOS in the CI system, and it might happen
if a VM doesn't get CPU cycles for long enough time so that two timers
time out. Then event processing will process two timer events, and we
overwrite the timerIdFromEvent with the second event.

Instead, skip the test when this happens.

This is an ammendment to 5c520f4b0a

Fixes: QTBUG-71751
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit 67491e2df5)
Change-Id: I30eef8cfc94988e6cad500dd5e6722488c2985be
2020-02-22 02:52:36 +01:00
Volker Hilsheimer
c3951470ca Discover the conditions under which registerTimer is flaky, and skip
On macOS, the registerTimer test case fails frequently, and blocks
valid integrations. With this change we try to detect the condition
and skip the test.

Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit 5c520f4b0a)
Change-Id: I97644b5b4654b4c96fbc99858bbf191e6edb5977
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2020-02-22 02:52:24 +01:00
Giuseppe D'Angelo
4b0fc03077 Update md4c to 0.4.3
Fixes important bugs.

[ChangeLog][Third-Party Code] md4c was updated to 0.4.3.

Change-Id: Ifed7939b7bd67e3f0a7776b4f4b1132d80141033
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2020-02-22 00:38:10 +01:00
Morten Johan Sørvig
4e1c41a26e QStyle: Use primary screen DPI as default DPI
Change d603ee68 made the default DPI be 96, for cases
where a style option is not provided.

This causes inconsistencies, since there are in fact
several cases where QStyle API is called without a
style option.

Restore historical Qt behavior of using the primary
screen DPI. Single-screen systems should now be consistent,
as before.

Task-number: QTBUG-82356
Change-Id: I849934ca2e5604b9fb2f045ed4f6058f3e0426ff
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2020-02-21 10:38:58 +01:00
Mårten Nordheim
fb6acf08bb Replace usage of std::result_of with decltype
It's slated for removal in c++20

Fixes: QTBUG-82240
Change-Id: I7b35c151413b131ca49b2c09b6382efc3fc8ccb6
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2020-02-21 01:31:52 +01:00
Nicolas Guichard
f9086ebd01 QShaderGenerator: Allow more expressions in input nodes
Currently QShaderGenerator will crash when encountering some expressions
in input nodes.

For example, this node prototype would make it crash:
"VERTEX_COLOR": {
  "outputs": ["color", "alpha"],
  "rules": [
    "headerSnippets": ["in vec4 vertexColor;"],
    "substitution": "vec3 $color = vertexColor.rgb;
                     float $alpha = vertexColor.a;"
  ]
}

Change-Id: I37abb8099d376843a4cb13228140467dc1b8f60c
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
2020-02-20 08:00:20 +01:00
Nicolas Guichard
39994e0705 QShaderGenerator: Don't crash when a node has multiple outputs
It was already possible to declare a node prototype with multiple
outputs, but trying to assign to all those outputs was not possible and
instead resulted in a crash.

It is now possible to declare nodes like this without crashing:
"SEPERATE_XYZ": {
  "inputs": ["vector"],
  "outputs": ["x", "y", "z"],
  "rules": [
    {
        "substitution": "float $x = $vector.x;
                         float $y = $vector.y;
                         float $z = $vector.z;"
    }
  ]
}

Change-Id: I748e77e84c9120dc688c573eee33dc13c6bfbace
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
2020-02-20 08:00:14 +01:00
Andre Hartmann
8cf4ce0fea QString: Add missing number() crosslinks to setNum()
Change-Id: I22a4c86034b399782115bb078c298b211095476a
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-02-20 06:59:55 +01:00
Paul Wicking
d1186f9299 Doc: Update description of QTextDocument::characterCount
A QTextDocument always contains a QChar::ParagraphSeparator, so
characterCount() will always return actual count + 1.
The tests confirm this behavior, make it explicit in the docs.

Fixes: QTBUG-80597
Change-Id: I91040fb6eb2c4fae5235458c695110f8f15bdfea
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2020-02-20 06:00:42 +01:00
Nicolas Guichard
7981dbfaf3 QShaderGraph: don't generate statements with undefined inputs
This fixes the shader generation for graphs like this one:

                 Function0 ------> Output0
            (with unbound input)

   Input ------> Function1 ------> Output1

With those graphs, createStatements will not return any statement for
nodes Function0 and Output0.

Change-Id: Iec32aa51623e176b03ae23e580f06d14df80a194
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
2020-02-19 17:39:51 +01:00
Nicolas Guichard
49dbe760e4 Fix QShaderGenerator crashing when a node port name prefixed another one
QShaderGenerator didn't handle substitutions like
`vec4 $color = mix($color1, $color2, $fac);`

Note that `$color` is a prefix to `$color1` and `$color2`. For the
substitution `QByteArray::replace` was used so if `$color` was handled
first and replaced by `v1`, `$color1` and `$color2` were never correctly
replaced and instead became `v11` and `v12` which caused a crash later
on.

Change-Id: Idaf800fdac468f33c323eb722701da5f8eb918d6
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
2020-02-19 08:47:58 +01:00
Friedemann Kleint
045a143c2c Fix RollEffect misplacements in High DPI setups
Pass the correct screen as parent of the roll effect widget.

Fixes: QTBUG-82011
Change-Id: I25c163cb2e4c038e60ceced702a1ea6c18aa5424
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
2020-02-18 22:27:25 +01:00
Dmitry Shachnev
57af7f2166 Make libmd4c a private dependency of Qt GUI
Otherwise, when Qt is built with system libmd4c, all applications using
Qt GUI have to link with it, even if they do not use it.

Change-Id: I662dfd4caf29bb692b62c20cef0e99148a87a99a
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2020-02-18 22:29:16 +03:00
Timur Pocheptsov
379895798e QMacStyle - fix tab buttons
not to have arrows under some conditions. NSPopUpButton had a needed
color, except it also has arrow(s). Which looks quite confusing on an
inactive window on a tab button.

Fixes: QTBUG-82122
Change-Id: I40c57abe9ccae48fa906d592169c412f5f89f712
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit 0e643bf783)
2020-02-18 18:05:50 +00:00
Alexander Akulich
ee73ec0c77 Fix a typo in QLocalSocket doc
Change-Id: I3047cb24051c7f25d77d5b2b86ff145a52695107
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2020-02-18 20:34:50 +03:00
Kai Koehne
d803534954 Add 5.14.0 changelog entry about MinGW
It's too late for 5.14.0 release, but still good to have it
documented.

Change-Id: I76f323d80bb878c779caec2622d5917f868f9fc0
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-02-18 18:34:50 +01:00
Kai Koehne
7232c852a6 qmake: Fix handling of QM_FILES_INSTALL_PATH
Do not expect the .qm files to be there at qmake time; they will only be
generated at build time.

Fixes: QTBUG-77398
Change-Id: If73fdb51d40138e52f62eaee0491a5d73d9fe161
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-02-18 18:34:50 +01:00
Lorn Potter
d7b6c4288f wasm: add platform qsettings
Since the backend is async, the settings will not be ready to read/write
instantly as on other platforms, but only be ready after the
filesystem has been synced to the sandbox. This takes at least 250 to
500 ms. The QSettings status() or isWritable() can be used to discern when the
settings are ready for use.

This also fixes a crash in threaded wasm

Task-number: QTBUG-70002
Change-Id: I080bdb940aa8e9a126d7358b524f32477db151b6
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2020-02-18 12:40:24 +10:00
Lorn Potter
1538395e3f wasm: futureproof EmscriptenMouseEvent
Future versions of emscripten will remove the timestamp, so we need to
replace this with the current timestamp

See a7f058a1e6 (diff-9a5d68085dc7db2938b37a2b7b05c1f5)

Change-Id: I8379d1adee1df1084461fddb1dd2e71684de9657
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2020-02-18 12:40:21 +10:00
Lorn Potter
51cc564c50 wasm: guard nonthreaded builds from using threading.h
Change-Id: Ib5cd8afc4822cc89371d184ee5645ed8f496c8b0
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2020-02-18 12:40:19 +10:00
Yuhang Zhao
b84704e208 Fix typo in QGuiApplication's documentation
Change-Id: Ie6a05c8d71b81777ae79a5ff3db380b284d56313
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2020-02-18 08:53:02 +08:00
Morten Johan Sørvig
c6da278271 wasm: Specify event targets by CSS selectors; Support emsdk >= 1.39.5
DISABLE_DEPRECATED_FIND_EVENT_TARGET_BEHAVIOR is now on by default, which
means that functions like emscripten_set_keydown_callback() now expects
CSS selectors (e.g. "#canvas_id" instead of "canvas_id").

In addition, Module.canvas is no more. Add a deprecation warning in case
someone is setting it and expects Qt to use it. (qtloader.js sets
qtCanvasElements instead).

This bumps the minimum supported emsdk version to 1.39.5.

Change-Id: I38abb2a191076ea04581c29552657ee3e0b87dbc
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2020-02-18 10:53:02 +10:00
Nicolas Guichard
27d35a3ed0 QShaderGraph: Fix statement creation for graphs with dangling branches
For graphs like this one:

Input ----> Function1 ----> Output
      \
       ---> Function2
         (unbound output)

We would have generated only 2 statements, for Function1 and Output.

This change fixes this by treating Function2 like an output.
Therefore it generates 4 statements: Input, Function1, Output and
Function2.

Change-Id: Iaada40b9b949d771806dd47efad4f7ef2a775b48
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
2020-02-17 14:35:56 +01:00
Lorn Potter
1635848d87 wasm: remove dependency on perl to find emscripten version
Change-Id: I0d5224d497b2b5652d1be036f2a90c6c53f0c9df
Fixes: QTBUG-81722
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-02-17 08:22:01 +10:00
Lorn Potter
2865a58a2a wasm: fix crash when qtvkb tries to load a plugin
We do not have dlopen, harfbuzz seems to try and load the thai
plugin using dlopen when just iterating through the language
selector in virtualkeyboard..

Fixes: QTBUG-78825
Change-Id: Iee064a1d9a628784e3ce46d641cd157a69bcb696
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-02-16 22:21:59 +00:00
Edward Welbourne
1c0b69eac5 Only read the first BOM as a BOM; the rest are ZWNBS !
QUtf32::convertToUnicode() was forgetting to set headerdone when it
dealt with the header (for contrast, Utf16::convertToUnicode() does).

Fixes: QTBUG-62011
Change-Id: Ia254782ce0967a6cf9ce0e81eb06d41521150eed
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-02-14 19:13:37 +01:00
Kai Koehne
81bd1bba7b Windows: Add install/uninstall rules for target.targets
Mirror the behavior in unixmake.cpp and do actually install
/uninstall files in target.targets. This fixes the installation of
.debug files on MinGW for a Qt with -force-debug-info
-separate-debug-info.

[ChangeLog][qmake] Install/uninstall rules are now generated for
target.targets on Windows. This mirrors the behavior on Unix.

Fixes: QTBUG-81354
Change-Id: Ie9366f132ebd8e18680f32f2e52cec64dbd87e9a
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-02-14 15:03:10 +00:00
Giuseppe D'Angelo
6a56862a22 QAbstractItemView: do not request illegal model indexes
If a model is empty, there is no index (0, 0); requesting it
is undefined behavior.

Rather than protecting the calls with checks on rowCount/columnCount,
remove the Q_ASSERTs altogether: they're trying to do some
basic sanity checks on the model, something that doesn't belong
to a view (but, say, to QAbstractItemModelTester).

Change-Id: I0ea25604fdcf524a10f5922a03a4d0700447f6a7
Reviewed-by: Andre Somers <andre.somers@kdab.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2020-02-14 15:13:39 +01:00
Allan Sandfeld Jensen
115e39f9be Avoid return QImage::Format_Invalid from QPlatformScreen::format()
This can be used to set the pixmap format, and needs to be defined to
something sane even if there is no primary screen.

Task-number: QTBUG-81671
Change-Id: Ic0d41cec31ac71309123aa8bb8b840fa4a4122bb
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2020-02-14 14:45:41 +01:00
Paul Wicking
b26b40f7e1 Doc: remove link to Qt Quarterly in example
Qt Quarterly 31 was the last edition of Qt Quarterly to be
published exclusively as a PDF. We cannot fix the typo in the
PDF. As the content is >10 years old an in an unmaintained
archive section, remove the reference to it from this example.

Fixes: QTBUG-81972
Change-Id: I41a82487ff89dbe8ea5701c02c51e7f7c79bf73d
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2020-02-14 13:59:17 +01:00
Mårten Nordheim
c9eb9411cf QNAM: Correct logic of network monitor when bearer is disabled
Change-Id: I0abe9034874a80423ad1e332404236dc5ff54365
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2020-02-14 13:56:52 +01:00
Mårten Nordheim
6c3bca01d9 QNetConMonitor(Win): Account for LOCALNETWORK reachability
What I originally thought NLM_CONNECTIVITY_IPV*_SUBNET meant turns out
to be what NLM_CONNECTIVITY_IPV*_LOCALNETWORK is, leaving me to wonder
when *_SUBNET is actually used. Anyway we now also check *_LOCALNETWORK
to make sure we're not unnecessarily denying certain connections to be
made.

At the same time check for link-local connections where both local and
remote are link-local, in this case even NLM_CONNECTIVITY_IPV*_NOTRAFFIC
is valid. Unfortunately this check cannot be done in
QNetworkStatusMonitor, so QNAM will likely not allow these connections.

Task-number: QTBUG-80947
Change-Id: Ieb96ce9f4a478eef0c3ea47f2471f701c102b4d4
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2020-02-14 13:56:52 +01:00
Fabian Kosmale
2a2ffe8a48 QUrl doc: Fix typo
Change-Id: I76cd27ac07d09bd2ea9b818d34d1882230f66b10
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2020-02-14 08:34:55 +01:00
Thiago Macieira
7af5619836 QLinkedListData: Move Q_CORE_EXPORT from class to shared_null
This makes no difference for the IA-64 C++ ABI nor for MSVC until MSVC
2019 16.6. But it does with 16.6, where the std::atomic constructor
becomes non-trivial, which makes QtPrivate::RefCount non-trivial, which
makes QLinkedListData non-trivial.

Before this change:

User code \ Qt		MSVC <=16.5	MSVC >=16.6
MSVC <=16.5		works		works
MSVC >=16.6		fails		works

With this change, they should all work. The list of symbols exported
should not change either, so linking against a Qt compiled with MSVC
<=16.5 should continue to work.

[ChangeLog][MSVC] Fixed a compatibility issue found when linking code
compiled with version 16.6 to a Qt compiled with 16.5.

Fixes: QTBUG-81727
Change-Id: If79a52e476594446baccfffd15ee771397467f8b
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-02-13 15:12:29 -08:00
Thiago Macieira
c0c2efc3c6 QStringView: Fix warning about conversion from qsizetype to int
Fixes: QTBUG-81764
Change-Id: If79a52e476594446baccfffd15eecb9d9e578118
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2020-02-13 15:11:53 -08:00