Commit Graph

1605 Commits (e71e22beafa7a0a108eb72fbfdfd2a68f167bcfe)

Author SHA1 Message Date
Tobias Hunger 9b7f5776ee CMake: Regenerate platformsupport/services
Change-Id: I73444aeef2e37ebb2f90e8bae3e6932989bad5f0
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-06 14:26:58 +00:00
Tobias Hunger 3d452d7c3b CMake: Regenerate platformsupport/linuxaccessibility
Use ATSPI with nolink!

Change-Id: I334fa93364109ca04b4312d12ddcea34d9e9a103
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-06 14:26:49 +00:00
Tobias Hunger 5d374083b7 CMake: Regenerate platformsupport/graphics
Change-Id: Ifff85f70de092ade438430d71d9a149f49363c14
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-06 14:24:51 +00:00
Tobias Hunger 775e595642 CMake: Regenerate platformsupport/fontdatabases
This one does actually contain functionality changes, but those look OK to me.

Change-Id: I5fd2caee16da86c529e1c83ca66452f780e54e26
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-06 14:24:42 +00:00
Tobias Hunger f8d3b60fb1 CMake: Regenerate platformsupport/fbconvenience
Change-Id: Ic838debdca48553252cb4c32ec8a42695ba24b46
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-06 14:24:28 +00:00
Tobias Hunger a7fc360b22 CMake: Regenerate platformsupport/eventdispatchers
Change-Id: Ie9cbee3fcb58673c08e8378382dd45e61fc4ff01
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-06 14:24:19 +00:00
Tobias Hunger 46b1676804 CMake: Regenerate src/platformsupport/edid
Change-Id: Id567354daa47c0be07211ebf01f92cd01be9a5c7
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-06 14:24:06 +00:00
Tobias Hunger c29fe1fae2 CMake: Regenerate src/platformsupport/devicediscovery
Change-Id: Ia306a7197c10fffb520e90eead449c551f0dfbe8
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-06 14:23:55 +00:00
Tobias Hunger 65c5ffdb1d CMake: Regenerate src/platformsupport/clipboard
Change-Id: I6e61274a2f5796a6b4ddcbbdf03c345a03e4b91a
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-06 14:23:44 +00:00
Tobias Hunger f02a9c81ad CMake: Regenerate src/platformsupport/accessibility
Change-Id: Ie250afa3b4dc6c5750dd3cd15c1e83edcb7e0734
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-06 14:23:33 +00:00
Tobias Hunger 59e32c4e23 CMake: Regenerate src/platformsupport
Change-Id: I883573633dbd82ebcca9cc0dc435cd867cec24b8
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-06 14:23:19 +00:00
Qt Forward Merge Bot e4e5a1f0b7 Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: Iaad9509712c848ed42ada2c25065162a6fc5a930
2019-05-06 01:00:13 +02:00
Nick Shaforostov 4d5fb551d6 fix compilation with various -no-feature-* options
Change-Id: Ic1975db497613e3efe50be4246c167efe10d8e31
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2019-05-05 09:14:48 +00:00
Allan Sandfeld Jensen 835c3e94f6 Only call addFontToDatabase once per family,style
We get a call to storeFont for each supported script-type of
a font, but we use the font signature to register all the supported
types at once, and can thus save ~3/4 calls to addFontToDatabase.

Change-Id: I9d06252fb7f805e7babac58d82fa412ec4e0e36a
Fixes: QTBUG-59360
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2019-05-03 19:22:59 +00:00
Simon Hausmann c2379c469c Fix linking on systems where there's no libGLX.so but mesa provides bindings
Behave like qmake and link against libGL simply. This happened in
offscreen.pro implicitly through QT += gui-private and needs to happen
explicitly here by using the CONFIG += opengl equivalent: WrapOpenGL.

Change-Id: I396c2256c89f4560bb7f936f7540b33c754b9eda
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-05-03 08:27:51 +00:00
Simon Hausmann d3b10dabf2 Revert "CMake: better GLX detection"
This fixes the build when GLX is available.

In the .pro files as well as the .cpp files the condition of enabling
GLX support is based on the Qt feature system (xlib && opengl &&
!opengles2). The change to replace the !opengles check with a cmake
target check is incomplete for two reasons:

    (1) the target check would _never_ succeed because there was no
    find_package() call in scope that would create the target.

    (2) when the target is found, the .cpp code that checks for the
    features would fail, because that continues to use the !opengles2
    condition -- the preprocessor can't know about cmake targets.

So this reverts commit 1361cf5d50 and
instead calls for an investigation why in Ville's machine desktop gl was
disabled.

Change-Id: I9a7957224f81b800282c260dee8abcd421fdbc9e
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
2019-05-03 07:51:41 +00:00
Ville Voutilainen 1361cf5d50 CMake: better GLX detection
Change-Id: I71dfbb331cb02a3249b0c3c65f2a9bd9ce68c739
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-05-02 14:56:32 +00:00
Alexandru Croitor 9b0b464e82 Write find_dependency() calls in Qt Module config files
This change introduces a new function called qt_find_package()
which can take an extra option called PROVIDED_TARGETS, which
associates targets with the package that defines those targets.
This is done by setting the INTERFACE_QT_PACKAGE_NAME and
INTERFACE_QT_PACKAGE_VERSION properties on the imported targets.

This information allows us to generate appropriate find_dependency()
calls in a module's Config file for third party libraries.

For example when an application links against QtCore, it should also
link against zlib and atomic libraries. In order to do that, the
library locations first have to be found by CMake. This is achieved by
embedding find_dependency(ZLIB) and find_dependency(Atomic) in
Qt5CoreDependencies.cmake which is included by Qt5CoreConfig.cmake.
The latter is picked up when an application project contains
find_package(Qt5Core), and thus all linking dependencies are resolved.

The information 'which package provides which targets' is contained
in the python json2cmake conversion script. The generated output of
the script contains qt_find_package() calls that represent that
information.

The Qt5CoreDependencies.cmake file and which which dependencies it
contains is generated at the QtPostProcess stop.

Note that for non-static Qt builds, we only need to propagate public
3rd party libraries. For static builds, we need all third party
libraries.

In order for the INTERFACE_QT_PACKAGE_NAME property to be read in any
scope, the targets on which the property is set, have to be GLOBAL.

Also for applications and other modules to find all required third
party libraries, we have to install all our custom Find modules, and
make sure they define INTERFACE IMPORTED libraries, and not just
IMPORTED libraries.

Change-Id: I694d6e32d05b96d5e241df0156fc79d0029426aa
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-05-02 07:30:42 +00:00
Qt Forward Merge Bot 0dff40adf8 Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: I6ecf7074eda57ef4954fb3fdc7a6d1e8cd229340
2019-04-26 01:00:13 +02: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
Qt Forward Merge Bot cb10ec56f7 Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: I26da00aa71b0f0b91c9bfb4a9e8550345ee62875
2019-04-24 01:00:13 +02:00
Gatis Paeglis 54ceb8a5f8 qglxconvenience: use QMAKE_USE instead of QMAKE_USE_PRIVATE
The provided API uses Xlib types, so it should publicly link with Xlib.

Fixes: QTBUG-75045
Change-Id: Ifea1e8df27cdcc57fb04cd68a7aa1e9fa339c53d
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-04-23 11:36:22 +00:00
Tobias Hunger bbb75d9614 Merge remote-tracking branch 'gerrit/dev' into wip/cmake
Change-Id: I2e1812e4f40131ff74919aa3b558db5c261fe412
2019-04-16 16:50:27 +02:00
Tobias Hunger 6630937e63 Merge commit 'dev' into 'wip/cmake-merge'
Change-Id: I176c40d031be26a1dd1cf08843e448a660598783
2019-04-16 16:32:08 +02: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
Liang Qi 9d67bf6e96 Merge remote-tracking branch 'origin/5.12' into 5.13
Conflicts:
	src/corelib/tools/qlocale.qdoc
	tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp

Done-with: Edward Welbourne <edward.welbourne@qt.io>
Done-with: Volker Hilsheimer <volker.hilsheimer@qt.io>
Change-Id: I88e0757b2d020f0a244714c87844631df4b3fd13
2019-04-16 09:34:50 +02:00
Rolf Eike Beer 093a1a6232 tslib: use ts_setup() to find the device
This automatically searches for some default devices. This not only
reduces the amount of code, it also makes sure that Qt will by default
find the same input devices that tslib (e.g. ts_calibrate) will find.

Fixes: QTBUG-74680
Change-Id: Ied3fff7e8ed9d6637d2b8cf32119660133d251a3
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2019-04-15 15:14:21 +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
Andy Shaw 825b474363 Windows: Use the first entry in the requested families if available
If the font request has the families list set then it should use the
first entry in that if the face name is empty as this will be more
accurate than just the whole family setting which may contain a
comma separated list of family names.

Fixes: QTBUG-75333
Change-Id: Iccc9cde741544af5263cb318da56178adf34299b
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-06-05 11:46:00 +02: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
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
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
Eskil Abrahamsen Blomfeldt 9d1905da9c Revert "Fix font matching of typographic families on Windows"
This reverts commit bcd2fa484a.

There was a report that this caused infinite recursion on some
systems, so we revert it for now and re-add it later when the
issue has been resolved.

Task-number: QTBUG-74983
Change-Id: I747e0437232d72d7a87eb602b10fa09c7130ce8f
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-04-09 06:02:22 +00:00
Allan Sandfeld Jensen 1ef274fb94 Replace qMove with std::move
Change-Id: I67df3ae6b5db0a158f86e75b99f422bd13853bc9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-04-06 11:00:38 +00:00
Qt Forward Merge Bot ed485243b5 Merge "Merge remote-tracking branch 'origin/5.13' into dev" into refs/staging/dev 2019-04-04 23:01:17 +00:00
Allan Sandfeld Jensen 8d7c97d428 Remove remaining Q_DECL_NOEXCEPT/Q_DECL_NOTHROW usage
Change-Id: I91ac9e714a465cab226b211812aa46e8fe5ff2ab
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-04-04 18:01:38 +00:00
Eskil Abrahamsen Blomfeldt bcd2fa484a Fix font matching of typographic families on Windows
9204b8c31e broke font matching on Windows.
After this change, if you request a specific face of a family, such
as "Arial Black", and Qt detects that its typographic/preferred name
is "Arial", then it will be added as the single style of the Arial family,
which will in turn be set as populated=true.

So if you later request a regular font of "Arial" family, then it will
see that the family has already been populated, skip this step, and
then see that there is only one style available, i.e. "Arial Black".

To work around this, we need to make sure the typographic family is
properly populated the first time it is registered.

[ChangeLog][Windows][Fonts] Fixed a bug where it would be impossible
to request different faces of a font family after a specific type face
has been in use.

Task-number: QTBUG-74748
Change-Id: Ia0caace2b88a32e6114ff23ad10ee1ea8f5a3e03
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-04-04 10:24:57 +00:00
Tobias Hunger 1aff970c49 CMake: Re-generate platformsupport/clipboard
Change-Id: If05ae02f363a4a9ef6193f7f8822dcbbc58e1738
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-04-03 08:53:21 +00:00
Alexandru Croitor e2e4525f78 Fix simplification of conditions involving apple
Previously a condition like APPLE AND (NOT APPLE_OSX) got simplified
to APPLE, which is wrong.

This happened by accident due to some sub-family simplifications
involving BSD, which APPLE was part of.

Technically APPLE is BSD derived, but for the purposes of the
conversion script consider APPLE not to be a BSD (hopefully there
should be no cases of using the bsd scope for apple machines in
qmake files.

Also regenerate the fontdatabase project, where the issue was found.

Change-Id: I18dcf4f29ffbff48c183ba95ca2a2e5cd5325d86
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-04-02 13:32:21 +00:00
Liang Qi 29f01b32f5 Merge remote-tracking branch 'origin/5.13' into dev
Conflicts:
	src/corelib/configure.json

Change-Id: I93ac67f3bf4844bc7c691183e94bceb922b7b919
2019-03-31 12:39:42 +02:00
Qt Forward Merge Bot 0a7302abbc Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: I9935bacae0d6ba532418fc3d28adbc7ca1463604
2019-03-30 01:00:07 +01:00
Tobias Hunger 4a9ea61705 CMake: Re-generate platformsupport/graphics
Change-Id: Ib144f7ab7d73e408fb73e1c52e92d03377c890c5
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
2019-03-29 14:33:22 +00:00
Tobias Hunger ff15f36812 CMake: Re-generate platformsupport/glxconvenience
Change-Id: I1a8c376df4a29ca6d38f60b20a961a8706f246ba
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
2019-03-29 14:33:10 +00:00
Tobias Hunger 4cf7ec0665 CMake: Re-generate platformsupport/platformcompositor
Change-Id: I4efe3cc2920c0efe83f8e2b7028020558a78c778
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
2019-03-29 14:33:00 +00:00
Tobias Hunger b7d3bb8c3a CMake: Re-generate platformsupport/eglconvenience
Change-Id: I0e159dad3efc812be7fad7637901822f9a29fb88
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
2019-03-29 14:32:50 +00:00
Tobias Hunger 95142af5bd CMake: Re-generate platformsupport/kmsconvenience
Change-Id: If0d734f80f3c6252c6cd7dedcba77352ee909178
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
2019-03-29 14:32:39 +00:00
Tobias Hunger 49777d0d4f CMake: Re-generate platformsupport/vkconvenience
Change-Id: I231274316f1cd834ec6d34e51231829dd825643b
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
2019-03-29 14:32:30 +00:00
Tobias Hunger 3b362e766f CMake: Re-generate platformsupport/windowsuiautomation
Change-Id: I5c422b0052af0570de4331215fe78a7e956649e9
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
2019-03-29 14:32:20 +00:00
Tobias Hunger eb1e744206 CMake: Re-generate platformsupport/fontdatabases
Change-Id: I20e7043c77fbbbd882d6bf8cb0a05dfb32eb2ede
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
2019-03-29 14:31:57 +00:00
Tobias Hunger feeae8e27f CMake: Re-generate platformsupport/linuxaccessibility
Change-Id: I1737fbfbdb3a139a9296cc0b446014b3aaa583a1
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
2019-03-29 10:17:22 +00:00
Tobias Hunger 71125665cf CMake: Re-generate platformsupport/accessibility
Change-Id: I3d29bc6db570d918dee5925ac370c4dd2cc16aa8
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
2019-03-29 10:17:03 +00:00
Tobias Hunger dc0b1dc67c CMake: Re-generate platformsupport/input
Change-Id: I4f3c4d6d0db2cb8d5a4cb2b71a7d7e08f043b88c
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
2019-03-29 10:16:53 +00:00
Tobias Hunger fdb480c8e3 CMake: Re-generate platformsupport/services
Change-Id: Ibe7d56e81640a41e093cf4936207fa96fd61a4f9
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
2019-03-29 10:16:21 +00:00
Tobias Hunger 43ff4aa5b8 CMake: Re-generate platformsupport/fbconvenience
Change-Id: I8cf1ac15e38529117346fdd17f29fb1e6be20a68
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
2019-03-29 10:16:03 +00:00
Tobias Hunger 143c3e6ea1 CMake: Re-generate platformsupport/devicediscovery
Change-Id: I817532202f070120498894b0b1dd9d92fc4e1bfa
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
2019-03-29 10:15:53 +00:00
Tobias Hunger 63389cad18 CMake: Re-generate platformsupport/eventdispatcher
Change-Id: Ib2c502cc4f2e7b91304ec4d0b4f1702327890dfb
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
2019-03-29 10:15:36 +00:00
Tobias Hunger 8d4a15c68f CMake: Re-generate platformsupport/edid
Change-Id: Ib043c387a67b0a05448fe5a9bf0ef6adbbfd369f
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
2019-03-29 10:15:22 +00:00
Tobias Hunger 337c06b1d8 CMake: Re-generate platformsupport/themes
Change-Id: I5310b5a399bf8078193b2218aebc07096446e83f
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
2019-03-29 10:15:14 +00:00
Rolf Eike Beer a2fda801cc tslib: initialize members in declaration
Change-Id: I887d0c82a4819712ea3d908df745516186aa76f0
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2019-03-27 15:37:12 +00:00
Rolf Eike Beer 958fa04327 tslib: use new connect syntax
Change-Id: I06bbd681fbb4bf809814de454c266f08976e0916
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2019-03-27 15:36:57 +00:00
Rolf Eike Beer 93466daf13 tslib: avoid deprecated overload
Change-Id: Iab0c25c38d62303986a1f5739cc48de15b35dea2
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2019-03-27 15:36:43 +00:00
Eirik Aavitsland e20f4d966e Fix stretched fonts with large pixel size
The Windows and Cocoa font engines ignored the stretch factor when
the pixel size is so large that QPainterPath rendering is used
instead of native.

Fixes: QTBUG-14315
Change-Id: I93390528ac264452b7d6af7d39f49f4b0dd56279
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2019-03-27 08:17:25 +00:00
Friedemann Kleint 7f635d9777 Merge remote-tracking branch 'origin/5.13' into dev
Change-Id: I38389a69411f4549fed432f1181dbe23398b34a2
2019-03-26 08:24:59 +01:00
Gatis Paeglis 4d11fc1d22 qxkbcommon: use QMAKE_USE instead of QMAKE_USE_PRIVATE
... because API from qxkbcommon_p.h includes xkbcommon headers.
When we use "QT += xkbcommon_support-private" in *.pro files, we
should not explicitly require "QMAKE_USE += xkbcommon" in those
projects.

Change-Id: I21049034ce93bee13a1107723f26498c221f8ea4
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-03-25 13:49:46 +00:00
Qt Forward Merge Bot 19510477b4 Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: Ie7f68dcd5650e0037b6c3313cc9ffdcd7c494fbe
2019-03-21 01:00:07 +01:00
Allan Sandfeld Jensen 24358aaf72 Handle when XVisuals lose the alpha channel of the FBConfig
Sometimes the XVisual for an FBConfig have no alpha data, and thus
won't work when an alpha channel is required.

Fixes: QTBUG-74578
Change-Id: Idf05cbfcaea5edf667035939e9bc5d5df2172eec
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2019-03-20 14:49:58 +00:00
Alexander Volkov 7c506150a5 Force font antialiasing with highdpi scaling
Fonts look ugly when they are drawn scaled without
antialiasing.

Change-Id: I64268db5b37d4bc763ffa23632aca2eaac5d8eae
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2019-03-20 10:16:50 +00:00
Marc Mutz 779f1ff9fa QEvdev: remove m_deviceDiscovery members
They were never referenced outside the classes' ctor and, worse,
remained uninitialized if the specification string contained devices.

Change-Id: I977a156acf10190428da00fe128fee70cff8f98d
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2019-06-13 08:48:26 +02:00
Marc Mutz f1404c0ed1 QEvdev: Extract Method parseSpecification()
All four manager classes contained roughly the same code in their
ctors that parsed out devices from a colon-separated string.

Extract shared code, and port the parsing to QStringRef (later to be
ported to QStringView).

Saves ~2.4KiB on optimized Linux GCC 9.1 AMD64 builds across all
.so's that link to libQtInputSupport.a.

Change-Id: I3db826ee2b422cfc02f8d49bd21985a03b6c0935
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2019-06-13 08:48:26 +02:00
Marc Mutz 3bc10fb9bb QEvdev: Replace manual memory management with unique_ptr
Make create() return, and m_mice/m_keyboards/etc store, handlers by unique_ptr.
In most cases, we can't use qt_make_unique(), since the ctor we're calling is
marked as private.

Since QHash can't hold move-only types, use a std::vector<{QString, unique_ptr}>
instead. As this pattern repeats in all four QEvdev*Manager classes, create a
small class template.

Saves almost 6KiB on optimized Linux AMD64 GCC 9.1 builds across all .so's that
link to QtInputSupport.a.

Change-Id: I8f62b6b629d6e1855314c0a4fb4fc069db9ae0ce
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-06-12 13:43:52 +02:00
Marc Mutz cbd5a2dcb8 AtSpiAdaptor: eradicate remaining Q_FOREACH loops
... and replace them by C++11 range-for loops.

Change-Id: I6975121f606ec1fcda7a624b02a68edf829bb70b
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2019-06-13 22:53:04 +02:00
Marc Mutz 3f5d27bfda QEvdev: Extract Method updateDeviceCount()
The code is noisy and repeats, so wrap it in a function.

Change-Id: I5e6e924e22b0bc631eb8176de96c49066b1c9029
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-06-11 23:30:05 +02:00
Andreas Hartmetz 486c55d743 constify, and micro-optimize not detaching
Change-Id: I08c3c35e27a2b5e816a1532d0bd7cc09459800ab
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2019-06-10 14:44:26 +02:00
Liang Qi b1a216649e Merge remote-tracking branch 'origin/5.13' into dev
Conflicts:
	qmake/generators/makefile.cpp
	qmake/generators/unix/unixmake2.cpp
	src/corelib/thread/qthread_unix.cpp
	tests/auto/corelib/tools/qsharedpointer/tst_qsharedpointer.cpp

Change-Id: I1df0d4ba20685de7f9300bf07458c13376493408
2019-06-14 13:45:18 +02:00
Marc Mutz 0ad5e16268 QEvdev: use printf-style qCDebug()/qWarning()
Also use qUtf16Printable() and qErrnoWarning (removing explicit errno, where
present).

Saves 6.6KiB in text size on optimized Linux AMD64 GCC 9.1 build across
all .so's that link to QtInputSupport.a.

Change-Id: I1def2cfabd2eed65390099cd1d06f8061a9355be
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2019-06-11 21:38:47 +00:00
Alexandru Croitor a9af99c926 Add windows platform plugin and its requirements
- executed pro2cmake script on windows qpa plugin
- added windowsuiautomation platformsupport project
- fixed plugin dlls and lib files to be written to the same path
- fixed an issue comErrorString which used implicit casting
  from QString to char*, but plugins are currently built
  with QT_NO_CAST_TO_ASCII

Task-number: QTBUG-74140
Change-Id: I5db3b6c5264bbd5dfba2998b049fda36eb312c70
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-03-18 15:35:07 +00:00
Alexandru Croitor 3f03917b54 Fix Windows build
- Fix qmake build
- Fix QtNetwork moc-ing, by including the moc files
  inside the cpp files
- Fix sql odbc plugin by including QT_PLUGIN define
- Fix Boostrap to link against the Platform target, to get the
  correct Unicode and WIN64 defines.
- Fix vulkan headers to be found
- Fix freetype bzip and png unresolved symbols / linker issues
  when building minimal platform plugin (also need to make
  sure to use the vcpkg toolchain instead of CMAKE_PREFIX_PATH
  because then find_package is overridden, which does magic
  to properly propagate static library dependencies).
- Fix qfilesystementry test not to be built without private
  tests feature (it led to undefined symbols issues).
- Make sure to remove QT_NO_CAST_TO_ASCII define when building
  QtCore, so that the qstringbuilder3 test builds
  successfully.

Task-number: QTBUG-74140
Change-Id: I353d08392b604d55f8e62cdd8696d1e19a3c084a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-03-18 15:34:52 +00:00
Kevin Funk 41e7b71c41 More nullptr usage in headers
Diff generated by running clang-tidy's modernize-use-nullptr checker on
the CMake-based Qt version.

Skipping src/3rdparty, examples/, tests/

Change-Id: Ib182074e2e2fd52f63093f73b3e2e4c0cb7af188
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-03-14 07:37:52 +00:00
Qt Forward Merge Bot 261c0dedac Merge remote-tracking branch 'origin/5.13' into dev
Change-Id: I056b658ffe9390dfcbe2787e2bddc7f4e9b389dd
2019-03-09 01:00:55 +01:00
Liang Qi 32c59d6856 cmake: fix cocoa and graphics on macOS
Change-Id: Ia956c74a54874f91cc0ea8e5105164de88890ff2
Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-03-06 13:18:20 +00:00
Liang Qi 2add2dbdaa Merge remote-tracking branch 'origin/5.12' into 5.13
Conflicts:
	src/network/access/http2/hpacktable_p.h

Change-Id: Ie0c296667dfdebba84f4858056a1ac80c24ee7df
2019-03-06 12:31:50 +01:00
Thiago Macieira f5cbd61f92 XDG Portal: quick optimization to avoid dup/close of a file descriptor
Just gift it to QDBusUnixFileDescriptor.

Change-Id: Ifa822ecdaaa241968ed7fffd158799041653cf78
Reviewed-by: Jan Grulich <jgrulich@redhat.com>
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
2019-03-05 17:59:02 +00:00
Thiago Macieira 1bd3c17c46 XDG Portal: allow the portal not to be running
For some reason, it may be missing with SNAP.

Fixes: QTBUG-74112
Change-Id: Ifa822ecdaaa241968ed7fffd1587966cbd30dcbd
Reviewed-by: Jan Grulich <jgrulich@redhat.com>
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
2019-03-05 17:58:52 +00:00
Christian Ehrlicher f8f592d5c2 QString: mark obsolete functions as deprecated
Mark obsolete functions in QString as deprecated so they can be removed
with Qt6:
 - QString::sprintf()
 - QString::vsprintf()

Change-Id: I9b7748db95291c34b95ff3ad3e3aabc8215aeaae
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2019-03-04 16:54:04 +00:00
Qt Forward Merge Bot 84e15d6f48 Merge remote-tracking branch 'origin/5.13' into dev
Change-Id: Ic0037eac1d85a0e60e7b1a590d49b5ee6205bfc8
2019-03-03 01:00:25 +01:00
Gatis Paeglis 2065bc070d platforminputcontexts: use libxkbcommon compose key API
Our implementation of compose table parser was added on Mar, 2013.
libxkbcommon added APIs for the same thing in Oct, 2014 (ver: 0.5.0).
After removing RHEL 6.6 from the list of supported platforms we were
able to move the minimal required libxkbcommon version to 0.5.0. Now
we can use the xkbcommon-compose APIs on all supported platforms.

With this patch we can drop nearly 1000 lines of maintenance burden.
This patch fixes user reported issues with our implementation.

Known issues:

- Testing revealed that xkbcommon-compose does not support non-utf8 locales,
and that is by design - https://github.com/xkbcommon/libxkbcommon/issues/76
Our implementation did work for those locales too, but it is unclear
if anyone actually uses non-utf8 locales. It is a corner case (work-arounds
existing) and likely a configuration error on the users' system.

- Looking at the release notes for versions above 0.6.1, only one issue
that stands out. Compose input does not work on system with tr_TR.UTF-8
locale, fixed in 0.7.1. Compose input works fine when using e.g. en_US.UTF-8
locale with Turkish keyboard layout.

Note:

With Qt 5.13 we have removed Ubuntu 16.04 and openSUSE 42.3 from CI:

Ubuntu 16.04  - 0.5.0
openSUSE 42.3 - 0.6.1

CI for Qt 5.13 has:

Ubuntu 18.04  - 0.8.0
RHEL-7.4      - 0.7.1
openSUSE 15.0 - 0.8.1

Currently the minimal required libxkbcommon version in src/gui/configure.json
is set to 0.5.0, but we could bump it to 0.7.1 to avoid known issues from above,
but that is a decision for a separate patch.

[ChangeLog][plugins][platforminputcontexts] Now using libxkbcommon-compose
APIs for compose key input, instead of Qt's own implementation.

Fixes: QTBUG-42181
Fixes: QTBUG-53663
Fixes: QTBUG-48657
Change-Id: I79aafe2bc601293844066e7e5f5eddd3719c6bba
Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
2019-03-01 14:31:37 +00:00
Gatis Paeglis a34e81ab8b platformsupport/input: add xkbcommon utilities lib
xcb/eglfs/wayland - all use XKB keyboard configs and APIs. There
is a lot of duplicated and naturally a diverging code. This patch
adds a helper library to avoid all the mentioned problems and unify
feature set between these platforms.

qlibinputkeyboard:

Added a fixup for 2803cdf758. From
spec: "keysyms, when bound to modifiers, affect the rules [..]",
meaning we can't look at keys in isolation, but have to check if
bounding exists in the keymap. This is done by using
xkb_state_mod_name_is_active() API, but that API has its limitations -
https://github.com/xkbcommon/libxkbcommon/issues/88
I will fix this separately in the LTS (5.12) branch.

We need to read the modifier state before the key action. This
patch fixes a regression introduced by aforementioned patch, which
caused modifiers being reported wrongly in QKeyEvent::modifiers().

qtwayland:

Moved toKeysym(QKeyEvent) from qtwayland repository into this library.
For this and other key mapping functionality wayland was duplicating
the key table. All of that will be removed from qtwayland, and calls
will be replaced to use this lib. Adjusted toKeysym() to fix QTBUG-71301.
Qt keys don't map to ASCII codes, so first we need search in our key
table, instead of mapping from unicode.

lookupStringNoKeysymTransformations():

fixed off-by-one error, where we were including terminating NUL in
QString.

Fixes: QTBUG-71301
Task-number: QTBUG-65503
Change-Id: Idfddea5b34ad620235dc08c0b9e5a0669111821a
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
2019-03-01 14:31:28 +00:00
Qt Forward Merge Bot c6fc2bc3e2 Merge remote-tracking branch 'origin/5.13' into dev
Change-Id: I14eaabe98845445a9ea5266872cc1797786cfe04
2019-02-27 01:00:45 +01:00
JiDe Zhang c93670c5a0 QGenericUnixTheme: use QStandardPaths get the xdg data path
The corresponding interface is already provided in QStandardPaths.
We should use QStandardPaths::GenericDataLocation instead of the
environment variable XDG_DATA_DIRS.

Change-Id: I0e89e8c86d629585ec7d9a12989f24335aa6e3ba
Reviewed-by: Anton Kudryavtsev <antkudr@mail.ru>
Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: David Faure <david.faure@kdab.com>
2019-02-25 20:12:59 +00:00
Robert Loehning 85b0ce8ca3 Fix can not -> cannot
Change-Id: Ie9992f67ca59aff662a4be046ace08640e7c2714
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2019-02-25 13:03:45 +00:00
Liang Qi c0359bd3c3 Merge remote-tracking branch 'origin/5.13' into dev
Conflicts:
	src/corelib/global/qfloat16.cpp
	src/corelib/global/qfloat16.h
	src/plugins/platforms/windows/qwindowswindow.cpp

Change-Id: I0938aaa6a9771f55e48c95ed29f6f5291431b947
2019-05-15 07:11:41 +02:00
Giuseppe D'Angelo 9108a5b005 GLX convenience: fix typo
The code meant to extract GLX_SAMPLE_BUFFERS_ARB, not GLX_SAMPLES_ARB,
which is read a few lines below.

Change-Id: Id50a1863cab56ed6084d4a2359a956a9db1222fa
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2019-05-13 22:05:11 +00:00
Liang Qi 388fe97f2a Merge remote-tracking branch 'origin/5.13' into dev
Conflicts:
	src/corelib/tools/qstring.cpp

Change-Id: I81dbf90fc936c9bf08197baefa071117bddb1c63
2019-05-13 08:04:58 +02:00
Joerg Bornemann ce1830fd21 Migrate Windows system libs to external dependencies
Started-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Change-Id: I211ce3252b836894aeeac1c85eb316d9596bca57
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2019-05-08 08:30:02 +00:00
Liang Qi c2b553784d Merge remote-tracking branch 'origin/5.13' into dev
Conflicts:
	src/corelib/kernel/qobject.cpp
	src/corelib/kernel/qvariant.h
	src/corelib/tools/qlist.h

Done-With: Milian Wolff <milian.wolff@kdab.com>
Done-With: Allan Sandfeld Jensen <allan.jensen@qt.io>
Change-Id: I6803f7239aa137a51a7467fab7cc7a01302a848d
2019-05-07 11:58:30 +02:00
Lars Knoll 343528841e Prefix textstream operators with Qt::
As the non prefixed variants are deprecated

Change-Id: I2ba09d71b9cea5203b54297a3f2332e6d44fedcf
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-05-02 11:52:02 +00:00
Qt Forward Merge Bot 03f7d0a005 Merge remote-tracking branch 'origin/5.13' into dev
Change-Id: I1c9449ab064deed1367a7e5dbedfcb489f28140e
2019-04-27 01:00:11 +02:00
Johan Klokkhammer Helsing b21b07877a Add a QVkConvenience class with vkFormatFromGlFormat
Converts from OpenGL formats to Vulkan formats.

There are commented out lines for the formats in QOpenGLTexture::TextureFormat
for which it was hard to find an unambiguous mapping to vkFormat.

Task-number: QTBUG-75108
Change-Id: I06a7fd8df7d98cef314410ffd79ca9cff6599357
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2019-04-24 11:40:51 +00:00
Liang Qi dc37318684 Merge remote-tracking branch 'origin/5.13' into dev
Conflicts:
	src/gui/util/qshaderformat.cpp
	src/gui/util/qshaderformat_p.h
	src/widgets/graphicsview/qgraphicsitem_p.h

Change-Id: Idafd88eb9a0a15b4af29f6143d009c1ec8ceecca
2019-04-24 09:52:30 +02:00
Alexander Kanavin 7d646508c8 libinput: add support for LIBINPUT_EVENT_POINTER_MOTION_ABSOLUTE
This is required to get Qt EGLFS in qemu working, as qemu mouse
device issues only absolute mouse events.

Fixes: QTBUG-69172
Change-Id: Ia9985dc01d7871fdcd856c14160d54d3ce684396
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
2019-04-23 06:24:48 +00:00