Commit Graph

27718 Commits

Author SHA1 Message Date
Jake Petroules
e81ba336e9 Bump the minimum supported OS X and iOS versions
As per mailing list discussion:
http://lists.qt-project.org/pipermail/development/2016-February/024889.html

Change-Id: Ie4e226c454d8f736dbf1545440ca200104fd947c
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2016-04-22 20:41:13 +00:00
Karim Pinter
31c6bee4d5 Removes spacing when widget is hidden in QGridLayout
Removes spacing in QGridLayout when the QWidgets inside of the QGridLayout
are hidden, by checking if the sibling is empty, thus duplicate
spacing can be avoided.

Task-number: QTBUG-52357
Change-Id: I45475e7b264f94ef3bec5f9a4b8cbaa1d53ec6dd
Reviewed-by: Karim Pinter <karim.pinter@theqtcompany.com>
Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
2016-04-21 11:00:59 +00:00
Karim Pinter
b7ef2510d1 Adding notification feature to SQLite driver
This modification enables to use notification feature of SQLite with Qt
SQL driver, enables to subscribe for notifications and also to remove
notifications. close() is added to destructor to unregister
notifications in case it is used in multiple threads.

[ChangeLog][QtSql][SQLite] Adding notification feature to SQLite driver

Change-Id: I8b98787f5214a406357646a98711a8ff6045a0dd
Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
2016-04-21 10:56:24 +00:00
Friedemann Kleint
2be25273e1 Remove window flags WindowOkButtonHint, WindowCancelButtonHint.
They were duplicating other enumeration values
(WindowTransparentForInput, WindowOverridesSystemGestures) and were
only supported on Windows CE.

Task-number: QTBUG-42897
Task-number: QTBUG-51673
Change-Id: I993a933ee2a3dc8a0ebd7ba6aef80b456f50a657
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-04-20 08:00:46 +00:00
Lars Knoll
b2bfac12a1 Deprecate the -no-qpa-platform-guard command line argument
There's no reason not to allow compiling Qt without any QPA
plugins. It's enough to clearly warn about it at the end
of configure instead of aborting the build.

Change-Id: I52ff681b68fcbfd9c5e28e555224812e6c441dc6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-04-19 22:24:36 +00:00
Friedemann Kleint
4879bc91d4 Remove dynamic loading of functions that are present in Windows Vista onwards.
Invoke functions directly and add libraries accordingly.

Task-number: QTBUG-51673
Change-Id: Ie19d1fc6aa932d6e93a7d310048e4c162fb81046
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2016-04-19 15:11:06 +00:00
Lars Knoll
710ec5caed Remove the -qconfig command line argument
This functionality will get replaced by a new and more flexible system
to configure Qt.

Change-Id: I04cf694ab1671eeed39b79a660566595a22f54a7
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-04-19 14:01:40 +00:00
Lars Knoll
d4f15a5be4 Remove the configure notice about unknown architectures
With 5.7, we can rely on c++11 atomics (or the msvc ones), so
the note doesn't make sense anymore.

Change-Id: I10cc67f3dd840f3272ca975c2c9120a8c871a2fb
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-04-19 14:01:32 +00:00
Timur Pocheptsov
3e9ed8ee19 initializeInflateStream - assert that stream is not null
Coverity is not happy with us testing a pointer (not null) in a couple of
places but not in initializeInflateStream. In fact we _always_ test this
pointer _before_ calling initializeInflateStream. Anyway, let's make
this pre-condition clear by Q_ASSERT()ing it.

Change-Id: Ibce99ef6ff1d4e09e3a446a672fa28fc93ab832c
Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
2016-04-19 13:35:57 +00:00
Timur Pocheptsov
0458224743 Avoid nullptr deref in Q_ASSERTS
Found by Coverity, CIDs: [159014-159383]. Indeed, Q_ASSERTS can
go into the block controlled by the corresponding if-statements,
otherwise - why 'if' at all?

Change-Id: Ibc99cd48b97287ec132e082d14f3c39350d547f9
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-04-19 10:02:00 +00:00
Thiago Macieira
8026dc6f36 Add support for initializing QSharedPointer from nullptr
std::shared_ptr supports it. To resolve an ambiguous overload when a
literal 0 is passed as a parameter, the normal constructors needed to be
made a template, like std::shared_ptr.

Task-number: QTBUG-52569
Change-Id: Id75834dab9ed466e94c7ffff14451417892d2148
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-04-19 04:54:36 +00:00
Christian Stromme
c22fcf03fb Android: Fix crash on startup
All internal settings are stored as strings, if the requested setting
value doesn't exist, or the type conversion fails, then an exception
is thrown. Instead of making use of the convenience functions we can
just get the original string an convert it ourself.

Task-number: QTBUG-52574
Change-Id: Ic410244a373318e167437eea4381335a907ccbf9
Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
2016-04-18 12:50:11 +00:00
Lars Knoll
dd22889ed6 Change the way we handle features that have sub-features
Make sure we always set the base feature as a flag in qtconfig, and
set the sub-feature in addition if it's being used.

Change-Id: Icfeb0ec1ac9e1a615b5b22eb5fcce47e0e7fc153
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-04-15 20:11:03 +00:00
Timur Pocheptsov
a4a83f52f9 OGLTextureCache::insert - make sure it did not fail
QGLTextureCache is using QCache internally, QCache in theory
can delete the object we are trying to insert (in case the cost > maxCost).
Vague comments in the code suggest that this can never happen.
Q_ASSERT assert this.
Found by coverity, CID 11765

Change-Id: I34ef114b9607926cd5e7d2baed4b63051cf87cff
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2016-04-15 19:59:27 +00:00
Jesus Fernandez
418b6f6899 Uninitialized variable in QTouchEventTouchPointPrivate
Non-static class member rotation is not initialized in this constructor
nor in any functions that it calls.

Change-Id: I2dde99a8cd2107b0cfb4201f641d40b4d0823aa2
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
2016-04-15 13:03:59 +00:00
Samuel Gaist
8fbae648db Implement QFormLayout row removal
QFormLayout currently allows to remove a row only through takeAt, which
doesn't resize the internal structure used to store the layout-related
data. The implementation of rowCount uses that structure so it returns
a row count that doesn't match what the user sees.

The removeRow methods complement that be doing a "real" removal which
will also keep the row count in sync.

[ChangeLog][QtWidgets][QFormLayout] Added removeRow(), takeRow().

Task-number: QTBUG-15990
Change-Id: I204b219a837887e4bf95d1bc77407f1c53ae9819
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-04-14 22:12:59 +00:00
Friedemann Kleint
ffde99d5a0 Windows CE cleanup.
Remove remaining CE-specific files and #ifdefs.

Change-Id: I407e14cade64c9eaa414f333764b4f82a75befde
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2016-04-14 12:45:56 +00:00
Alex Trotsenko
f15cfbfdee Improve QHttpNetworkReplyPrivate::readStatus()
Check HTTP signature only once in cycle.

Change-Id: I06f6b778429243ed17cd4175e532ef201f1e5551
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
2016-04-14 11:55:13 +00:00
Alexander Volkov
a5c6bad4f0 Take the size and the icon size for MDI buttons from a style
This way they can be DPI-dependent.

Change-Id: I117c337aaa3e2bf6fb85cb3b04bbbccd9db41070
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
2016-04-13 14:50:27 +00:00
Friedemann Kleint
c736497483 Remove tests/auto/qtest-config.h.
The header defined a macro QTEST_NO_CURSOR depending
QT_NO_CURSOR or obsolete platforms Windows CE and Meego.

Replace usages by QT_NO_CURSOR in the tests.

Change-Id: I3edac88e684d1f932dd3b721bb1c1b3fe9144237
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2016-04-12 14:56:49 +00:00
Allan Sandfeld Jensen
cd06d901af Implement ordered dithering for image format conversions
QImage::convertToFormat was ignoring its conversion flag argument, only
performing dithering when converting to indexed formats.

This patch updates the documentation and implements ordered dithering
for other conversions.

Change-Id: I807353d61669694185b7e595ef262d80d9fbb3f1
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
2016-04-12 12:52:34 +00:00
Shawn Rutledge
1bd0ab7050 deliver stationary touchpoints which have changed velocity
When using TUIO, and the finger or token comes to a stop, the last
event has a stationary touchpoint with zero velocity, but the previous
event had movement, with non-zero velocity.  If the UI is going to
do something with the velocity values, it needs to know when that goes
to zero.  So this is an exception to the rule that we don't deliver
stationary touchpoints.

Task-number: QTBUG-52510
Change-Id: Iaa9f72a3749130f6806f2f63512a6ffddca06bce
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
2016-04-12 12:37:14 +00:00
Olivier Goffart
9f3dc2b282 Fix documentation of qOverload with clang based qdoc
Change-Id: I4c9dbefff0e51753fdd6c06a8d0cf1733b8d3d85
Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
2016-04-12 11:24:10 +00:00
Lars Knoll
24ac2f35c1 Don't set config-[minimal|small|...] in qconfig.pri anymore
These values are artifacts from the past and not used anymore
since Qt 3 times.

Change-Id: Ide2a7b3bd000ec0bc280a5467549c1a974c019e0
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-04-12 11:07:25 +00:00
Lars Knoll
53412df398 Fix the naming of the CFLAGS/LIBS for Gtk3
The feature is called gtk3, so the naming of the CFLAGS/LIBS should reflect that.
At the same time, remove the unused QMAKE_LIBS_QGOBJECT variable.

Change-Id: I565a098aaa80f380de0da534d058f315e77a33f6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-04-12 11:07:17 +00:00
Olivier Goffart
0a568e9420 QUrl documentation: fix clang parsing
QUrl::FormattingOptions need to be declared with Q_DECLARE_FLAGS for documentation
purposes. But it's actually a QUrlTwoFlags and need to be so in order to get
the default arguments parsed without errors.
So hack it by introducing a fake internal QFlags specific to QUrl

Change-Id: I851aca2ab3fd4c10d9cb2dc4d6a0f236813d20ad
Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
2016-04-11 15:23:05 +00:00
Allan Sandfeld Jensen
887f51aaa6 Cleanup conversion parameters
Removes the now unused QPixelLayout parameter, simplifies the colorTable
passing and prepares for adding dithering.

Change-Id: Iaf7698b248b857804d8921bf118e7cfabbabff87
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
2016-04-11 14:25:18 +00:00
Liang Qi
f34e73a16a Merge remote-tracking branch 'origin/5.7' into dev
Conflicts:
	src/corelib/kernel/qobject.cpp
	src/gui/painting/qpaintengine_raster.cpp

Change-Id: I74e1779832f43d033708dcfd6b666c7b4f0111fb
2016-04-11 09:12:36 +02:00
Louai Al-Khanji
b9d386f2cc xcb: Optimize non-shm backing store flushing
Unfortunately the functions in xcb-image are quite slow, both for the
subimage generation and the byte order swapping. xcb_image_subimage is
implemented as a pixel by pixel copy, and the xcb byte swapping is done
manually without utilizing potential CPU instructions to accelerate the
swap.

Replace both with their Qt equivalents.

Change-Id: I1fe1fe5d9576fdf2bab4a8c401d2a6bb842c2727
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2016-04-10 18:29:06 +00:00
Volker Krause
edaa5fc208 Remove unused variables.
Change-Id: I44f4e4f454d86e7a53b44a9b3eb51879f97ae9c6
Reviewed-by: David Faure <david.faure@kdab.com>
2016-04-10 07:39:14 +00:00
Anton Kudryavtsev
62e7ec7b80 QDateTime: don't allocate memory in fromOffsetString()
Manual splitting instead of QStringRef::split()

Change-Id: I27ccf1c4e44ead5b13f85f2cdbd990cb3b874a7a
Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-04-09 13:45:49 +00:00
Anton Kudryavtsev
684c8d4d12 QDateTime: add some const
For CoW types const methods will be called.
For QDate we can use new const getDate() method.

Change-Id: Ie3a4fe48b3635d270a79c9ac5205b835b3442eae
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-04-09 11:34:54 +00:00
Allan Sandfeld Jensen
307825ca63 Do not clip or rasterize paths completely outside the device rect
The controlPointRect is a conservative area that is guaranteed to
contain the path, if that does not intersect with the painter's device
rect, the path must be fully outside the painted area, and can be
ignored.

Change-Id: If14d7dbaf916aa284b941d01e773da3365dce5bf
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
2016-04-09 11:22:41 +00:00
Louai Al-Khanji
5f39a0ef8d X11: Better support non-32bit visuals
This patch improves support for non-32bit screen configurations on X. The
patch mostly touches the xcb platform plugin but the changes to the glx
convenience functions do affect e.g. the offscreen plugin as well.

Since QWindow instances are now by default of type RasterGL instead of
Raster the majority of all windows are in fact instances of QXcbGlxWindow.
This means that the eventual QSurfaceFormat that we use is chosen based on
the available OpenGL configurations. Here the GLX config resolution code
did not do a very good job in trying to find the closest match relative to
the requested QSurfaceFormat, instead preferring higher bit depths.

This is an issue since many configurations support 32-bit windows even
if the screen itself has a root window with depth 16. In particular,
servers supporting both GLX and Render are very likely to have such
visuals. Particularly affected are remote X connections - even if the
application itself makes no use of OpenGL at all!

The changes introduced by this patch are as follows:
 1. Improve the GLX visual selection logic
 2. Improve the xcb visual selection logic
 3. Remove duplicated visual lookup for OpenGL-enabled windows
 4. Configure the default QSurfaceFormat to match the primary screen depth

Change-Id: Id1c176359e63a4581410e20350db5ac2c083e1cf
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2016-04-09 05:17:27 +00:00
Anton Kudryavtsev
8903460093 QtBase: use erase and std::remove_if with QList and QVector
... instead of using removeAt in a loop, with quadratic complexity.

Change-Id: I38b49e56b12c396db9fc0f1b75d8fb43c503a7f6
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-04-08 19:35:26 +00:00
Shawn Rutledge
f931e5e72d add cross-platform tablet->mouse event synth; enable on Android
It's urgent to fix the issue that on Android, it became impossible
to interact with any widget or MouseArea which handles only mouse
events but not tablet events, using the stylus, because stylus events
are sent only as QTabletEvents.  Before 5.6 (change
01d78ba86a) they were sent as
touch events, and mouse events were synthesized from those.  Whereas
on other platforms, every QTabletEvent is followed by a synthesized
QMouseEvent.

This fix proceeds in the direction that event synthesis should be done
in cross-platform code so that platform plugins don't have to repeat it,
following the same pattern as for touch->mouse synthesis.  Just as
in that case, the application can disable it, and the platform plugin
can also report that it's unnecessary for Qt to do the synthesis
because the platform already does.

So QTBUG-51618 is fixed, but QTBUG-47007 requires us to remove the
tablet->mouse synthesis from all platform plugins, because the plugin
does not know whether the tablet event was accepted or not, so it does
not have enough information to decide whether to synthesize a mouse
event.  Synthesis has been unconditional until now, which contradicts
what the documentation says: the mouse event should be sent only if
the tablet event is NOT accepted.  We can now gradually make this
promise come true.

[ChangeLog][QtCore][Tablet support] A synthetic mouse event will
no longer be sent after every QTabletEvent, only after those which are
not accepted (as documented).

Task-number: QTBUG-47007
Task-number: QTBUG-51618
Change-Id: I99404e0c2b39bbca4377be6fd48e0c6b20338466
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2016-04-08 19:33:28 +00:00
Dan Cape
e187a16906 toCurrencyString() - Add missing documentation
Documentation was missing for the new toCurrencyString() function that
adds a precision value.

Change-Id: I16c10cdd18dfc37839fccb907470b0942f100e5d
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
2016-04-08 16:06:29 +00:00
Martin Smith
5380808453 qdoc: Remove Q_QDOC for int type() in qmetatype.h
It probably wasn't necessary in the first place, but it
certainly isn't needed now. Also changed a pair of internal
qdoc comments on static functions that are not declared
outside the .cpp file. Now they are no longer qdoc comments.

This change does not require clang in qdoc.

Change-Id: I39df3eb1e3f57ba1da93f27892d0c3af8f9481ef
Task-number: QTBUG-52454
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-04-08 14:11:40 +00:00
Martin Smith
b333c3396a qdoc: Remove Q_QDOC for qRound() and qRound64()
These uses of Q_QDOC cause clang to report syntax errors.
They are used to hide function return values as qreal
instead of using double and float. The decision is to be
more transparent and use double and float in the docs
instead of qreal.

This change does not require clang in qdoc.

Change-Id: I65b3afb693b1eff486b0b45b8d972fec96953c5f
Task-number: QTBUG-52454
Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
2016-04-08 14:11:32 +00:00
Timur Pocheptsov
b414b9e6cd Remove redundant QT_PREPEND_NAMESPACE
We are already QT namespace, no need in QT_PREPEND_NAMESPACE.
The original code had invalid '::' thus referencing a name from
a global scope, it was fixed by QT_PREPEND_NAMESPACE, but
just removing '::' is enough.

Change-Id: Icda2a2ce8e474a358b74edd49bca487621608e78
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
2016-04-08 12:46:13 +00:00
Eskil Abrahamsen Blomfeldt
53180c430f Add flag for showing document terminator in text
In 208496091d, the behavior of
QTextOption::ShowLineAndParagraphSeparators was changed to also
include a section symbol at the end of the document. This was
an unnecessary behavioral change. Instead we add a separate flag
for this marker.

[ChangeLog][QtGui][Text] Added QTextOption::ShowDocumentTerminator
flag.

Task-number: QTBUG-52048
Change-Id: I2f6f7e5c9c894f46525682f2c6520a7003fa09bc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2016-04-08 12:30:42 +00:00
Anton Kudryavtsev
bfe86cb642 tools/configure: enable QStringBuilder
... by adding define QT_USE_QSTRINGBUILDER.

Change-Id: I89bfdff3f4fc2585649b586ebb5414831cb76765
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-04-08 12:24:07 +00:00
Friedemann Kleint
e1d44b531d Tests: Add more QChar::unicode() calls to brush over deprecation warning.
Amends change e0ea0f6178

Change-Id: I19e505b2aac9c26173508d75bbf60a45db825fe4
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-04-08 09:26:40 +00:00
Shawn Rutledge
282ebf9bd2 xcb: replace qt.xcb.glintegration logging category with qt.qpa.gl
This is more concise, consistent with Windows, and fits the pattern
that all logging categories in QPA plugins should begin with qt.qpa.

Change-Id: Ica169b547cb3d816e6e2c0449f0e4a0c58883b9a
Reviewed-by: Gatis Paeglis <gatis.paeglis@theqtcompany.com>
2016-04-08 07:25:39 +00:00
Marc Mutz
1ed8a7bff5 QTest: support nullptr in QCOMPARE
This allows to write
  QCOMPARE(ptr, nullptr);
instead of
  QVERIFY(ptr);

Task-number: QTBUG-49973
Change-Id: I6e1327d4327bcf17bd9b59de4352fdcaae98ac27
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-04-08 05:38:33 +00:00
Konstantin Ritt
eade27bb67 Update QDateTimeEdit tests to match data from CLDR v29
Change-Id: Ie4c4b2ed927caa95a9e7e11f94f05da2fe4e2860
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-04-08 03:51:23 +00:00
Konstantin Ritt
eb26f2b19b Re-generate QLocale data from CLDR v29
* A bunch of fixes and additions to the locale data
* Add new scripts from Unicode 8.0 and 9.0
* Map some potentially useful languages and territories

[ChangeLog][QtCore] QLocale data updated to CLDR v29

Change-Id: I759ccb27fe19be2722be913c5c2e6aa5f36e5c14
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-04-08 03:51:18 +00:00
Jake Petroules
328c53247b Bump the minimum supported OS X version
According to the Qt 5.6.0 change log, OS X 10.7 is to be REMOVED as a
supported platform in Qt 5.7.

Change-Id: I53313fd34d42757dd35a28cd227fc0dda3389932
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
2016-04-07 23:55:25 +00:00
Lars Knoll
3f41e8a2f5 Remove two dead lines
no-zlib is no longer supported, so these lines can't have any effect.

Change-Id: Ib5ef9a97a0687945606b4a718e339590bc501fe9
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-04-07 16:19:16 +00:00
Lars Knoll
211f888a9f Consistent naming for Xinput2 related defines
The feature is called xinput2, so the defines should have this in their name as well.

Change-Id: I661dd3ea3726f4a0954e788d5f0083ace10bbe89
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-04-07 16:18:53 +00:00