Commit Graph

26557 Commits

Author SHA1 Message Date
Anton Kudryavtsev
6ca81d1fd1 QTranslator: don't re-create QString each time through a loop
Just cache it.

Also port to QStringLiteral, because the string is never modified.

Since the string literal is used in more than one function, to
avoid duplication of .rodata, wrap the QStringLiteral in an
inline function.

Change-Id: Ib5aede9f129610c80d122939afc343c938cc8e48
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-01-26 07:34:06 +00:00
Anton Kudryavtsev
037e58fff6 QVariant: replace QLatin1String with QStringLiteral
... in convert() to optimize string creation.

Change-Id: Id012f2f52606c026ed216655ff3ce63bd5154da6
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-01-25 08:36:39 +00:00
Anton Kudryavtsev
7ee1fc4c29 QMimeData: use reserve in formats()
... to optimize memory allocation.

Change-Id: I039a6de6f97858f339b83ca7e3e361963eaa61ee
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-01-25 08:36:36 +00:00
Anton Kudryavtsev
451273523d QMimeData: replace QLatin1String with QStringLiteral
... wherever it allocates memory.

Change-Id: Ice17e39a138ff05b49eb23eecc693d368d0b349e
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-01-25 08:36:34 +00:00
Borgar Ovsthus
fbd6acedac Add TeamCity logging feature to testlib
This allows TeamCity to parse realtime test-results instead of using
post-build XML Report Processing. This does not support logging of
benchmarks.

[ChangeLog][QTest] Added a new logging mode that allow test-results to
be parsed on-the-fly when using Jetbrains TeamCity as CI-server. This
mode is enabled by using the -teamcity option on the command-line.

Change-Id: Ie730beb643043eb0f448f99abe6c0b5ac48aaf03
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-01-23 18:30:58 +00:00
Thiago Macieira
9eda09f511 Uppercase the verbosity setting enums.
Change-Id: I7a9e11d7b64a4cc78e24ffff142b9996fd77cb10
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2016-01-22 23:28:14 +00:00
Anton Kudryavtsev
0f51686a69 QVariant: use reserve in convert()
... to optimize memory allocation.

Change-Id: I7f644955be779c3651683401a7985a265b69ca6f
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-01-22 10:18:34 +00:00
Tony Sarajärvi
720d1792f2 Remove insignificant from qabstracttextdocumentlayout test
Task-number: QTBUG-28593
Change-Id: If5a102cd1c8cdad6d77cc8dbcece3ac983a8010b
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2016-01-22 09:13:27 +00:00
Tony Sarajärvi
870e68cd75 Remove insignificant flag from qglyphrun test
Task-number: QTBUG-28593
Change-Id: I04e73947c7f131bdb4341c224fb008b26be22c22
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2016-01-22 09:13:20 +00:00
Thiago Macieira
cfe891eeb8 Add Intel copyright to files that Intel has had non-trivial contribution
I wrote a script to help find the files, but I reviewed the
contributions manually to be sure I wasn't claiming copyright for search
& replace, adding Q_DECL_NOTHROW or adding "We mean it" headers.

Change-Id: I7a9e11d7b64a4cc78e24ffff142b506368fc8842
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-01-21 22:44:21 +00:00
Thiago Macieira
23bd4651c7 Update the Intel copyright year
Not that we require it, but since The Qt Company did it for all files
they have copyright, even if they haven't touched the file in years
(especially not in 2016), I'm doing the same.

Change-Id: I7a9e11d7b64a4cc78e24ffff142b4c9d53039846
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-01-21 22:44:16 +00:00
Jani Heikkinen
ad38ece3c8 Updated license headers
From Qt 5.7 -> examples are lisenced under BSD license, see
http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/

Updated license headers to use new BSD header instead of LGPL21 one
(in those files which will be under BSD)

Change-Id: I3ad61caaf07802eb9da7d29eca3fe49d8a51b6a8
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-01-21 18:55:32 +00:00
Jani Heikkinen
f776595cc1 Updated license headers
From Qt 5.7 -> tools & applications are lisenced under GPL v3 with some
exceptions, see
http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/

Updated license headers to use new GPL-EXCEPT header instead of LGPL21 one
(in those files which will be under GPL 3 with exceptions)

Change-Id: I42a473ddc97101492a60b9287d90979d9eb35ae1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-01-21 18:55:18 +00:00
Jani Heikkinen
18455d5585 Fixed qtbase tests to pass with updated license header
Change-Id: I996a1c3713d0799504bd98ffcdfdc7841c88182a
Reviewed-by: Antti Kokko <antti.kokko@theqtcompany.com>
2016-01-21 18:55:03 +00:00
Marc Mutz
5a30884c57 Document qAsConst(), turning it into public API.
[ChangeLog][QtCore] Added qAsConst().

Task-number: QTBUG-50548
Change-Id: Id25592c821808596c6a5768a42b76c1db569f490
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
2016-01-21 09:41:19 +00:00
Thiago Macieira
26ece94a68 Move QIpPacketHeader to the header where QNetworkDatagramPrivate will be
Change-Id: I14839ba5678944c2864bffff1417a1d4b790f9c3
Reviewed-by: Richard J. Moore <rich@kde.org>
2016-01-21 01:06:18 +00:00
Marc Mutz
198768cbba QWidget: fix expensive iteration over QMap::keys()
... with iteration over the hash itself.

Can't keep the call to ungrabGesture() in the loop,
because it removes the current element from the very
hash being iterated over. Instead, inline the call
and optimize based on the context:

- don't remove element by element, but clear the
  hash completely at the end.
- drag the check for QGestureManager::instance()
  out of the loop.
- drop the check for presence of the key in the
  hash, since it would be always true.

Change-Id: I6bf7cc8a59a51ccc8046a5b6d1cab5784e79fd55
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2016-01-20 21:17:53 +00:00
Robert Loehning
49a61f35f3 Add manual test for shortcut using implicit shift
In German layout, "Ctrl+/" is "Ctrl+Shift+7".

Change-Id: I50f3d77c4c76e7eb7cffe31283a3b73074324fea
Task-number: QTBUG-47122
Task-number: QTBUG-50360
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2016-01-20 12:50:11 +00:00
Eskil Abrahamsen Blomfeldt
4de1d0cb28 Android: Fix some QGraphicsScene tests
1. Use qrc for test data so that it can be found on all platforms.

2. Skip a test which does not work on platforms where show() implies
showMaximized(), as it depends on the window size being 150x150.

3. Skip test for hover event which depends on having a valid
mouse cursor position.

4. Skip a couple of tests that fail on some Android devices.
It's not worth spending a lot of time investigating this at the
moment.

Change-Id: Icb2b7f1d82981546a2154a76535b95606d7f40da
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2016-01-20 07:48:34 +00:00
Marc Mutz
a63a506d54 QSslContext: provide sharedFromConfiguration()
It's a version of fromConfiguration() that returns the QSslContext
instance in a shared instead of a naked pointer.

Use it in QSslSocketBackend.

The idea here, of course, is to use QSharedPointer<T>::create(),
which co-locates the refcount with the payload in a single memory
allocation, instead of QSharedPointer<T>(new T), which causes
two allocations.

Change-Id: Ia5396fb3b291f2912fca5cd97e0aa1e45e065e55
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-01-20 07:44:08 +00:00
Thiago Macieira
d6bb01e177 Force inclusion of <atomic> on QNX systems.
It's documented to exist in QNX 6.6, which is the minimum required
version for Qt 5.7 anyway.

http://www.qnx.com/developers/docs/660/index.jsp?topic=/com.qnx.doc.dinkum/topic/cpp11/index.html

Change-Id: I7e6338336dd6468ead24ffff141133a2d524f148
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-01-19 23:41:55 +00:00
Thiago Macieira
7ffcafd1b5 Remove all the atomic code besides MSVC and std::atomic
[ChangeLog][Important Behavior Changes] Starting with Qt 5.7, Qt
requires a C++11 compiler with support for C++11 atomics. This affects
user code too: Qt headers no longer compile with a C++98 compiler. The
minimum compiler versions for this release are:
 * Clang 3.4 (found in XCode 5.1)
 * GCC 4.7
 * Microsoft Visual Studio 2012

Change-Id: Ib056b47dde3341ef9a52ffff13ef1f496ea9363f
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
2016-01-19 23:41:52 +00:00
Marc Mutz
57671bebbc QGraphicsAnchorLayout: remove a misguided use of QLinkedList
QSimplexConstraints are held in QList everywhere, yet one
single function, getGraphParts(), used a temporary
QLinkedList. It did so because the function repeatedly
walks the list, erasing elements from it until no more
elements have been removed.

Thus, in O-terms, QLinkedList is the correct choice here.
Sadly, O-notation completely ignores the per-element cost,
and this is where QLinkedList suffers. By the time a QList
has shifted all of its elements left once, the QLinkedList
probably has just finished allocating its first node.

So, use a QList instead.

That, however, turns the it = erase(it) loop quadratic, so
re-formulate the processing part as a lambda and use
std::remove_if. Don't even erase until we know how many
items to erase.

As a benefit, we save the final conversion of the remaining
items back to a QList, and we can use QList::op+ to build
the initial list, reducing the number of allocations
performed by that container to one.

Also saves ~770b in text size on optimized GCC 5.3 Linux
AMD64 builds.

Change-Id: Iecf9e7961dd2b6b20039b9b0d472e32b3fae6994
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-01-19 21:38:24 +00:00
Marc Mutz
7a17340636 QSslContext: separate creation and initialization
This is in preparation of providing a named constructor that returns
a shared instead of a naked pointer.

Change-Id: I23aed950facac9d0b053321e75b61df7df8a6605
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-01-19 21:38:19 +00:00
Stephen Kelly
71be92c1d0 CMake: Pass -std=gnu++0x to generated tests in CI.
Add -stdlib=libc++ when using AppleClang.  If CMP0025 is OLD,
the compiler id is 'Clang' for backward compatibility.  So, if on a
CI machine running 'Clang', and on APPLE, use the -stdlib=libc++ flag
too.

Change-Id: I4910000ce08bae1201f7fa0e0eb46622bedd5c4f
Reviewed-by: Kevin Funk <kfunk@kde.org>
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2016-01-19 14:40:04 +00:00
Tobias Koenig
c5f7d15765 Replace ffsll with new qCountTrailingZeroBits
Change-Id: I44898909181e25247bf96cf4462971ac23c2a3ac
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-01-19 08:25:02 +00:00
Marc Mutz
ea76ab2b2d QtWidgets: replace uses of inefficient QList<QPair>s with QVectors
These QPairs are larger than a void*, so holding them in QLists
is needlessly inefficient. Worse, the code could come to depend
on the fragile property of (inefficient) QLists that references
to elements therein never are invalidated.

Fix by holding them in QVector instead.

Change-Id: I3c205f5326cfd96482563078bdca1747d718457f
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-01-18 10:34:24 +00:00
Shawn Rutledge
b30ea41945 eglfs: use QGenericUnixTheme if requested
We need to have reasonable paths for loading icons and such things, just
as in any other Unix GUI environment.  However there is some concern that
it would be too much of a behavior change if there was a theme by default,
so for now it's required to set the env var: QT_QPA_PLATFORMTHEME=generic
That works because QGuiApplicationPrivate::createPlatformIntegration() reads
the env variable and passes platformThemeName to init_platform().
Step 3 in init_platform() does not find a theme plugin by that name
(because QGenericUnixTheme is statically linked via libQt5PlatformSupport.a).
Then in step 4 it iterates the given platformThemeName plus any which
were returned from QPlatformIntegration::themeNames() (which in our case
will be an empty list) and calls createPlatformTheme() with each of
those, until something is returned.  So,
QEglFSIntegration::createPlatformTheme() will be called with the
value of the QT_QPA_PLATFORMTHEME env var, and
QGenericUnixTheme::createUnixTheme() will create the generic, KDE or Gnome
theme depending on that value.

Change-Id: Id16b881819ba872830b019ab147b32fbc2156520
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2016-01-18 08:32:59 +00:00
Marc Mutz
89f9f7cbdf QFileSystemModel: replace inefficient QList<Fetching> with QVector
The type Fetching is larger than a void*, so holding it in QList
is needlessly inefficient. Worse, the code could come to depend
on the fragile property of (inefficient) QLists that references
to elements therein never are invalidated.

Fix by holding it in QVector instead.

Also optimize the append site by liberal use of std::move(). This
code would greatly benefit from emplace_back(), but we can neither
assume it's present in std::vector nor do we require the necessary
C++11 features that would allow us to implement it in QVector, yet
(uniform init and, less so, variadic templates).

Change-Id: I50da0ffd557adff57477245d0e8c1fc1fec1ebc1
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-01-17 13:23:15 +00:00
Marc Mutz
d569f37dfd QGraphicsView: Graph: don't allocate QHashes on the heap
... just so you can observe their absence with QHash::value()
returning nullptr.

Instead, use find() + comparison to end() to detect presence
or absence.

Simplifies quite a bit of code.

Change-Id: Ifd7921bfc8102677ea345ae37d38da31b8105426
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-01-17 13:23:10 +00:00
Marc Mutz
a0cee9916a QGraphicsView: Graph: remove faulty const_iterator::op=
It failed to copy 'g'.

Fix by letting the compiler generate one.

Change-Id: Ie19fdacb8f27aef821be58c0b727c802d71bfe64
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-01-17 13:23:06 +00:00
Marc Mutz
1ee43b9b24 QGraphicsView: Graph: don't compare pointers with op<
It's undefined behavior. Use std::less, which has
defined behavior.

Change-Id: I990d197590cf535c1cb5c055d0b6798e602446dc
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-01-17 13:23:01 +00:00
Marc Mutz
f48f8ba0bb QHttpThreadDelegate: use default ctor instead of QSharedPointer(0)
Code like this makes it impossible to provide a templated
QSharedPointer<T>(X*) ctor, so proactively rewrite to use
the proper default ctor, which has the same effect.

Change-Id: I2572e92b12804f873fac4927e93db83f796729f5
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-01-17 13:22:56 +00:00
Swen Kooij
5eec43a44f qdbuscpp2xml: Fixed wrong filename being reported in messages
This caused the filename in messages to be one of the other arguments
that were specified instead of the actual filename.

Caused by the fact that mutations are possibly made to `args` in
`parseCmdLine` and thus the amount of items in `args` does not always
match the amount of items in `argv`.

Change-Id: Ief3716dde39dfdc949a5192e7f83d93cf90130f0
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-01-16 22:11:27 +00:00
Marc Mutz
1a84e55b8f QtCore: replace uses of inefficient QList<QPair>s with QVectors [itemmodels]
These QPairs are larger than a void*, so holding them in QLists
is needlessly inefficient. Worse, the code could come to depend
on the fragile property of (inefficient) QLists that references
to elements therein never are invalidated.

Fix by holding them in QVector instead.

Change-Id: Ie8d8eff3448ada7aef5dfba7fc701a59821f5b54
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-01-15 21:49:14 +00:00
Alex Trotsenko
982656351b QAbstractSocket: remove redundant handling of recursive calls
Recursion is alredy prevented by the emittedReadyRead member.
Disabling the read notifications also occurs when:

  - a new chunk of data has arrived on an unbuffered socket;
  - the buffer size limit has been reached on a buffered socket;
  - pauseSocketNotifiers() has been called

Subsequent calls to read() or resumeSocketNotifiers() should re-enable
the notifications independently from possible nesting.

Change-Id: I4587265b8d3ed137516e08fbe92dce2f5eab508c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Markus Goetz (Woboq GmbH) <markus@woboq.com>
2016-01-15 18:24:13 +00:00
BogDan Vatra
e666ce162b Helper function needed to run Runnables on Android UI thread easily.
Add a function to allow the users to easily run asynchronously Runnables for any thread
directly on Andoroid UI thread.

Change-Id: I631bf8a2c602e038039fec621ec01272af20a400
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2016-01-15 16:13:29 +00:00
Jani Heikkinen
1a88b2f768 Updated license headers
From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see
http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/

Updated license headers to use new LGPL header instead of LGPL21 one
(in those files which will be under LGPL v3)

Change-Id: I046ec3e47b1876cd7b4b0353a576b352e3a946d9
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-01-15 12:25:24 +00:00
Jani Heikkinen
71404b0be1 Add new license header templates and license files
From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see
http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/

Added new header templates and corresponding license files. Unnecessary
ones will be removed later when license header change is done to all
Qt modules

Change-Id: I8c482d81e40c03f0c6395e437f55527617aa6b58
Reviewed-by: Tuukka Turunen <tuukka.turunen@theqtcompany.com>
Reviewed-by: Iikka Eklund <iikka.eklund@theqtcompany.com>
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-01-14 20:43:46 +00:00
Anton Kudryavtsev
f1b796e3ba QHttpNetworkRequestPrivate: perform init by init-list in ctor
Change-Id: I2a8ced0eff726911daa71eb11e135f69612a9090
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-01-14 12:49:49 +00:00
Marc Mutz
ed45af5f3c QXcbXSettings: don't construct a QByteArray just to append it
... use QByteArray::append(char*,int) instead.

Also cache the return value of the out-of-line function
xcb_get_property_value_length().

Saves ~120b in text size, and a heap allocation.

Change-Id: I4d1deafdcd3345f2b7dfbf8c45702cfee733a269
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-01-14 12:48:16 +00:00
Marc Mutz
a836b4735c QXcbXSettings: replace a QLinkedList with a std::vector
Required to change an erase() loop into std::remove_if to
avoid running into quadratic behavior.

While at it, made QXcbXSettingsCallback a proper struct,
used aggregate initialization, and ported another loop to
C++11 range-for.

Saves ~0.5KiB in text size on optimized GCC 5.3 Linux AMD64
builds, and a lot of heap allocations.

Change-Id: I228bb853519ed2590375dc511e527f47bb8daa34
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-01-14 12:48:10 +00:00
Anton Kudryavtsev
fb1863e64a QPathSegments: set pathId to zero in ctor
Change-Id: Iaa4349914fbeca9c64863addb9892412e1bad65b
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
2016-01-14 05:25:20 +00:00
Alex Trotsenko
184d66caa5 QDataStream: handle incomplete reads from QIODevice
This adds a way to resume reading from a stream after a ReadPastEnd error.
This is done by introducing a stream read transaction mechanism that keeps
read data in an internal buffer and rolls it back on failure.

[ChangeLog][QtCore] Added QDataStream startTransaction(),
commitTransaction(), rollbackTransaction(), abortTransaction()
functions to support read transactions.

Task-number: QTBUG-44418
Change-Id: Ibf946e1939a5573c4182fea7e26608947218c2d9
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-01-13 16:31:33 +00:00
Oswald Buddenhagen
ca6f11dcf2 write all properties to qt.conf when -external-hostbindir is used
the presence of a [Paths] section causes QLibraryInfo to derive all
property values according to the Qt default directory layout,
disregarding the compiled-in paths from configure. consequently, we need
to write them all to qt.conf as well.

Change-Id: I3558e9aef1fce956812ea91e216f53bf7934c285
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2016-01-13 16:19:43 +00:00
Oswald Buddenhagen
c8ae9bf58d write [Paths] to qt.conf only if -external-hostbindir is used
there is no point in overriding the built-in defaults with the same
values.

Change-Id: I24f66b86f751f7044625b5256f3d979ece782cf7
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2016-01-13 16:19:39 +00:00
Erik Verbruggen
6ffa3696e0 ARMv8: Update qHash for strings to use the CRC32 instruction
Same as the SSE4.2 implementation: use the (optional) ARMv8 crc32[bhwd]
instruction to calculate hashes for strings. For Aarch64, support for
the instruction is dynamically detected. For a 32bit ARM binary, dynamic
detection is only done when the compiler is explicitly told to target
ARMv8. When telling the compiler to target an other/older version, the
crc32 code is not compiled.

Change-Id: I51ebc1a4545dede4988247e75043f29a64c2a6c5
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-01-13 09:05:06 +00:00
Erik Verbruggen
4417458d62 ARMv8: add crc32 feature detection.
Change-Id: I3cfac90dfa137d0bf3d124d87262eb2dbb56459c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-01-13 09:05:01 +00:00
Simon Hausmann
9a969182cf Merge "Merge remote-tracking branch 'origin/5.6' into dev" into refs/staging/dev 2016-01-13 07:19:44 +00:00
Dan Cape
f7020a31c0 Add ability to specify precision of float/double currency strings
Added a new overload function that allows the developer to
specify the desired precision. Until 6.0, it will require
the symbol and precision to be passed to it. Once Qt is at
version 6.0, it will replace the overload function that
requires a value and optionally a symbol.

[ChangeLog][QtCore][QLocale] Added an overload for toCurrencyString()
that allows the decimal precision to be specified.

Change-Id: I1fb7dde3583f46de2ed20ec2a7abaeca23a903ef
Task-number: QTBUG-46595
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-01-13 06:35:14 +00:00