Commit Graph

30561 Commits

Author SHA1 Message Date
Ulf Hermann
141be52f2f Merge the two features for shared memory
Change-Id: Ic7bd27b289b755c801e3c510c44b2afe9a253bd8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2016-12-06 17:03:26 +00:00
Allan Sandfeld Jensen
506aa694a9 Cleanup convert_ARGB_to_ARGB_PM_inplace_sse2
Changes it to follow standard SIMD patterns so it can use
ALIGNMENT_PROLOGUE_16BYTES and SIMD_EPILOGUE helpers.

Should also improve performance by using aligned memory access.

Change-Id: I14a48b82e3f3de83bd7572aa82bed07f28ad944c
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
2016-12-06 16:16:53 +00:00
Sergio Martins
0382bb2ab8 Fix crash when dragging a tab off QDockWidgetGroupWindow
Crashes later in QMainWindowLayout::hover()

Change-Id: Ibf1085ebfa7b0edcbd1662b0300550788b7f9c33
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-12-06 15:34:53 +00:00
Jesus Fernandez
3c4febf557 Fix using 0 as null pointer
Fixes: error: zero as null pointer constant.

Change-Id: I850d51075263dac6dd135d3cadc136cbd08b40ab
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-12-06 15:32:26 +00:00
Kevin Funk
6ff4d8c61a QTest::addColumn: Use nullptr instead of 0
Fixes -Wzero-as-null-pointer-constant warning in user code

Change-Id: I59492633d14947e90e91efa7c4fcd14c33fa413e
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-12-06 15:32:00 +00:00
Oliver Wolff
14ea8759da winrt: Change the way tcp packets are handled
Similar to the way datagrams are handled for udp sockets the worker now
takes care of tcp data. Thus we avoid race conditions which stopped data
processing. It could happen that data was read from the socket into the
buffer and before readyRead was emitted the buffer was completely read.
In this case readNotification is set to false and no new data is processed
afterwards.

Additionally the buffer was replaced by a vector of QByteArray. The buffer
kept growing and was never cleared (and there is no obvious way for
clearing the buffer), so that an overflow happened eventually.

pendingReadOperations (and its mutex) could be removed as well. There is
only one situation where they could clash and that's the initial read.
Having two members is preferred over having a list of operations and a
mutex.

Task-number: QTBUG-56438
Change-Id: Idbad58e47785996023748c310530892163f24594
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
2016-12-06 07:59:39 +00:00
Timur Pocheptsov
4f959b6b30 ~QHttpNetworkConnectionPrivate - disconnect from socket's signals
We have a 'channel' object connected to a socket with Qt::DirectConnection.
QHttpNetworkConnectionPrivate in its dtor (note, it's a private object destroyed
after its 'q' - QHttpNetworkConnection - was destroyed) calls socket->close()
and this can end up in socket setting an error and emitting (for example, in
QSslSocket::transmit). The slot (QHttpNetworkConnectionChannel::_q_error) will
access the now-dead/non-existing connection then. So disconnect the channel
from the socket early, before closing the socket.

Task-number: QTBUG-54167
Change-Id: I3ed4ba4b00650c3a39e5c1f33aa786e47bfbbc57
Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-12-06 05:54:32 +00:00
Friedemann Kleint
82a6f38873 tst_qsqlquery.cpp: Refactor runIntegralTypesMysqlTest()
Change 3370ab9119 introduced
warnings from MSVC:

tst_qsqlquery.cpp(4005): warning C4805: '==': unsafe mix of type 'const bool' and type 'int' in operation
tst_qsqlquery.cpp(4059): note: see reference to function template instantiation 'void runIntegralTypesMysqlTest<bool>(QSqlDatabase &,const QString &,const QString &,const bool,const T,const T)' being compiled
        with      [           T=bool       ]
tst_qsqlquery.cpp(4006): warning C4805: '==': unsafe mix of type 'const bool' and type 'int' in operation
tst_qsqlquery.cpp(4006): warning C4804: '/': unsafe use of type 'bool' in operation
tst_qsqlquery.cpp(4026): warning C4804: '+=': unsafe use of type 'bool' in operation

Extract an overload taking a QVector of values and use that for the
bool case instead of looping over min/max to generate a sequence of values
for bool.

Change-Id: I72583774e788b8df899f22ed1a64278217e664f6
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
2016-12-05 12:06:39 +00:00
Thiago Macieira
6ae9dc3f37 Work around ICC compiler bug on template instantiation on ?:
It doesn't like the access to the template instantiation in the ternary
operator.

 error: operand types are incompatible ("FetchPixelFunc" and "<unnamed>")

Intel-Issue-ID: 6000164201
Change-Id: I73fa1e59a4844c43a109fffd148ca452796eebb1
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-12-04 07:26:29 +00:00
Thiago Macieira
32a7efe225 Fix the warning number for ICC deprecated warnings
That's what happens when you don't test and just rely on an the warning
listing. ICC has two warning numbers for deprecated warnings: one that
matches Q_DECL_DEPRECATED and one for Q_DECL_DEPRECATED_X.

Change-Id: I73fa1e59a4844c43a109fffd148ca7a05eda8f13
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-12-04 07:26:13 +00:00
Topi Reinio
1658bcb104 qdoc: Ignore Q_ALWAYS_INLINE and QT_HAS_INCLUDE()
Number of API changes in Qt 5.8 use these macros and QDoc needs to
ignore them the correctly match the documentation to the function
signatures.

Task-number: QTBUG-57424
Change-Id: I0c3a0eb4deb2d9b348f24800591bc6f6b47cf458
Reviewed-by: Martin Smith <martin.smith@qt.io>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-12-04 07:26:02 +00:00
Allan Sandfeld Jensen
e3b6f6d165 Fix blending of RGB32 on RGB32 with partial opacity
The alpha channel of an RGB32 image was not properly ignored when doing
blending with partial opacity.

Now the alpha value is properly ignored, which is both more correct
and faster. This also makes SSE2 and AVX2 implementations match NEON
which was already doing the right thing (though had dead code for
doing it wrong).

Change-Id: I4613b8d70ed8c2e36ced10baaa7a4a55bd36a940
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2016-12-03 13:24:36 +00:00
BogDan Vatra
5cc1265c34 Add ASTC compression
Change-Id: I7ae3b02579eb844f109c25a0dd5467748813a558
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2016-12-03 10:02:08 +00:00
Laszlo Agocs
f30b888465 eglfs: allow forcing an overlay plane
Add a QT_QPA_EGLFS_KMS_PLANE_INDEX environment variable that applies
both to the GBM and EGLDevice backends. When set to a value between 0 and
the number of planes on the connector - 1, the chosen overlay plane will
be used for output, meaning there will be a drmModeSetPlane to configure,
and, in case of EGLDevice, the plane's corresponding EGL layer will get
chosen instead of the CRTC's.

Task-number: QTBUG-57386
Change-Id: I12c89472ea5730987052f39211fadc597d1302ef
Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@qt.io>
2016-12-03 00:06:21 +00:00
Laszlo Agocs
8d0854c2bd eglfs: allow forcing an explicit connector index on DRM/KMS
Add a QT_QPA_EGLFS_KMS_CONNECTOR_INDEX environment variable that applies
both to the GBM and EGLDevice backends. Instead of specifying all
uninteresting outputs as "off" in the config file in QT_QPA_EGLFS_KMS_CONFIG,
this variable provides a shortcut to force one single connector and ignore
all others in embedded systems with a fixed connector configuration. The index
must be between 0 and DRM connector count - 1.

Task-number: QTBUG-57386
Change-Id: I3f9562f48bf6b2ffaf9a0cc232e09a7e0c15645b
Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@qt.io>
2016-12-03 00:06:18 +00:00
Laszlo Agocs
09d481987b eglfs: improve EGLStream logging
Make it possible to identify from the logs that QT_QPA_EGLFS_LAYER_INDEX
was set, in order to help troubleshooting.

Change-Id: Ic22825e5df9f0eeb31f817f398b9f6c000c3a00f
Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@qt.io>
2016-12-03 00:06:14 +00:00
Laszlo Agocs
b1789d8c00 Add EGL_STREAM_FIFO_LENGTH to the helper header
Parent patch introducing usage of this attribute did not add it to
the EGLStream support header. This is likely not fatal, but follow
the practice of defining the constants ourselves, in case they are
not present.

Change-Id: Ib16f9809f9c6a212570c49472bb840183232e68a
Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@qt.io>
2016-12-03 00:06:09 +00:00
Dmitry Shachnev
9067a7f59c dbustray: Handle StatusNotifierWatcher appearing and disappearing
If the StatusNotifierWatcher disappears and then appears again, we need
to register our tray icon again with it.

To do this, split the “register with watcher” part into a separate
method, and call it when m_dbusWatcher emits its serviceRegistered()
signal.

Change-Id: Id5fc8ac81b5038a61b678514dabd3eb9c8f1c106
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2016-12-02 16:03:48 +00:00
Joerg Bornemann
5f6800c220 Do not write empty custom build tool on VCConfiguration level
This is superfluous.

Change-Id: Iac96938c6a7e899244534747a2f8a60bdbbdeb62
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-12-02 10:03:31 +00:00
Joerg Bornemann
b83884a4e6 Remove superfluous VCFilterFile::operator==
The default-generated operator is fine.

Change-Id: I9acb310aaf551d8da3c0fd9aea65d77ee62a45b4
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2016-12-02 10:03:25 +00:00
Joerg Bornemann
b4c7d4f4b3 Remove unused VCFilterFile::additionalFile
Change-Id: I67716404d38f41ee4f558dc5d82c9ae80a6956f1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2016-12-02 10:03:16 +00:00
Marc Mutz
048447346b QPointerUniqueId: make fit for release
- Declare as Q_MOVABLE_TYPE
- Prevent QList<QPointerUniqueId> from being instantiated
  (use QVector instead)
- Add equality relational operators
- Add qHash() overload
- Replace non-default ctor with named ctor.
- Add Q_DECL_NOTHROW.
- Add Q_DECL_CONSTEXPR.
- Rename numeric() -> numericId().
- Update docs.

The extension vector for this class calls for additional
properties to be added later, but these are not user-
settable. It thus suffices to rely on the only data
member, a qint64, which can be reinterpreted to an index
into an array or hash with actual objects. This allows
to make the class a Trivial Type (ie. no overhead over
an int) while still supporting later extension. Cf.
QSslEllipticCurve as another example of such a class.

The extension has to maintain the following invariants,
encoded into user code by way of being used in inline
functions:

- m_numericId == -1 <=> !isValid()

This is trivial to support. An extension could not and
still cannot reinterpret the qint64 member as a d-pointer,
but a d-pointer is only necessary for user-settable
properties where updating a central private data structure
would cause too much contention.

Add a test.

Since this type is used in other modules, keep the existing
functions, but mark them as deprecated with the expectation
that these compat functions be removed before 5.8.0 final.

Task-number: QTBUG-54616
Change-Id: Ia3ede0ecaeeef4cd3ffa94a72b1050bd409713a5
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2016-12-01 13:02:47 +00:00
Lars Knoll
f4a33e345e Fix compilation on platforms that don't support printing
Task-number: QTBUG-56259
Change-Id: Ice1d7601494b01b387e787da412cd94b6717ebde
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-12-01 13:02:24 +00:00
Laszlo Agocs
1670bc751e eglfs: make it possible to configure the EGLStream FIFO length
Setting QT_QPA_EGLFS_STREAM_FIFO_LENGTH to a >= 1 value changes from
mailbox to FIFO mode, with the specified length.

[ChangeLog][Platform Specific Changes][Linux] Added an option to switch
from mailbox to FIFO mode in eglfs' EGLStream backend. This is done by
setting the environment variable QT_QPA_EGLFS_STREAM_FIFO_LENGTH to a
>= 1 value, the desired length of the FIFO queue.

Change-Id: Ib98e2ff805f8c00ca2e224d1db5b9c1b2c9a04f0
Done-with: Pasi Petajajarvi <pasi.petajajarvi@theqtcompany.com>
Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@qt.io>
2016-12-01 12:38:21 +00:00
Friedemann Kleint
2503a1e9e7 Fix tst_QComboBox::getSetCheck()
Change 2fd3d8ea9e broke the QCOMPARE()
in there, partially revert.

Change-Id: I8f572b9d82ad1c6b5448504eda7cc2fa53fa3d3d
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
2016-12-01 12:21:56 +00:00
Anton Kudryavtsev
fec08545ff QVariant: optimize convert() for bool case
Do not create QByteArray from const char* to compare with other
QByteArray, because there is an overloaded operator==.
So avoid needless allocations.

Reorder condition, because isEmpty() method is cheaper than
string compare.

Change-Id: I8d2c8a0fb247528d9ce485007431167372d62bff
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2016-12-01 12:20:23 +00:00
Alexander Volkov
65d4880877 xcb: Remove unused QXcbGlIntegrationFactory::keys()
This static method was introduced in
8758f532ae
and was unused even then.

Change-Id: Id0d409b7fade977bbbabfcdee0c432b7058f8ace
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2016-12-01 12:07:49 +00:00
Alexander Volkov
15b0b3db29 xcb: Replace Q_DECL_OVERRIDE by override
We can use 'override' directly since Qt 5.7.
Also remove redundant 'virtual' keywords.

Change-Id: Ia40be0e1e60e51f9d043ab575fd6b9305ea620b0
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2016-12-01 12:07:28 +00:00
Alexander Volkov
7183fc8f0d Add missing override into Qt modules
Change-Id: I014ac8c7b590c77b054fbb01f0ab5601c44ca88e
Reviewed-by: hjk <hjk@qt.io>
2016-12-01 12:07:13 +00:00
Alexander Volkov
ed6f129026 QtTest: Add missing override
Change-Id: Ibb924f11b82577fb67aa7a1a30b81f4d8d7d36fc
Reviewed-by: hjk <hjk@qt.io>
2016-12-01 12:07:05 +00:00
Thiago Macieira
a55f36211e Fix the JPEG EXIF reader to deal with some broken/corrupt files
We parse the EXIF header in order to get the proper orientation, so
let's be a bit more careful in what we accept. This patch adds better
handling for reading past the end of the stream, plus it limits the
number of IFDs read (to avoid processing too much data) and deals with a
pathological case of the EXIF file format: EXIF (due to its TIFF
origins) permits the offset to the next IFD to be backwards in the file,
which means it could result in a loop or pointing to plain corrupt data.
We disallow any backwards pointers, since it seems that's what other
decoders do (libexif, for example).

Change-Id: Iaeecaffe26af4535b416fffd1489332db92e3888
(cherry picked from 5.6 commit 02150649f95b8f46f826e6e002be3fa0b6d009bc)
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2016-12-01 08:17:04 +00:00
Dmitry Shachnev
f88f405401 Add a test case for removing a submenu from the menubar
If 5ca9631d3a is reverted, this test
segfaults on Unity most of the times.

Task-number: QTBUG-55966
Change-Id: Ice59842e0a1a7930e3cd10c4c7319ef033fe6a58
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2016-12-01 07:35:59 +00:00
Joerg Bornemann
dcd2f82951 Fix circular dependencies in generated vcxproj files
For QMAKE_EXTRA_COMPILERS with inputs that are "buildable" (e.g. C++
sources) the custom build step is added to the output file. From Visual
Studio's point of view this looks like a circular dependency (e.g.
foo.moc generates foo.moc). Usually this just prints a warning that can
be ignored. But this circular dependency also breaks dependencies
between custom build steps. This became noticeable when the generation of
moc_predefs.h was added. Generating moc_predefs.h must be done before
any moc custom build step is executed.

This patch fixes the issue by using fake files (output file plus suffix
".cbt" for "custom build tool") that act as dummy inputs for the custom
build tools.

Task-number: QTBUG-16904
Task-number: QTBUG-57196
Change-Id: I4711e44a0551046d215db151fa0312af8a9177a2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2016-12-01 05:07:08 +00:00
Oswald Buddenhagen
e3ca4287d9 qmake: fix execution of depend_command in directories with funny names
it's wrong to use the escape function for makefiles, as the command
goes directly to a popen() call.

Task-number: QTBUG-57343
Change-Id: I34a8e4d8fb406303c593e7c1e24019e0f756e7f8
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2016-11-30 17:05:01 +00:00
Jesus Fernandez
1e4054ce2f Add -Wdouble-promotion to headersclean
Fixes: warning: implicit conversion from 'float' to 'double' to match
other operand of binary expression [-Wdouble-promotion]

Task-number: QTBUG-57068
Change-Id: I897a341aca83873bc6abd256a82a3b9f09409833
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-11-30 17:04:17 +00:00
Jesus Fernandez
4a7f3c327b Doc: Fix QVariant::Type
QVariant::QString does not exist

Task-number: QTBUG-56586
Change-Id: Ic5fe81fc4fc3553f9b755e067ed73c4d1bba9add
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2016-11-30 17:04:08 +00:00
Friedemann Kleint
448790eaed Windows QPA: Fix build with MSVC2015 on Windows 7
The installation uses SDK 8.1 which does not have the required
include files. Add a check depending on NTDDI_VERSION.

Change-Id: I6323496aed2a2d6e22d41ec14bdf8c6cf1bf2f31
Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
2016-11-30 12:51:38 +00:00
Paul Olav Tvete
5b65698248 Close popups when blocked by modal dialog
Don't block the event that Qt depends on to close popups.

Task-number: QTBUG-57292
Change-Id: Ida1f928b81868f68a7b1e19cd0b83485d2a7232e
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-11-30 11:24:43 +00:00
Alexander Volkov
1a0e690d50 winrt: Add missing override
Change-Id: I2f257756bc606f8eb5cad2afe67b90810a2e394c
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
2016-11-30 10:52:18 +00:00
Alexander Volkov
aac3a4c032 winrt: Replace Q_DECL_OVERRIDE by override
We can use 'override' keyword directly since Qt 5.7.

Change-Id: I31127478a0a96798a4e018d9996842204e307552
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
2016-11-30 10:51:36 +00:00
Friedemann Kleint
0a2759e8f8 tst_QTextStream: Use casts instead of Q_UINT64_C for negative values cast to quint64
Q_UINT64_C appends a literal, which causes warnings:
tst_qtextstream.cpp(2026): warning C4146: unary minus operator applied to unsigned type, result still unsigned
tst_qtextstream.cpp(2030): warning C4146: unary minus operator applied to unsigned type, result still unsigned
tst_qtextstream.cpp(2031): warning C4146: unary minus operator applied to unsigned type, result still unsigned
tst_qtextstream.cpp(2032): warning C4146: unary minus operator applied to unsigned type, result still unsigned
tst_qtextstream.cpp(2289): warning C4146: unary minus operator applied to unsigned type, result still unsigned
tst_qtextstream.cpp(2309): warning C4146: unary minus operator applied to unsigned type, result still unsigned
tst_qtextstream.cpp(2329): warning C4146: unary minus operator applied to unsigned type, result still unsigned
tst_qtextstream.cpp(2355): warning C4146: unary minus operator applied to unsigned type, result still unsigned
tst_qtextstream.cpp(2381): warning C4146: unary minus operator applied to unsigned type, result still unsigned
tst_qtextstream.cpp(2411): warning C4146: unary minus operator applied to unsigned type, result still unsigned

Change-Id: I69ac87c224b75aff059477362d8a317c7e766ec2
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
2016-11-30 10:48:50 +00:00
Topi Reinio
5ac33fff0f QCommandLineOption: Remove excess close parenthesis from a warning
Change-Id: Iff197a2a00b686ad2d29a1e156389bec4639f3c0
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-11-30 08:50:17 +00:00
Joerg Bornemann
6515d942ae Set a proper name for the moc_predefs extra compiler
In VS builds the default name is the first word of the command, in this
case "cl". Use the generated file name instead.

Change-Id: I8f0039eeae045f8b9a13caea8bd3e338bbe2ed17
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2016-11-30 08:29:18 +00:00
Joerg Bornemann
fe0b91879b Fix type of VcprojGenerator::extraCompilerOutputs
The values of this hash are strings, not lists of strings.
Enforce this by using the proper type instead of just using a comment.

Change-Id: Id8a13acdceb8f9f8a9a8eaa04e790b1e6cd5faa7
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2016-11-30 08:28:55 +00:00
Marc Mutz
feb95effc4 QDeadlineTimer: fix namespace for chrono literals in examples
Change-Id: I6d39b4fe653cf89d2bd27af4b3f606d98ac83eba
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-11-30 08:28:35 +00:00
Lars Knoll
b82650891e Use poll related features properly
And get rid of related DEFINES in the pri file

Change-Id: I54cf25b7cb447af22b410213759044e8018939a6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2016-11-30 08:11:12 +00:00
Oliver Wolff
8f2088db17 winrt: Check for removed timers after sending events
After all the check makes sense here. If a timer was removed as a result
of sendEvent and it was not at the end of the list the list is not
shrunk but the timer info's id is just set to INVALID_TIMER_ID.

Additionally the timer's object should be fetched before we unlock the
locker as timerIdToObject is changed in removeTimer and we might access
a nullptr if the timer has been removed.

Reverts c83ba01f7b

Task-number: QTBUG-56756
Change-Id: Ib1a04c02fbfcf4c939b4891d42f954dc9e87149e
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
2016-11-30 07:49:41 +00:00
Marc Mutz
0cdae477e3 QListViewItem: add constexpr
This class is just a record with a bit of functionality on it.
To prevent pessimizing it compared to a C struct with the same
contents, mark all operations constexpr and remove the point-
less copy ctor (the generated one is just fine).

Converge on passing QRect, QSize, QPoint by value. Was mixed
cref and value passing before.

Saves ~1KiB each in text and data size on an UBSan build,
somewhat less, of course, on a normal one.

Change-Id: Ibae16792d822ff183a0c542380501978f2108d93
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-11-30 07:24:52 +00:00
Marc Mutz
2fd3d8ea9e tests/auto/widgets: use QCOMPARE(., nullptr)
.. instead of manually casted 0s.

QCOMPARE(., nullptr) was added for Qt 5.8. Make use of the new API.

In tst_qwidget.cpp, as a drive-by, change
   qApp->focusWidget() -> QApplication::focusWidget()

Change-Id: I1331b8916b026d48e01534d1ed0b3d72f3f3d50c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2016-11-30 07:24:47 +00:00
Allan Sandfeld Jensen
97b8fdab7d Fix clipping of fetchTransformed
Bound x and y to the clipping rect instead of the texture rect.

This has minor effects on lancelot, but all within the 5% fuzz.

Change-Id: Ia6141e4f7649dad53211bd959af1bce48372e26d
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-11-29 22:14:14 +00:00