Commit Graph

28749 Commits

Author SHA1 Message Date
Fredrik de Vibe
2f4ce3b778 Removed needless null check.
The pointer 'receiver' has already been checked and dereferenced at this
point, so a static_cast will not turn it into a null pointer, hence the
check is not needed.

This was caught by Coverity, CID 159389.

Change-Id: I1772110e968c2216dc71d406ddb157b1ae930cb0
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2016-06-30 19:35:39 +00:00
Andy Nichols
6bdc549abe Remove unused function loadIntegration from EGLFS
There was a leftover function for loading EGLFS device integrations
from the time before device integrations were plugins.

Change-Id: I88606d14f773f4cf9f68e0341044e8281ed86442
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2016-06-30 10:53:56 +00:00
Błażej Szczygieł
e2665600c0 xcb: Send expose event while shrinking windows
Send synthesized expose event while shrinking the QWindow. This fixes
the regression which can break some applications which need the paint
events while shrinking the QWindow.

Added auto test.

Task-number: QTBUG-54040
Change-Id: Iaa992abba67f428237fa12c6cae56592b8fcadb0
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
Reviewed-by: Louai Al-Khanji <louai.al-khanji@qt.io>
2016-06-30 06:51:48 +00:00
Milla Pohjanheimo
699f9ecc20 Blacklisting a flaky imageAt() autotest on RHEL 7.2
tst_QAbstractTextDocumentLayout::imageAt() is flaky and is blacklisted

Task-number: QTBUG-53648
Change-Id: Ia9b0c8934a82d7518ff9d9e1538d995ab73feedb
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2016-06-30 06:33:58 +00:00
Anton Kudryavtsev
25f040820c QAbstractItemView: avoid search through QIndexEditorHash
Search's implicit cast (QModelIndex to QPersistentModelIndex) is slow.
Use cheap pre-test to avoid when we can.

Use method from 1d859ef805

Change-Id: Ic3d06869de717963bad6357abb99f3e025642078
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2016-06-30 04:57:16 +00:00
Andy Nichols
bd03048aa6 Fix VNC platform plugin building on i386
There was some leftover code that used qt_conv16ToRgb from Qt 4.

Change-Id: If34df00c828ae749d59824ad055e0e82928af9a8
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2016-06-29 15:00:17 +00:00
Anton Kudryavtsev
5c9e393117 QString: add some missing overloaded operator+
to keep compatibility with and without
using QT_USE_QSTRINGBUILDER.

Change-Id: If8218fe0693cdb7ad1250beb272e0e7c356bbf4a
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2016-06-29 14:58:25 +00:00
Liang Qi
592da13664 Merge "Merge remote-tracking branch 'origin/5.6' into 5.7" into refs/staging/5.7 2016-06-29 12:50:54 +00:00
Liang Qi
f27d8b9f57 Merge remote-tracking branch 'origin/5.6' into 5.7
Change-Id: If6ba05867e7c98159e1b94ff71923e8b36bdbccb
2016-06-29 10:10:22 +02:00
Anton Kudryavtsev
b9b3bff424 QAbstractItemView: use erase and std::remove_if with QList
... instead of using erase() in a loop, with quadratic complexity.

Change-Id: Id9c70a0d1d27b5057e5bf64c315bd66cbcd67330
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-06-29 07:51:20 +00:00
Oswald Buddenhagen
d0e4f28dea pass pkg-config environment to qmake invocations
qmake tries to use pkg-config when the config.test contains PKG_CONFIG,
which will of course fail without the sysrooted env vars. and unlike in
the old configure, these don't become automatically available by virtue
of the script simply exporting them.

longer-term, the test programs shouldn't mention pkg-config deps
explicitly, as these are redundant with what is specified in the JSON
file. relevant changes are already pending.

Task-number: QTBUG-54403
Change-Id: Ie9d3bbb2e4febffde5fd122d7d0a8b70b8679fcc
Reviewed-by: Liang Qi <liang.qi@qt.io>
2016-06-28 18:23:42 +00:00
Oswald Buddenhagen
16203353d0 beautify generated spacing
don't have extra spaces in the pkg-config calls when no environment
variables are injected.

Change-Id: Ieb14f775b2a04726e8f62114b69d9be7fa662eb0
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-06-28 18:23:39 +00:00
Oswald Buddenhagen
0c382efc79 use globally available constants
configure_base.prf gained them in a bugfix in 5.6.

Change-Id: I7763b3dcdfbcc6cfb0392ddc4b6556f926395111
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-06-28 18:23:34 +00:00
James McDonnell
0d720a000f Improve SQLite3 configuration test
Reference an SQLite3 function to verify that the library is being
linked.  Discovered that the test didn't do this when I switched the
Windows configure to use a compile test to determine whether the
system has SQLite3.  The test passed even though the initial
configure changes failed to provide the test with information about
the SQLite3 libraries.

Change-Id: I3114cfc2dec3a42a60c8e1e432eb8375b440d7e0
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-06-28 14:36:01 +00:00
Friedemann Kleint
0dc5d8e6c9 Fix some qdoc-warnings for Qt 5.8.
qtbase/src/corelib/tools/qstring.cpp:8341: warning: Unknown command '\length'
qtbase/src/corelib/tools/qstring.cpp:8354: warning: Unknown command '\length'
qtbase/src/corelib/tools/qstring.cpp:8366: warning: Unknown command '\length'
qtbase/src/corelib/doc/src/animation.qdoc:38: warning: Can't link to 'QAbstractAnimation::updateCurrentValue()'
qtbase/src/corelib/io/qdatastream.cpp:529: warning: Undocumented enum item 'Qt_5_8' in QDataStream::Version
qtbase/src/corelib/tools/qdatetime.cpp:4377: warning: No documentation for 'QDateTime::currentSecsSinceEpoch()'
qtbase/src/corelib/tools/qcommandlineoption.cpp:435: warning: Undocumented parameter 'flags' in QCommandLineOption::setFlags()
qtbase/src/network/ssl/qsslconfiguration.cpp:857: warning: Undocumented parameter 'dhparams' in QSslConfiguration::setDiffieHellmanParameters()
qtbase/src/network/ssl/qsslconfiguration.cpp:830: warning: Undocumented parameter 'hint' in QSslConfiguration::setPreSharedKeyIdentityHint()
qtbase/src/network/ssl/qssldiffiehellmanparameters.cpp:225: warning: No such enum item 'ErrorUnsafeParameters' in QSslDiffieHellmanParameters::Error
qtbase/src/network/ssl/qssldiffiehellmanparameters.cpp:225: warning: No such enum item 'ErrorInvalidInputData' in QSslDiffieHellmanParameters::Error
qtbase/src/network/ssl/qssldiffiehellmanparameters.cpp:225: warning: Undocumented enum item 'UnsafeParametersError' in QSslDiffieHellmanParameters::Error
qtbase/src/network/ssl/qssldiffiehellmanparameters.cpp:225: warning: Undocumented enum item 'NoError' in QSslDiffieHellmanParameters::Error
qtbase/src/network/ssl/qssldiffiehellmanparameters.cpp:225: warning: Undocumented enum item 'InvalidInputDataError' in QSslDiffieHellmanParameters::Error
qtbase/src/network/ssl/qssldiffiehellmanparameters.cpp:105: warning: Undocumented parameter 'encoding' in QSslDiffieHellmanParameters::QSslDiffieHellmanParameters()
qtbase/src/network/ssl/qssldiffiehellmanparameters.cpp:129: warning: Undocumented parameter 'encoding' in QSslDiffieHellmanParameters::QSslDiffieHellmanParameters()
qtbase/src/network/ssl/qssldiffiehellmanparameters.cpp:208: warning: Can't link to 'clear()'
qtbase/src/network/ssl/qssldiffiehellmanparameters.cpp:277: warning: Undocumented parameter 'dhparam' in operator<<()
qtbase/src/network/ssl/qssldiffiehellmanparameters.cpp:277: warning: No such parameter 'dhparm' in operator<<()
qtbase/src/widgets/kernel/qapplication.cpp:999: warning: Cannot find 'QApplication::autoMaximizeThreshold' specified with '\property' in any header file

Change-Id: I4ac00f0fc0dbc4d421cf7c0273635d9681962645
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
2016-06-28 13:27:46 +00:00
Andy Nichols
be9a49b916 SQL TDS fix missing override keyword
Plugin failed to build with clang due to missing Q_DECL_OVERRIDE

Change-Id: Idad54f3f0ea7403c388b39189d86cfab10f9fb04
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2016-06-28 13:05:17 +00:00
Oswald Buddenhagen
a8c98dcb89 fix default inc/lib path detection on msys
using the Makefile target separator to determine the host system is of
course not a terribly good idea. the correct variable to query would be
DIR_SEPARATOR, which always reflects the host. however, a direct os
query is less obscure in this case.

Task-number: QTBUG-54346
Change-Id: I6bc1372a7c9a84a241a97f9f767f046b026411c3
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2016-06-28 10:41:44 +00:00
Andy Nichols
1d9a319199 Limit the number of targets the VNC platform plugin is be built for
The VNC platform plugin is a port from the 4.8 code, which only
supported embedded Linux.  Right now that is the only platform this is
tested with so unless there is a need for other platforms to be hosting
applications over VNC we should limit it to only being built on unix
platforms that are not Android, or Darwin.

Change-Id: I49407669ee8ca6e9e3ed95b5bb350c7730839cf8
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2016-06-28 10:18:45 +00:00
Andy Nichols
8d67ce3c6f Cleanup VNC platform plugins debug messages
There were many development debug statements still intact, so now they
have been removed.  Some Debug messages were turned into Warnings when
it makes sense to warn the end user of something.  The rest of the
useful debug messages were converted to be in the qt.qpa.vnc logging
catagory.

Change-Id: I8e9525f02794ab5eccd4c8fcbc2b1f7c9c25b482
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2016-06-28 10:18:41 +00:00
Andy Nichols
adf6bd931f Add plugin arguments to VNC plugin
It is now possible to specify a port number to run the VNC server on, as
well as the screen properties:
Logical Size
Physical Size
Depth

Change-Id: I79b38c6e37ad5abb5e158eca9a17d7e8a86e692f
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2016-06-28 10:18:38 +00:00
Andy Nichols
2cf3696d9f Support multiple connected clients in the VNC plugin
Previously it was only possible for one client to connect at a time.
Now it is possible for multiple clients to connect to the VNC server and
view and interact with the application.

Change-Id: I886583a3abea2955367bf2da490127b041b5c5fb
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2016-06-28 10:18:34 +00:00
Lars Knoll
2204e9a7c4 Enable compilation of the VNC QPA plugin
Change-Id: I15e63638efbb613357f07015fee1955782970a6c
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2016-06-28 10:18:30 +00:00
Lars Knoll
1f1b773a35 Support for client side cursors in the VNC plugin
Client side cursors are a major performance optimization,
avoiding the need to transmit images to the client
just because the cursor has moved.

Change-Id: Icdf4ff948571d39d82c86d251bca46390889d02f
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2016-06-28 10:18:27 +00:00
Lars Knoll
ef4db5a347 cleanups in the VNC plugin
Change-Id: Iac930d3c7036b285ff5003691bfecf6071795d54
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2016-06-28 10:18:23 +00:00
Lars Knoll
a1dbf346e6 Support showing the mouse cursor in the VNC plugin
Change-Id: I380e36b3a814db7ba779d998260d1a75d1d20e0c
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2016-06-28 10:18:19 +00:00
Lars Knoll
53f7e565db Implement support for key events in the VNC plugin
Make sure we receive key events from the VNC client and
forward them to the app through the QPA interface.

Change-Id: I8d44d614670ec753e35ff36fa3ef2d74b07f4bbc
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2016-06-28 10:18:15 +00:00
Lars Knoll
1955da90a0 Properly forward mouse events to the VNC client
Change-Id: I3cee27bab4cd81079adedf3968ac4dfebf43aa11
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2016-06-28 10:18:12 +00:00
Lars Knoll
6d70e543aa Initial work on a VNC QPA plugin
The basics work and the VNC client is showing pixels

Change-Id: Ie31efce2f31dd5f57af209dcc9c8f9aace730afd
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2016-06-28 10:18:08 +00:00
Friedemann Kleint
05aedf4e1d Windows QPA: Restrict expose workaround to non-Aero themes.
The workaround may cause flicker, so only use it when necessary.

Task-number: QTBUG-7865
Change-Id: I813aa0669727303bc947a85a8893a90f29d3ff24
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2016-06-28 08:31:19 +00:00
Laszlo Agocs
2a7cee47e5 Avoid artifacts when hiding or closing a QOpenGLWidget or QQuickWidget child
windows and xcb enables SwitchableWidgetComposition meaning that widget
backing stores will fall back to the normal flush path when no render-to-texture
widgets are visible anymore in the window. This switch however can lead to
artifacts with the image of the rtt widget remaining visible until the next
full bacinkgstore sync. The safe and simple way around this is to do the
switch only in the next flush, keeping the flush where the switch is
discovered on the OpenGL-based composition path still.

Task-number: QTBUG-54241
Change-Id: I1d3f10999f69c58efa791dd724891add56949dee
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
2016-06-28 06:48:39 +00:00
Ralf Nolden
fe9ca6ede8 NetBSD: enable detection of posix_fallocate()
posix_fallocate() is declared in unistd.h on NetBSD. Add the include
for proper detection on NetBSD 7.0 and up.

See http://netbsd.gw.com/cgi-bin/man-cgi?posix_fallocate++NetBSD-current

As that is violating the POSIX standards, a PR was opened at NetBSD
under http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=51287
for further tracking of the issue.

Change-Id: I40ec320677eef37bbc39f58e0bbac34f8cf7b8da
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-06-28 05:49:24 +00:00
Ralf Nolden
b3b2f502e9 NetBSD: use paccept() where accept4() is used
Where accept4() is used, NetBSD offers paccept() as a replacement function.
Modify check for using accept4() and use paccept() on NetBSD.

See http://netbsd.gw.com/cgi-bin/man-cgi?paccept++NetBSD-current
and http://reviews.llvm.org/D12485

Change-Id: I9b3ecba5f3afad6c357d3f7b8f89589bf313e273
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-06-28 05:49:18 +00:00
Ralf Nolden
1a96295755 Libpng config.tests: use pkg-config when available
Add pkg-config to the libpng usages as not all systems have the
symlink libpng.so -> libpng<version>.so (affected: NetBSD) that changes
with the version of the lib. If no-pkg-config is used, use -lpng as
before. Tested with FreeBSD 10.3, NetBSD 7.0.1 using png 1.6.21

Change-Id: I5c87f380c84da3d5c56c94da53adb900791c8caa
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-06-27 18:45:29 +00:00
Allan Sandfeld Jensen
29ac40d6cd Correct framework config options to remain as they used to
Commit 90eee08b3e changed how framework
config was defined, subtlely breaking Qt framework builds.

Task-number: QTBUG-54361
Change-Id: Ie7670d900d9eb4c2adb52ca1cd0f60f22acf8b81
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-06-27 14:39:22 +00:00
J-P Nurmi
2f7e940e83 QGtk3FileDialogHelper: respect QFileDialogOptions::ReadOnly
Change-Id: I982dd10632760fe91b89ade30d79f97f27d17dcd
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
2016-06-27 09:10:03 +00:00
Olivier Goffart
0c44f26fae QDockWidget: fix floating group tab window not having the right title
Before, we were relying on the ZOrderChange event to update the
windows title or other flags of a floating tab window when tabs
are changed. But this did not catch all the cases. For example,
the first tab switch, or when tabs are dragged out.

Task-number: QTBUG-53754
Task-number: QTBUG-52107
Change-Id: I1523ce85ceaa95f044bd81f8ccbac0a86978fb33
Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
2016-06-25 11:46:51 +00:00
Thiago Macieira
59c3670b63 Make sure all private headers in Qt Core include qglobal_p.h
The rule was:
 - if the header included qglobal.h, turn that into qglobal_p.h
 - otherwise, insert the #include after the "We mean it" warning

qglobal_p.h currently only includes qglobal.h.

Change-Id: Ib056b47dde3341ef9a52ffff13ef677e471674b7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-06-25 08:01:04 +00:00
Timur Pocheptsov
72adb7f00c tst_qsslsocket::protocolServerSide - try to fix failing ssl3-* *-ssl3
Test is strangely failing on Ubuntu 16.04 with OpenSSL 1.0.2g-fips.

Change-Id: I1498dee4c1d6db0702da3d3689787aed1e3a633f
Reviewed-by: Richard J. Moore <rich@kde.org>
2016-06-24 18:29:48 +00:00
Aleksei Ilin
96f3e35859 Add signal QMainWindow::tabifiedDockWidgetActivated
Task-number: QTBUG-52175
Change-Id: I0d133e9fee1a0d7a7e06b1156c868471c2b3c29f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-06-24 13:26:00 +00:00
Lars Knoll
c801550431 Fix detection of LLVM version on macOS
Change-Id: I6b428ee0f89ed2b49f3698f2bf0cf53806ffdda9
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-06-24 12:29:13 +00:00
Lars Knoll
921df719dc Correctly set simulator_and_device in ios builds
A small logic error that sneaked in during the porting of configure.
We actually want simulator_and_device to be set if input.sdk is
empty, not the other way round.

Change-Id: I8f729fbc48617618f981c70887bd4400e0b2a0c3
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-06-24 12:29:07 +00:00
Olivier Goffart
ac9899b4cb mainwindow example: fix creating custom QDockWidget
The signal was connected to the wrong slot.
Regressed in 2fe56e37ed.

Change-Id: I33135fc79c3585dfbe0f6ebc04f819e919ed9ed7
Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
2016-06-24 10:57:56 +00:00
Topi Reinio
dc283936b0 Doc: Remove obsolete QtWebKit entries from the example metadata
Change-Id: I60caf454ae7e5f6e0c0bd2c2eb1934bc0f7e3fba
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2016-06-24 07:36:59 +00:00
Anton Kudryavtsev
b6cf041867 Widgets: use QStringRef to optimize memory allocation
Replace substring functions that return QString with
corresponding functions that return QStringRef where
it's possible.

Create QString from QStringRef only where necessary.

Change-Id: I728c4338135f83d9cdff4d1ee1aed77f95d453b8
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-06-24 07:29:03 +00:00
Liang Qi
06f55f0695 Merge "Merge remote-tracking branch 'origin/5.7' into dev" into refs/staging/dev 2016-06-23 20:09:58 +00:00
Lars Knoll
fa23682630 Clean up some unused variables in the qmake.conf files
Change-Id: I04cdcc514b851ad529ad62883fda850159447505
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-06-23 19:43:04 +00:00
Oswald Buddenhagen
17519feadd don't override user-provided dependencies for our extra compilers
while the names of the compilers are actually an undocumented internal,
we don't provide an actually working proper way to sequence extra
compiler execution with build-time generated inputs when they are
indirectly listed (as via .qrc files).

Task-number: QTBUG-54299
Change-Id: I269c26512897b72706dc8b769aa47e8157c2a5c5
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-06-23 13:25:22 +00:00
Liang Qi
dd90af1221 Merge remote-tracking branch 'origin/5.7' into dev
Conflicts:
	mkspecs/common/mac.conf
	mkspecs/features/configure_base.prf
	mkspecs/features/configure.prf
	mkspecs/macx-clang-32/qmake.conf
	mkspecs/macx-clang/qmake.conf
	mkspecs/macx-ios-clang/qmake.conf
	src/network/ssl/qsslsocket_openssl_symbols_p.h

Change-Id: I768b592e8e589662b1fdb9b8cbd633fef26845b6
2016-06-23 14:24:55 +02:00
Liang Qi
5cfb80a28e Merge remote-tracking branch 'origin/5.6' into 5.7
Conflicts:
	src/angle/src/libGLESv2/libGLESv2.pro
	src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldeviceintegration.cpp

Change-Id: If8da4cfe8f57fea9f78e7239f378a6302c01674e
2016-06-23 10:29:37 +02:00
Gunnar Sletta
8fa40b3b37 Add -no-opengles3 to configure to avoid QT_OPENGL_ES_3 define.
This can be helpful for packaging and when one wants to limit the
features to ES 2.0 to ensure the same code is used on both build
machine and deployment machine. It also prevents inclusion of
GLES3/gl3.h. Windows configure.exe doesn't do auto detection of
GLES3 so it does not get the additional option.

Change-Id: I8750b41635e41bd0ac41d9d59d93570f7d2196e6
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2016-06-23 07:51:24 +00:00