Commit Graph

41704 Commits

Author SHA1 Message Date
Ryan Chu
004e3e0dc2 Make Qt aware of NTFS Junctions on Windows
On NTFS, a junction point can be created and deleted by the mklink and
rmdir commands, respectively. If a directory is not identified
correctly as a junction, then applications will likely try to remove
it using recursive methods, leading to fatal data loss.

With this change, Qt can identify file system entries as junctions,
allowing applications to use the correct file system operation to
remove it.

The test needs to delay the cleaning up of junctions and files it
creates until the checks are complete; since they might fail and make
the test function return prematurely, use a scope guard.

[ChangeLog][QtCore][QFileInfo] Add QFileInfo::isJunction so that
applications can recognize NTFS file system entries as junctions

Task-number: QTBUG-75869
Change-Id: I3c208245afbd9fb7555515fb776ff63b133ca858
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2019-11-09 00:47:45 +01:00
Christian Ehrlicher
b81863cfad QWaitCondition: fix dummy QWaitCondition implementation
The dummy implementation of QWaitCondition which is used when the thread
feature is not available lacks some functions which were recently added.
So we have to add them now.

Change-Id: I32720e0857a1bd3fcf0e70078404a38dd8a8ca88
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2019-11-08 20:14:45 +01:00
Simon Hausmann
576c8126ab Avoid erroneous creation of QScopedValueRollback objects
Mark the class as [[nodiscard]] to ensure that instances are given names
and do not destruct (roll back) immediately. This avoids accidental code
like this:

    QScopedValueRollback<Foo>(bar, baz);

which rolls back instantly, when it should be

    QScopedValueRollback<Foo> blah(bar, baz);

which rolls back at the end of the scope.

Change-Id: I00269fe325b804078bd0a9d5058c941af7ba5597
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2019-11-08 14:24:55 +00:00
Qt Forward Merge Bot
dd1bb0de7b Merge "Merge remote-tracking branch 'origin/5.14' into 5.15" 2019-11-08 09:11:15 +01:00
Qt Forward Merge Bot
78c687f98e Merge remote-tracking branch 'origin/5.14' into 5.15
Change-Id: I963b5f48b5d6f3500ca379fbd7f1a4290b570175
2019-11-08 09:11:02 +01:00
Johan Klokkhammer Helsing
f0a43a9def Make QPlatformPlaceholderScreen a sibling of other screens
This is how the fake screen currently behaves in the xcb plugin. So if we are
to deduplicate, it's probably best to match current behavior first.

I still left an option for not being a virtual sibling in case other platforms
don't support showing a window on a placeholder screen.

Task-number: QTBUG-79711
Change-Id: I4e8b44d892efb85fdb003f1d473d0867442d7e4e
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
2019-11-08 08:44:00 +01:00
Eskil Abrahamsen Blomfeldt
c17a5cec19 Android: Implement MaximizeUsingFullscreenGeometryHint
This flag tells the app to use as much of the screen as possible
while still keeping system UI visible, and can be supported on Android
by using translucent system UI, similar to iOS.

What this does:
1. It changes the current fullscreen/not-fullscreen logic to
allow three states: fullscreen, fullscreen with translucent
decorations and not-fullscreen.

2. In order for it to work, we have to send the actual
screen geometry and available geometry, at least in the case
where the user needs to know the available geometry to
know the safe area of the window. So we get the real screen
metrics and pass these to the QPA plugin (API level 17, so
we can do that now that the minimum version is 21.)

3. Note that getting the insets and calculating the useable
area does not work for non-fullscreen windows, since Android
is quite inconsistent in this respect. So in this case we
just use the window size and origin of 0,0 for the available
geometry.

4. Since we are touching this code anyway, this patch also tries to use
more consistent wording (calling it "available geometry" everywhere
instead of desktop geometry in some places and just geometry in
others, etc.)

[ChangeLog][Android] Qt::MaximizeUsingFullscreenGeometryHint window
flag is now supported, and will make the window fullscreen, but keep
the system UI on-screen, with a translucent background color.

Fixes: QTBUG-74202
Change-Id: I7a59a6c6fb51ebbdb86e7149e794726e67001279
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2019-11-08 07:04:43 +01:00
Eskil Abrahamsen Blomfeldt
3e529369eb Support MaximizeUsingFullscreenGeometryHint in resizeMaximizedWindows()
In QPlatformScreen there is a convenience function which resizes windows
when the screen changes. This did not have support for
MaximizeUsingFullscreenGeometryHint and would mistakenly resize these windows
to the available geometry.

Since not all QPA plugins support this hint, we have to add a capability
flag to avoid changing behavior on platforms where it works as intended.

Task-number: QTBUG-74202
Change-Id: Ife88f597fbb3affa722f63ac18fb5719ffa8ed33
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2019-11-07 12:43:03 +00:00
Vitaly Fanaskov
a866055d18 QHighDpiScaling: impove readability of screenSubfactor method
Task-number: QTBUG-53022
Change-Id: Idae4379dd78d3125c375fad37a5a3af5bbcdc51e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2019-11-07 13:43:00 +01:00
Volker Hilsheimer
33f1eb50e2 Fix build of the sub-attaq example
QMenuBar is only forward declared in QMainWindow. I don't think this is
a recent change or breakage, just noticed then when running a complete
build of the 5.15 branch.

Change-Id: Ia1a072044bd26c5f3f51ec5f5b0f72f065a0576f
Reviewed-by: Johanna Äijälä <johanna.aijala@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2019-11-07 13:35:21 +02:00
Christian Ehrlicher
72f57cc842 QWaitCondition: mark obsolete functions as deprecated
Mark QWaitCondition:wait(..., ulong) as deprecated so they can be
removed in Qt6. Also replace the usages of this deprecated functions
inside QtCore.

Change-Id: I77313255fa05f5c112b0b40d4c55339cc4f85346
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-11-07 10:53:16 +01:00
Allan Sandfeld Jensen
52a3f1b00c Fix accuracy of ARGB32->A2RGB30 conversions
It was converted over ARGB32PM, when it should have been directly
converted to not lose accuracy, instead there was an unnecessary direct
ARGB32->RGB30 conversion, which was converted to the necessary type.

This also improves the selection of conversion over ARGB32PM or RGBA64PM
for ARGB32 and RGBA8888 by using 32-bit conversion when alpha is not
relevant.

Change-Id: I5990d8a23b2909d3910d8c1213fa46477742b052
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2019-11-07 10:42:08 +01:00
Edward Welbourne
e6a0a945c5 Simplify two complex test conditions
Since the test was fatuous for i == 0, iterate from i = 1, instead.

Change-Id: I9b9c1b7b10639aefdd74f48051d592da4f84dc85
Reviewed-by: Jesus Fernandez <jsfdez@gmail.com>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2019-11-07 10:35:03 +01:00
Edward Welbourne
1c4626f830 Rationalize descriptions of date-time formats
Document QDateTime's methods by reference to QDate and QTime, to avoid repetition.
Use consistent descriptions between toString() and fromString(), in each case.
Document the truth: various things were simply wrong, in at least some copies.

Change-Id: Ie80017250cd470f65733f96d182ed7d043694f0e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2019-11-07 10:34:24 +01:00
Sona Kurazyan
fa2c9a27e2 Move out the reusable part of QDomHandler to a new class
QDomHandler implements methods for building the DOM tree. These
methods can be reused also in the new QXmlStreamReader-based
implementation. They are moved to a new QDomBuilder class and
QDomHandler become a wrapper around it.

Task-number: QTBUG-76178
Change-Id: I01956c209ae253b69c23f20d90a5befe7b5329a0
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2019-11-07 08:39:33 +00:00
Vitaly Fanaskov
ed20f32098 QHighDpiScaling: fix potential null pointer dereference
It's not guaranteed that QPlatformScreen::screen should always return a
valid pointer. Furthermore, you can run into this situation with, for
example, two screens setup.

Task-number: QTBUG-53022
Change-Id: Ic23bb2c30b1245f98a793a44cc5e0b39f9afac4b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2019-11-07 09:07:16 +01:00
Qt Forward Merge Bot
75f791419c Merge "Merge remote-tracking branch 'origin/5.13' into 5.14" 2019-11-06 19:44:29 +01:00
Andy Shaw
b274f656b8 Be able to create a response file for other generators too
When building an application for Android on Windows it is possible that
the command line will be too long when doing the link step. So the code
for generating a response file is moved to MakefileGenerator so it can
be used by the other generators easily. The same variables used by
MinGW can be used elsewhere then.

Fixes: QTBUG-71940
Change-Id: I6c331d12e9541a90a4a95e0154d0ea1c056489bc
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-11-06 18:14:17 +01:00
Qt Forward Merge Bot
e3cc16e9fb Merge remote-tracking branch 'origin/5.13' into 5.14
Conflicts:
	.qmake.conf
	mkspecs/features/mac/default_post.prf
	src/corelib/tools/qsimd_p.h
	src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm
	util/qfloat16-tables/gen_qfloat16_tables.cpp

Change-Id: If48fa8a3bc3c983706b609a6d3822cb67c1352a4
2019-11-06 11:41:19 +01:00
Edward Welbourne
3c7df4a0ff Add support for a signaling NaN in qfloat16
There was a comment saying what value does the job, so might as well
put it to work.

Change-Id: I47f1a8ce7ce889580f71aa784ccbcc227ebe0b23
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-11-06 11:37:02 +01:00
Edward Welbourne
7bf4f81de8 Add qfloat16::copySign() since we can't overload std::copysign()
Change-Id: Idfaf841b3eb3538f076ae4f0de2d7d029e1588fe
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-11-06 11:36:49 +01:00
Johan Klokkhammer Helsing
b7858e9b4b Add QPlatformPlaceholderScreen
...and QPlatformScreen::isPlaceholder()

This class can be used to reduce the amount of boiler-plate required to create
a fake screen when there are no real screens (Qt doesn't currently support
running with no QScreens).

Change-Id: I7290406a3d010bcbaf15a1a8a84216e3abf75c78
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
2019-11-06 11:18:49 +01:00
Christian Ehrlicher
e85de7d787 Cleanup network examples
Cleanup network examples:
 - use nullptr
 - use member-init
 - adjust includes
 - use new-style connects

Change-Id: I80aa230168e5aec88a1bc93bbf49a471bfc30e7b
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-11-06 10:57:23 +01:00
Volker Hilsheimer
4ada4f283e Make QDir::cleanPath documentation less misleading
The code doesn't convert anything that might be a separator on other
platforms (most notably, '\') to '/', it only replaces platform-native
separators (i.e. '\' if running on Windows) with '/'.

Change-Id: I2e241b88b8bd271dfa5d7db61402fe8ef9a6bb6f
Fixes: QTBUG-79736
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2019-11-06 08:41:46 +01:00
Christian Ehrlicher
88047be4ec QAbstractItemView: don't toggle selection on mouse move on some index
In single selection mode, the current selection toggled when the user
pressed the left mouse + Ctrl key and then moved the mouse over the
item. This was introduced with 28a21d98ef
which added the possibility to deselect an item in single selection
mode.
Fix it by adding a check if the event was a mouse move event and use the
old codepath for it.

Fixes: QTBUG-77353
Change-Id: Id845ada302c92646885dfd966721b00d940f1260
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
2019-11-06 06:59:38 +01:00
Volker Hilsheimer
bc4c2382aa QMdiArea: On macOS, render inactive subwindow controls grayed out
The controls were correctly grayed out when the entire window was not
active, but inactive subwindows showed their controls in color, and only
the titlebar had a slightly paler gradient to indicate that they are not
active. MDI is not a concept on macOS and there is no clear style guide
for how such windows are supposed to behave, but the look of the
inactive titlebar before this change is too similar to the active state
for it to be useful.

This change restores the pre-5.11 state, prior to the removal of HITheme
based styling in 8633e1a7b4.

Change-Id: If009bf085a87fe2610d888636348dc8b13a93ec1
Fixes: QTBUG-79648
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2019-11-06 01:21:47 +01:00
Tor Arne Vestbø
7f0aaa88ef macOS: Only skip screen reconfigure if primary screen changed
Change-Id: Ia5d208ace5086e8e92f95f859383773894a18768
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
(cherry picked from commit dcbe25bbbb)
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2019-11-05 19:52:54 +01:00
Tor Arne Vestbø
2e63d12183 Update supported platforms and build requirements for Apple platforms
Per earlier discussions we bump the deployment target for LTS releases
and follow up by requiring the latest SDK available for building.

As layer backed views and dark mode is a lot more stable these days in
Qt and on macOS in general we no longer support the option to build with
the 10.13 SDK. A workaround in case this functionality is still needed
is to explicitly set the QMAKE_MAC_SDK_VERSION qmake variable, which
will tell the linker to write that version into the MachO header of
the executable, which will then be read by AppKit when determining
which features to opt in to.

Change-Id: Ied4f6d75b710505a5c440c990b82567bea780db6
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-11-05 19:49:14 +01:00
Lars Knoll
66b6e28c01 Use QMultiHash::insert() instead of insertMulti()
Change-Id: I5daeba708a9efcf60e92cfc9a04e80546e9ae6a2
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2019-11-05 17:32:34 +01:00
Lars Knoll
2faccdf9a6 Don't insert multiple names for the same role
It doesn't make a lot of sense to have two names for the
same role. Use 'fileIcon' exclusively for the Qt::Decoration/
FileIconRole.

Change-Id: Icaa46ba4aa61efc56ba007a14bab5e59ea26cd35
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2019-11-05 16:32:28 +00:00
Lars Knoll
dbb54805f6 Deprecate reverse iteration on QHash
std::unordered_map only supports forward iteration for good
reasons. Align our API with this by deprecating reverse
iteration and the operator+/-() for iterators.

[ChangeLog][QtCore][QHash] Reverse iteration over QHash is now
deprecated.
[ChangeLog][Potentially Binary-Incompatible Changes] QHash's
iterator category was changed from bidirectional iterator to forward
iterator. This may cause trouble if a library uses the iterator category
to alter functionality through tag dispatching. This only applies when
compiling the library or application with
QT_DISABLE_DEPRECATED_BEFORE=0x050F00 and the other with a lower value.

Change-Id: I0fb6d017cabdef1bc508e62f76dc2fa73cd3652d
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2019-11-05 17:32:22 +01:00
Shawn Rutledge
d1c6f7e5a2 QTextMarkdownWriter: preserve empty lists
You can save a "skeletal" document with list items to fill in later,
the same as you can do in HTML or ODF format.  Reading them back via
QTextDocument::fromMarkdown() isn't always perfect though.

Fixes: QTBUG-79217
Change-Id: Iacdb3e6792250ebdead05f314c9e3d00546eeb9f
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2019-11-05 16:40:18 +02:00
Shawn Rutledge
524ab7b535 Avoid crashing when the end of an empty markdown list is detected
The markdown parser generates empty lists in some cases when a character
that can be used as a bullet is found on a line by itself.
cbEnterBlock() and cbLeaveBlock() are called symmetrically in such cases.
QStack::pop() on an empty stack triggers an assert, so push and pop need
to be done symmetrically too.  But it's difficult to actually create the
list as soon as the MD_BLOCK_UL or MD_BLOCK_OL callback occurs, without
breaking the case fixed in 7224d0e427 (and
probably other cases).  That's because QTextCursor::insertList() creates
a list item at the same time as it creates the list itself, and also
inherits block formatting from the previous block.  We now insert empty
lists with empty items whenever the need for that is detected though,
and there's a failsafe to prevent popping in case something still goes
wrong with that logic.  We aren't strict about reproducing the original
markdown when regenerating it via toMarkdown(), but it's getting closer.

Fixes: QTBUG-78870
Change-Id: Ided194ce7aec2710c60dbac42761ee4169ed9b78
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
2019-11-05 16:39:13 +02:00
Joerg Bornemann
577b6554f0 Move RESOURCE flattening code to dedicated function
Introduce resources_functions.prf with the test function
qtFlattenResources which ensures that RESOURCES has a flat structure,
e.g. only contains *.qrc entries.

This can be called by other .prf files like qtquickcompiler.prf
without disturbing the ability to extend RESOURCES in other .prf files.

Task-number: QTBUG-79672
Change-Id: I43246e40f5ea52a9d9c917a1bd781aeeb1304acc
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2019-11-05 14:51:29 +01:00
Andy Shaw
b1004c7d0a If only family is set, prefer that in the families list after resolving
If a font with only a family set is resolved with one that has been setup
with setFamilies() then the family needs to be prepended to the families
list after resolving. This is so that the font still prefers the one set
as just a family with no famillies set.

This also amends the QFontDialog test to account for this too.

[ChangeLog][QtGui][Text] Resolving a font that just has a family set
with families set will prepend the family to the families so that it
is still the first preference for the font.

Task-number: QTBUG-46322
Change-Id: Icc4005732f95b2b4c684e592b06b31e133270e44
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2019-11-05 09:46:29 +01:00
Qt Forward Merge Bot
6f8a97e480 Merge "Merge remote-tracking branch 'origin/5.14' into 5.15" 2019-11-05 01:01:07 +01:00
Qt Forward Merge Bot
92e888f27e Merge remote-tracking branch 'origin/5.14' into 5.15
Change-Id: Icd98de8592828c60cfea3d69f9c7ae2711b9f059
2019-11-05 01:00:54 +01:00
Allan Sandfeld Jensen
a3361ac66d Remove old resizing inplace QImage converters
They are highly unlikely to avoid reallocating and moving data, and
working inplace is likely just slower.

Change-Id: I16eb1d54a660e52b145be1ed0b64a3fb636a0002
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-11-04 23:58:40 +01:00
Christian Ehrlicher
77455a9a8c QProcess: explicitly mark QProcess::error() as deprecated
The signal QProcess::error() was deprecated in Qt5.6 but not annotated
with QT_DEPRECATED_X.

Change-Id: I9dd11c9b8019a0554cb82d6acb6b7e0a01c78123
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2019-11-04 10:42:55 +01:00
Kai Koehne
accc40f323 Fix check for EGL on INTEGRITY
This fixes a regression introduced in c00487d588.

Fixes: QTBUG-79285
Change-Id: I95f073d019d6e909f8de132ea9f27002043d5d52
Reviewed-by: Kimmo Ollila <kimmo.ollila@qt.io>
Reviewed-by: Timo Aarnipuro <timo.aarnipuro@qt.io>
Reviewed-by: Tasuku Suzuki <tasuku.suzuki@tqcs.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-11-04 09:44:51 +01:00
Kai Koehne
99e43db7ce Fix regression in how "pkg-config --static" output is handled
Change a1ea498789 did replace different pkg-config calls for
-L, -l arguments to one. Anyhow, it also removed the eval() call that
ensured that the return string was split by whitespace, meaning that
paths couldn't resolve anymore properly if multiple arguments were
returned.

Fixes: QTBUG-79668
Change-Id: I4091fea6891ef79836e05f8e87ffa9d69863a8f5
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-11-04 09:31:56 +01:00
Joerg Bornemann
c0bde0da81 Fix cross-compilation to Linux
The CROSS_COMPILE variable wasn't picked up by the linux-g++ mkspec.
Now it's possible to cross-build Qt on FreeBSD to Linux, for example.

Fixes: QTBUG-79255
Change-Id: Ib1cd8ed3d5ef0af42f2d47af8f6d2c2ff5356adc
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2019-11-04 08:28:20 +00:00
Kai Koehne
1d959c0de3 Qt XML: Fix module in comment
Change-Id: Ibb1c0b54c4add118328f9281e2dbbcf9c1c62312
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
2019-11-04 09:00:38 +01:00
Andy Shaw
39ed657b63 Query the mouse buttons initially in case the middle button was used
Change-Id: I99a3ef598bdaaba1afb6bf6521d1ceafcc9b603c
Reviewed-by: André de la Rocha <andre.rocha@qt.io>
2019-11-03 11:44:08 +01:00
Christian Ehrlicher
c31cdb1b3f Widget examples: replace QItemDelegate with QStyledItemDelegate
The documentation was forgotten in
5d4b5dab7f

Change-Id: I4e0f8f507199601910a174a080936b9a619048a4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2019-11-02 13:29:17 +01:00
Frederik Gladhorn
7ba1d611cf Fix qtHaveModule(widgets) condition
In qmake syntax there should be a colon or curly braces following a condition.

Change-Id: Ibd989662aef6320cec8093e7c6103bf8362b8255
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-11-02 08:55:27 +01:00
Friedemann Kleint
5436a6f3e0 QNetworkReply: Fix SSL configuration handling
Use QT_CONFIG consistently and enclose
sslConfigurationImplementation(), setSslConfigurationImplementation()
and ignoreSslErrorsImplementation() within QT_CONFIG as well.

This enables a build of Qt for Python with -no-feature-ssl.

Change-Id: Ia699293ab73a5dc86d8dcf95aa5f6369334d36a2
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2019-11-01 20:13:54 +01:00
David Faure
0fb995492d QImageIOHandler: remove #if around virtual method name()
It makes -DQT_DISABLE_DEPRECATED_BEFORE=0x050d00 (in an application)
trigger a binary incompatible change and crash.

Change-Id: I9b9783d134821697180dc3fd8f2f69a51ddb7ac6
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2019-11-01 17:13:20 +01:00
Sona Kurazyan
44a26a0a79 Move the private and internal APIs of QDom to new files
qdom.cpp is too big, move the private classes and internal classes
to new files to make the maintenance and reviews for the upcoming
changes easier.

Task-number: QTBUG-76178
Change-Id: Ibe83bf9104e000d405a07653f4278083e2da648e
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2019-11-01 16:37:25 +01:00
Leena Miettinen
fa0a79a2bb Doc: Add guidelines for writing Qt tests
Based on https://wiki.qt.io/Writing_Unit_Tests. Some of the
guidelines will be added to the documentation of a particular
class, function, or macro.

Task-number: QTBUG-18368
Task-number: QTBUG-63987
Change-Id: Ied267edc71e370a07f5124ba05432799f595dda6
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2019-11-01 15:29:13 +01:00