Commit Graph

38667 Commits

Author SHA1 Message Date
Thiago Macieira
a3acf568d1 Make QFile::copy() less likely to create zero-sized
QFile::copy() didn't have the syncToDisk() call that QSaveFile::commit()
has. So add it.

[ChangeLog][QtCore][QFile] Made QFile::copy() issue a filesystem-
synchronization system call, which would make it less likely to result
in incomplete or corrupt files if the system reboots or uncleanly shuts
down soon after the function returns. New code is advised to use
QSaveFile instead, which also allows to display a progress report while
copying.

Fixes: QTBUG-75407
Change-Id: I95ecabe2f50e450c991afffd1598d09ec73f6482
Reviewed-by: Henrik Hartz <hhartz@gmail.com>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
2019-04-27 06:03:39 +00:00
Lars Knoll
b4cc294347 Fix page breaking with large images
Don't go into an infinite loop breaking pages, when an image is about
as large as the page. Correctly take top and bottom margins into account
when calculating whether the image could fit on one page.

Amends change 416b4cf685.

Fixes: QTBUG-73730
Change-Id: Id311ddf05510be3b1d131702f4e17025a9861e58
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-04-26 18:21:18 +00:00
Kai Koehne
78c84c6353 qdoc: Fix warnings about missing \inmodule command
Fix warnings

qtbase/src/corelib/io/qprocess.cpp:776: (qdoc) warning: Class CreateProcessArguments has no \inmodule command; using project name by default: QtCore
qtbase/src/corelib/serialization/qcborstream.cpp:1441: (qdoc) warning: Class StringResult has no \inmodule command; using project name by default: QtCore

Change-Id: I1c85ca32aff1f89f70898af7b11cfead96c80349
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2019-04-26 17:36:50 +00:00
Volker Hilsheimer
a8a05b00fc Document that QHostInfo does not guarantee to return all IP addresses
Using getaddrinfo, which implements RFC 6724, implies that addresses
that are not needed will be trimmed. In particular, IPv6 addresses are
often not returned.

Also move the implementation detail documentation down in the text, it's
a detail with little relevance for the usage of the class, but makes for
a good opener regarding this behavior.

Change-Id: I516a64f0b39a6a06621a63c1d5236544b7758049
Fixes: QTBUG-31865
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-04-25 22:24:08 +00:00
Timur Pocheptsov
913dd26c92 QMacStyle - set the proper appearance if needed
Otherwise, AppKit, while rendering 'detached' (not in any view hierarchy)
controls and cells  will use NSAppearance.currentAppearance, which is not
guaranteed to be the same as NSApplication.effectiveAppearance.

Task-number: QTBUG-74515
Change-Id: I82dcebf2230932ecfcbf33c422a3b7bd0aed61d7
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2019-04-25 12:19:17 +00:00
BogDan Vatra
9ca81260e9 Android: Fix hang in runOnAndroidThreadSync and requestPermissionsSync
Keep spinning the main event loop if we can't acquire the semaphore,
this way the Android UI thread can post events on it.

Fixes: QTBUG-74076
Change-Id: Ia87e0535f94c67728176918ab928ff5ce8b00f8e
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
2019-04-25 11:14:28 +00:00
Frederik Gladhorn
1269f9cd16 Linux Accessibility: Add missing roles: Terminal and Desktop
There is an effort to make KDE software accessible, which exposed the
missing roles. Check that they are complete with an assert.

Change-Id: Ibaff0a90e1cee316983569ecee7759a13212e3c3
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
2019-04-25 10:02:37 +00:00
Martin Storsjö
65a33d73ea qmake: Always split QMAKE_DEFAULT_LIBDIRS using ; with clang on windows
When building in a unix style build system (i.e. msys), QMAKE_DIRLIST_SEP
is a colon, not a semicolon. Thus, always split the incoming string
(after the fixup regex) using semicolons on windows.

This matches the code for gcc, further up, which does:

    equals(QMAKE_HOST.os, Windows): \
        paths = $$split(line, ;)
    else: \
        paths = $$split(line, $$QMAKE_DIRLIST_SEP)

Change-Id: I6a0175f9d14ae9ca188553483b7868f0549c784a
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-04-25 09:29:23 +00:00
BogDan Vatra
fc2e9ac7e0 Revert "androiddeployqt: Do not check for stdcpp-path in auxiliary mode"
stdcpp-path is needed to set the correct stdc++ library in libs.xml file.

This reverts commit 1366c4f046.

Change-Id: I79b398c5d97c1e98bf503ef7b95b2e9f0f18bc11
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-04-25 08:20:22 +00:00
Eirik Aavitsland
1d128ed1df Fix artifacts when reading certain 32 bit ico files
Images in an ico file contains transparency information stored as a 1
bit mask. However, when the depth is 32 bit, it means there is an
alpha channel present, and the mask should be ignored. The Qt ico
handler failed to do that. This has gone unnoticed, since the mask in
such images is typically set to all 0s, and so makes no difference to
the result. But ico files exist that contain junk mask data, so fix
the reader to ignore it properly.

Fixes: QTBUG-75214
Change-Id: I1b4456d71689ec783076a582f2fb215e7dc56e62
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-04-25 06:07:13 +00:00
Eirik Aavitsland
d6c3fa6e0c Fix aliased painting with non-uniform scaling
The full stroker does not produce good results for aliased lines
thinner than 1 pixel. Avoid it by making sure that such thin lines
are painted by the cosmetic stroker, even when they have
non-uniform transformation.

Fixes: QTBUG-73866
Change-Id: I7b5f0fa555903246e0c3fd92cd435cc8c0b15a24
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-04-25 06:07:00 +00:00
Eirik Aavitsland
8f8267f00b Avoid hanging on painting dashed lines with non-finite coordinates
The dash stroker did not check for inf/nan coordinates.

Fixes: QTBUG-47887
Change-Id: I1e696cd15cc37d8fcb6a464cac3da33c3a8b95c2
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-04-25 06:06:45 +00:00
Kai Koehne
f2b5baf9d0 Update external links to CMake documentation
We don't support CMake version 2 anymore. Instead of just updating
to a newer (but fixed) version let's link to the latest
documentation. This might create a bigger risk that links get
stale, but hopefully let people find always the latest information.

Task-number: QTBUG-72159
Change-Id: I082de80cf9ee107b5d017ab8ad6369f2448b0e1b
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2019-04-25 05:22:31 +00:00
Thiago Macieira
0674c870b4 TinyCBOR: Fix parsing on big-endian machines
Original commit from https://github.com/thiagomacieira/tinycbor/pull/1

Change-Id: I194d3f37471a49788a7bfffd1594ef5db19465fd
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2019-04-25 05:22:24 +00:00
Joerg Bornemann
a367c85e53 Doc: Document qmake's plugin_bundle CONFIG value
Fixes: QTBUG-17171
Change-Id: I05bf6ba7498fb05394ff8c118973da2b0dbe4fc3
Reviewed-by: Kavindra Palaraja <kpalaraja@luxoft.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2019-04-24 08:53:12 +00:00
Alexander Volkov
2947435d87 QSystemTrayIcon/X11: Create tray icon window when system tray appears
... and destroy it otherwise.

Fixes: QTBUG-61898
Fixes: QTBUG-73459
Done-with: Gatis Paeglis <gatis.paeglis@qt.io>
Change-Id: I6bd8f397f7ccdb123f6a60d4fa466f7b0d760dfc
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
2019-04-23 19:33:25 +00:00
Joerg Bornemann
de854aa37f Teach qmake MSVC's compiler options /std:c++[14|17|latest]
This fixes the "could not parse compiler option" warning when
generating VS project files.

Fixes: QTBUG-75275
Change-Id: Idd98ae5fdb8ebf5a4e311cbb6cd3ed1daba74ca4
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2019-04-23 09:09:41 +00:00
Joerg Bornemann
f36a306563 configure: Support the = prefix for -I and -L
For gcc's -I and -L arguments a = prefix is replaced by the sysroot.
Since we're resolving include paths and library paths, we have to
support this feature.

For example, the linux-rasp-pi3-g++ makes use of this and is broken
without this patch.

Change-Id: Ie39e63322bd35e2a93aa8e55d52260164b8c6a6b
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2019-04-23 09:09:37 +00:00
Joerg Bornemann
c2917243a9 syncqt: Fix resolution of injected headers for external modules
Injected headers were made relative to MODULE_BASE_OUTDIR by syncqt
and made absolute by resolving against REAL_MODULE_BASE_OUTDIR.
This breaks for modules that reside outside the original Qt source
tree (if the directory depth doesn't coincidentally match).

Now, we resolve injected headers against build_basedir, which is
REAL_MODULE_BASE_OUTDIR. To emphasize the equivalence of
REAL_MODULE_BASE_OUTDIR and syncqt's build_basedir, use the former for
syncqt's -output argument.

This commit amends 2aa779e8.

Fixes: QTBUG-70587
Change-Id: I2935d87d7ee681fa4aa795a270b94ab7a43abe59
Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2019-04-23 09:09:33 +00:00
Volker Hilsheimer
6a21dc9d73 Fix typo in QHostAddress::SpecialAddress description
Change-Id: Ia4269b74eb85d5055ca0e893277be92df012c000
Fixes: QTBUG-75332
Reviewed-by: Akihito Izawa <akihito.izawa@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2019-04-23 08:45:15 +00:00
Tor Arne Vestbø
2b2133f853 macOS: Gracefully handle devicePixelRatio mismatch in QCALayerBackingStore
If the client of the backingstore fails to pick up dpr changes, and
tries to flush the backingstore without a repaint, we will end up
flushing a back-buffer with a stale dpr. Detect when this happens,
warn the user, and smooth out the situation by adjusting the layer
accordingly.

Change-Id: If4596a8976a3902252c81d8e28c7aeb9fdd908bf
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2019-04-19 15:34:39 +00:00
Tor Arne Vestbø
585150e3d9 macOS: Clean up and deduplicate QMacCGContext
We now use QCFType to track the CGContextRef, instead of manually
maintaining the lifetime of the context. A bunch of unused methods
were removed, including completely broken ones like isNull().

Change-Id: Ib5a05aadbf8f228192e74c9a4c8919580b831497
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2019-04-19 15:34:30 +00:00
Andre de la Rocha
b556890a9f Windows QPA: fix media keys losing autorepeat/keycode information
For WM_APPCOMMAND messages that also trigger WM_KEYDOWN/WM_KEYUP, let the
latter messages be handled, instead of stripping them and synthesizing a
press/release from the command code, in order to get the correct scan codes
and autorepeat info.

Fixes: QTBUG-73879
Change-Id: I936cd76be87a76dc6b6223eeb246e4e7aee3a4ac
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2019-04-18 11:58:26 +00:00
Joerg Bornemann
c381df060f Doc: Document QMAKE_[L|C[XX]]FLAGS_RELEASE_WITH_DEBUGINFO
Fixes: QTBUG-17463
Change-Id: Ic2f0870da14db21b1da053716b6d63ba0ed679c9
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2019-04-18 07:29:05 +00:00
Qt Forward Merge Bot
b6c79d3ca0 Merge remote-tracking branch 'origin/5.12.3' into 5.12
Change-Id: I2816cb8a3cbc4a2cf5ca5f333a1fddc245b3c06a
2019-04-17 10:34:32 +02:00
Andre de la Rocha
c096d97097 Windows QPA: Fix custom drop formats being ignored
Changes QWindowsDropDataObject to only ignore non-CF_HDROP formats when
the drop contains only "text/uri-list" mime data, and the URIs are for
local files, to avoid messing with custom formats set by the developer,
while still fixing the case reported in QTBUG-62662.

Fixes: QTBUG-74232
Change-Id: I946ced222377716876d0aea54b3eb05d40e7fa44
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2019-04-16 15:21:55 +00:00
Michal Klocek
4298658bef Fix corner case in openglcompositor for eglfs
Add 'source' window offset. This covers the cases where platform
window is created besides one full screen window (like for popups),
where content has qquickwidget / qopenglwidgtet. In that case
fbos/textures from those widgets have offset according to 'source'
window. Note backingstore texture has geometry of 'source' window.

Task-number: QTBUG-69533
Change-Id: I2514b36fd3a6b9b86f51999df1c2b3e9565aafde
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2019-04-16 12:50:56 +00:00
Michal Klocek
e4d2c74aad Fix setting Qt::WA_ShowWithoutActivating on eglfs window
WebEngine HTML based popups depends on setting Qt::WA_ShowWithoutActivating,
to keep forwarding events to chromium event handling. This works well with xcb,
windows or coca windows backends, however was not respected on eglfs.

Add check before activating the window.

Task-number: QTBUG-69533
Change-Id: I66b249ec497af890c8a2228eee3bac3c806e77ed
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2019-04-16 12:50:37 +00:00
Allan Sandfeld Jensen
7ee449a186 Fix threaded QOpenGL when robustness is requested
If the shared context had robustness set then all child contexts must
as well, otherwise we will fallback to a non-shared context breaking
threaded rendering.

Change-Id: Ie5526e632ad21289b6164c1ca06e54ec714187c7
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2019-04-16 10:41:52 +00:00
Oliver Wolff
0bd27f80e0 ANGLE: clean up displays on dll unload
If the displays are not cleaned up on dll unloading, profilers might
report memory leaks.

Change-Id: I04cbc3c2448bfb450f7d840e216827f86856e963
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2019-04-16 10:36:42 +00:00
Ulf Hermann
7c6b969383 eglfs: Call destroy() from dtors of concrete windows
Calling destroy from the QEglFSWindow dtor() triggers the virtual
invalidateSurface() to be called on a partly destroyed object. As the
child windows deregister themselves from their screens on
invalidateSurface() this is dangerous: It leaves a dangling pointer in
the screen.

Fixes: QTBUG-75075
Change-Id: Idd3fea18562d41973f364340df875a50dbd5691e
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2019-04-16 08:00:14 +00:00
Oswald Buddenhagen
5b3dfa470e qmake: link qt libraries by full path
this avoids the scenario where the linker would pick up the wrong qt
libraries for LIBS_PRIVATE because LIBS added the "wrong" path first.
this is also consistent with configure-supplied dependencies as of
recently.

as a side effect, this also removes pretenses of lsb linker handling, as
it makes no sense after the change and is certainly obsolete anyway.

Fixes: QTBUG-50921
Change-Id: I84398c9143f393c2eefb3c69a31bd9f633669924
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-04-15 05:41:08 +00:00
Hugo Beauzée-Luyssen
2a815855a9 corelib: invokeMethod: Allow non copyable functors to be used
[ChangeLog][QtCore][QMetaObject] Non-copyable lambdas can now be used
with invokeMethod(). For consistency reasons, the functor object is
now always moved.

Fixes: QTBUG-69683
Change-Id: I66ff5e21d6d1926f0f7c5f8c304bed1a90b69917
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2019-04-12 20:18:20 +00:00
Andre de la Rocha
ab2c1e20fa Windows QPA: Fix QComboBox accessibility with screen readers
Screen readers like NVDA and Narrator were not reading the contents
of a QComboBox when changing its value using the keyboard, without
expanding it, due to missing UI Automation notifications in this case.
This change should also help in other cases where updated string
values were not notified to screen readers.

Fixes: QTBUG-75066
Change-Id: Id7f488380aec5ad27fd11b3cf854d44ab1b28688
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2019-04-12 15:38:21 +00:00
Frederik Gladhorn
21dcb96ddc QStyleSheetStyle::repolish: only run on direct children
When re-parenting, some widgets change their children. For example
QLabel, when set to rich text, will not update, until receiving a polish
call, at which time getting a list of all children recursively and then
trying to call functions on them will crash, since the children change
in the middle of this operation.

Fixes: QTBUG-69204
Fixes: QTBUG-74667
Change-Id: I95dd83ebeed14c017e22552ddd47658ae8a09353
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2019-04-12 14:33:32 +00:00
Laszlo Agocs
2593463eaf kms: Add support for "skip" key in the output config
"off" is not quite suitable because that turns the output off, as the name suggests.
Disconnected outputs are skipped automatically - it is natural to have a way to
request the same for connected outputs as well.

Task-number: QTBUG-74871
Change-Id: I8bea83428ae0424601b19482b6e6ef809491d0fb
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
2019-04-12 14:02:05 +00:00
Timur Pocheptsov
09228604d8 Generic bearer engine - do not ignore WLAN interfaces (Windows)
The previous code and comments refer to the "separate engine" and skip
such interfaces. Given we explicitly disabled this "separate engine",
skipping the interfaces is a bit cruel.

Task-number: QTBUG-65593
Change-Id: Ie9dce1661bd697f22044ca6fb4a5e2485ef74253
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2019-04-12 13:30:31 +00:00
Jean-Michaël Celerier
bb8a3dfc95 CMake: fix generation of config files for external Qt modules on macOS
This is a follow-up to f5850cb0da, which
did not take into account some special-casing for macOS framework build,
thus causing CMake to look for QtFoo.framework instead of Foo.framework.

Change-Id: I261b14e75fde66fb57486bde43fc936f796a6f96
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
2019-04-12 09:31:35 +00:00
Timur Pocheptsov
7b4f9dbf27 Revert "QMacStyle - workaround NSButtonCell (disclose button type)"
This reverts commit a868942b11. We know how to fix it properly.

Change-Id: I9180aeca82f884333d53bab9c6d588ee3a23d3cb
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2019-04-11 16:27:21 +00:00
Friedemann Kleint
10327549cb QOffscreenSurface: Suppress setting of a default geometry on the window
When investigating the bug report, it was discovered that the
offscreen window is assigned a default geometry by
QPlatformWindow::initialGeometry(), causing subsequent resize events
and flushing of event queues. Suppress that by making it a popup which
is not subject to window title bar restrictions on Windows and setting
the respective flags.

Task-number: QTBUG-74176
Change-Id: I7f9c1a3bfd57072c8188a98124bde87491dd25eb
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2019-04-11 10:48:59 +00:00
Rolf Eike Beer
e1167ed650 tslib: fix detection of missing release coordinates
The release coordinates may be simply initialized to 0 in lower levels of the
tslib. They are then passed through the calibration stage, which applies
offset and multiplication to them, so they may end up even as positive numbers.
Since we can't know if we can trust them or not simply ignore all release
coordinates and just always use the ones from the previous event.

Change-Id: Ib845b5ab1c5b81967cc089d601576893f433fa4a
Reviewed-by: Martin Kepplinger <martink@posteo.de>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2019-04-11 08:28:55 +00:00
Edward Welbourne
064a731a11 Correct the description of the "C" locale
It is not identical to en_US, as we have long claimed.

Fixes: QTBUG-75069
Change-Id: I236adcefdcb4120d2bf5adbcde727c5e3ca13986
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-04-11 08:20:29 +00:00
Alexander Volkov
73698cb340 Fix effects for highdpi graphical items
Create a highdpi pixmap as a source for graphical effects.

Fixes: QTBUG-74963
Change-Id: Ie144df3dbe61421fb28e639e640857aca6e6320f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2019-04-10 10:15:29 +00:00
Paul Lemire
a552864c3b QShaderGenerator: don't generate temporary variables for global inputs
Up until now, the QShaderGenerator would create temporary variables
for uniform, attributes, const. This change makes it use the global
inputs directly rather than relying on the intermediate properties.

Change-Id: Ia9497367d61e536969fe87536606f309c286dbb2
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2019-04-10 09:52:53 +00:00
Paul Lemire
60181f13a3 QShaderGenerator: fix substitution for attributes on GL2/ES2
GL2/ES2 expect it to be attribute and not in like later versions of OpenGL.

Task-number: QTBUG-74829
Change-Id: Iddd22386ed315d6e6843d8225e49a4b73b6ad9ba
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2019-04-10 09:52:50 +00:00
wdl
7c74048e94 xcb_egl: Correctly select OpenGL ES render type if user requested
Fixes: QTBUG-74736
Change-Id: I8f01857c81e7a831da659102052ca73c101818cd
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2019-04-10 08:45:06 +00:00
Morten Johan Sørvig
53d62b8fcb macOS: set layer.delegate when setting a layer
Fixes flicker with Qt 5.12.2 on macOS 10.14.4.

Change-Id: Ibb866d4339ecafae5fb573a653a2fb0f6238d704
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2019-04-10 07:38:10 +00:00
Kai Koehne
605634a88a Doc: Note Q[Plain]TextEdit keeping formatting in some cases
Fixes: QTBUG-72427
Change-Id: Ifddabb175c480b64282bd8c8fdb9edab4c7ecf44
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
2019-04-10 06:31:16 +00:00
Volker Hilsheimer
3f17029aa1 Fix resolving NTFS symbolic links that point to UNC shares
Without this change, the target of a symbolic link that points to a UNC
share would include UNC in the target path, and not be correctly made
absolute.

Add a relevant test case, and use the opportunity to factor out the
helper code that creates NTFS symlinks into a function that takes
care of error handling.

The file created with the new test case only gets cleaned up correctly
when passing the file path into QDir::rmdir, which is either way the
right thing to do.

[ChangeLog][QtCore][QFileInfo] Fixed resolving of symbolic links to UNC
shares on NTFS file systems.

Change-Id: I9ba75d627aedf7c4cc289f0cb71088d795d30d8a
Fixes: QTBUG-73688
Task-number: QTBUG-63970
Task-number: QTBUG-30401
Task-number: QTBUG-20791
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-04-10 04:53:52 +00:00
Friedemann Kleint
bafa676d08 QEglConfigChooser: Silence warning about fallthrough
Add Q_FALLTHROUGH, fixing:
qeglconvenience.cpp:267:9: warning: this statement may fall through [-Wimplicit-fallthrough=]

Change-Id: I764a5821f98982bc94ce5dc6a4efa81a431fd369
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2019-04-09 19:46:09 +00:00