summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib
Commit message (Collapse)AuthorAgeFilesLines
* Turn off compiler optimization in tst_qtendian for MSVC2008.Friedemann Kleint2014-03-041-0/+4
| | | | | | | | | | | | | This causes frequent compiler errors on Windows CE. tests\auto\corelib\global\qtendian\tst_qtendian.cpp(140) : fatal error C1001: An internal error has occurred in the compiler. (compiler file 'd:\orcas\compiler\utc\src\P2\main.c[0xCCCCCCCC:0xCCCCCCCC]', line 243) Task-number: QTBUG-37194 Change-Id: I2adbc1e3b1896fbe86780aa26a15e918333a09f2 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* tests: Remove superfluous gui additions to QTSergio Ahumada2014-02-281-1/+1
| | | | | | | by default QT contains both core and gui already Change-Id: I6f5b551104e40a024468e7cb62e302134e9472ec Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* tst_qnumeric: Mark some tests as XFAIL on BlackBerry 10Sergio Ahumada2014-02-281-0/+6
| | | | | | | | | | | | These tests seem to fail because denormalized numbers are not supported on QNX yet, so marking them as expected failures. - floatDistance(denormal) - floatDistance_double(denormal) Task-number: QTBUG-37094 Change-Id: I79dbc78da6e9bef8466264fd2cab4af0ee8b868f Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
* tst_qtjson: Mark some test as XFAIL on BlackBerry 10Sergio Ahumada2014-02-281-0/+14
| | | | | | | | | | | | | These tests seem to fail because denormalized numbers are not supported on QNX yet, so marking them as expected failures. - testNumbers_2() - toJsonLargeNumericValues() - parseNumbers() Task-number: QTBUG-37066 Change-Id: Ifec95b936fb70253395dee4d1ca18e85870486a3 Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
* Logging: Change 'rules' section name to 'Rules'Kai Koehne2014-02-262-6/+6
| | | | | | | | | This is more consistent with e.g. qt.conf, where section names also start with an upper case character. Change-Id: I9ddaf72baeb9334d081807412512242d5d46cbbf Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Remove qSort usages from core testsSergio Ahumada2014-02-224-5/+13
| | | | | | | | | QtAlgorithms is getting deprecated, see http://www.mail-archive.com/development@qt-project.org/msg01603.html Change-Id: I355558fe6a51d00e9aa1f8b1221c6ec0c1e6bb77 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Make sure all containers compile in strict-iterator modeThiago Macieira2014-02-2214-15/+33
| | | | | | | | | | | | | | | | | | Unit-test this by making the QList, QVector, QHash and QMap unit tests be duplicated under strict-iterator mode. There's no test for QLinkedList. The tst_Collections test does not compile under strict-iterator mode. It generated over 15000 errors when I tried. The strict iterators required a small change: the difference_type typedef needs to match the operators that get distances (operator-(iterator)) and move the iterator around (+, -, +=, -=, etc.). Task-number: QTBUG-29608 Change-Id: I834873934c51d0f139a994cd395818da4ec997e2 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: Jason McDonald <macadder1@gmail.com>
* QMarginsF - Add new QMarginsF classJohn Layt2014-02-212-0/+126
| | | | | | | | | | | | Add a new QMarginsF class to complement QMargins in the style of QSize/QSizeF and QRect/QRectF. [ChangeLog][QtCore] Added class QMarginsF to support handling margins with floating-point values. Change-Id: Iaaa95ec85f5d126d9d864fc4b607241a8c8a8f3a Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* QRect - Add missing QMargins subtraction operatorJohn Layt2014-02-211-0/+4
| | | | | | | | [ChangeLog][QtCore][QRect] Added QMargins subtraction operator. Change-Id: I64d449e2bae81a34df2cd019cff3fb186f8aaaae Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* QMargins - Add missing operatorsJohn Layt2014-02-211-0/+7
| | | | | | | | | | | Add missing standard operators. [ChangeLog][QtCore][QMargins] Added missing addition and subtraction operators. Change-Id: I6aeed39531a736c12d378a817a9431279da79bc4 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Loosen checks for Q_COMPILER_VARIADIC_MACROSKai Koehne2014-02-201-0/+5
| | | | | | | | | | | | | | | | | | | | So far we did bind the definition of Q_COMPILER_VARIADIC_MACROS to C++11 (so gcc, clang will not define it in default gnu++98 standard). However, variadic macros are a feature of the gcc preprocessor since version 2.97, and are enabled in the default configurations on gcc, clang, icc. This might cause warnings and errors though if one enables additional warnings in gcc, clang (e.g. by -pedantic). Anyhow, as a precedent qglobal.h already relies on 'long long' ... The warning can be disabled by adding '-Wno-variadic-macros'. [ChangeLog][Compiler Specific Changes] Variadic macros are now enabled more liberally for gcc, clang, icc. If you have warnings (because you e.g. compile with -pedantic), disable them by -Wno-variadic-macros. Change-Id: Ie979b85809508ad70cab75e6981f20496429f463 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-02-181-10/+42
|\ | | | | | | | | | | | | Conflicts: src/plugins/platforms/android/qandroidplatformtheme.h Change-Id: I541bd3069df3ab54c7942d5f4a9e155e3b6566a0
| * Make a URL with absent authority be different from one with an empty oneThiago Macieira2014-02-171-10/+42
| | | | | | | | | | | | | | | | | | | | | | | | This partially reverts 5764f5e6eaf149116a818658883cf4fae9830f30 and fixes the problem differently. After this commit, "file:///foo" is still equal to "file:/foo", but "foo:///foo" becomes different from "foo:/foo", as it should be. Task-number: QTBUG-36151 Change-Id: Ia38638b0f30a7dcf110aa89aa427254c007fc107 Reviewed-by: David Faure <david.faure@kdab.com>
* | Remove a not required whitespace when writing JSON in compact formatLars Knoll2014-02-161-4/+4
| | | | | | | | | | | | | | Task-number: QTBUG-36682 Change-Id: I0c1c0de850504c8dff20a5ae724cc868d9f983f8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Add a testAndSet overload to the atomics that returns the current valueThiago Macieira2014-02-163-1/+525
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is extremely useful, since the most common action after a failed compare-and-swap is to loop around, trying again with the current value as found in memory. Code currently written as: do { Type value = atomic.load(); ... } while (!atomic.testAndSetRelaxed(value, desired)); Becomes: Type value = atomic.load(); do { ... } while (!atomic.testAndSetRelaxed(value, desired, value)); In most CPU architectures, the value that was found in memory is known to the compare-and-swap code, so this is more efficient than the previous code. In architectures where the value is not known, the new code is no worse than before. The implementation sometimes modified an existing function, sometimes it added a new one, depending on whether more registers were needed in the assembly (like ARMv6-7), the code became more complex (ARMv5), the optimizer failed (C++11), or it was just plain equivalent (MIPS). Change-Id: I7d6d200ea9746ec8978a0c1e1969dbc3580b9285 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Add qHash() overloads for floating-point typesMarc Mutz2014-02-161-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This implementation is based on GCC's implementation of std::hash<FP>, but only to the extent of checking for zero before hashing the bits. The bit hasher is the Qt one; I didn't even look what GCC uses. The check against 0.0 is mandated by the requirement to have \forall x,y: x == y => qHash(x) == qHash(y) which would be violated for x = 0.0 and y = -0.0 if we only hashed the bits. Implemented out-of-line to avoid potential FP-comparison warnings, as well as to be able to use the file-static hash() functions, which gets inlined unlike qHashBits(), which cannot be. [ChangeLog][QtCore][QHash/QSet] Allowed to use float, double and long double as QHash/QSet keys. Change-Id: I38cec4afb860f17e9f8be7b67544e58b330f8fff Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* | tst_qsignalblocker: simplify testMarc Mutz2014-02-161-138/+13
| | | | | | | | | | | | | | | | | | This test can assume that the QObject::signalsBlocked property works as advertized, so just check signalsBlocked() in repsonse to QSignalBlocker manipulations. Change-Id: I99e4ef9c4ed05c3840233d92a587636d2d78f59a Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | Add const overload for QLoggingCategory::operator()()Kai Koehne2014-02-151-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change 85e57653 caused a compile error for code that does Q_DECLARE_LOGGING_CATEGORY(cat); //.. qCDebug(cat()) << // ... error: C3848: expression having type 'const QLoggingCategory' would lose some const-volatile qualifiers in order to call 'QLoggingCategory &QLoggingCategory::operator ()(void)' This is a regression from Qt 5.2. Fix the error by adding a const version of operator()(). Change-Id: I2fb04f2e155962adee0f98089fc5a159000bef56 Reviewed-by: Alex Blasche <alexander.blasche@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | WinRT: Added socket engine implementationOliver Wolff2014-02-151-0/+4
| | | | | | | | | | | | | | | | | | | | Added basic functionality to socket for WinRT. Even though not all auto tests pass yet, this patch can be seen as a foundation for upcoming work in this area. Reading from and writing to TCP socket works and one can listen for tcp connections. Change-Id: Id4c25ba1c7187ed92b6368c785c4f62837faded7 Reviewed-by: Andrew Knight <andrew.knight@digia.com>
* | Enable QByteArrayList testsJędrzej Nowacki2014-02-141-0/+1
| | | | | | | | | | Change-Id: Id7e0550e857bf4221f49d08539a0b5c70d8386d3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | Fix QDateTime auto testBernd Weimer2014-02-141-1/+2
| | | | | | | | | | | | | | | | Conversion from UTC to local time will result in same datetime value, if local time is in UTC. Change-Id: Icd4ea57cb46cc97bcc8fce4f4e579bf64a4d4b10 Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
* | Add function to get the actual PID from QProcessChristian Strømme2014-02-141-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was not possible to get the actual process ID (in a cross-platform manner) from QProcess, as the user would need to handle the returned typedef (Q_PID) differently on Unix and Windows. On Unix Q_PID is the actual process ID, but on Windows it's a pointer to a PROCESS_INFORMATION structure, which among other fields contains the process ID. Instead of returning a pointer on Windows, QProcess::processId() will return the actual process ID on both Windows and Unix. [ChangeLog][QtCore][QProcess] Added processId() to QProcess. This function will, unlike pid(), return the actual process identifier on both Window and Unix. Task-number: QTBUG-26136 Change-Id: I853ab721297e2dd9cda006666144179a9e25b73d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Konstantin Ritt2014-02-133-0/+65
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-02-123-0/+65
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/image/qimage.cpp src/gui/text/qtextengine.cpp src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp src/printsupport/kernel/qprintengine_win.cpp Change-Id: I09ce991a57f39bc7b1ad6978d0e0d858df0cd444
| | * support c'tor as second parameter in foreach macroJoerg Bornemann2014-02-111-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Passing a constructor as second argument to foreach didn't work when building with gcc. For MSVC this already worked as a different foreach implementation is used. Change-Id: Id98444c699b4cebc14ea62076c5f7cba33ffb824 Reviewed-by: hjk <hjk121@nokiamail.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
| | * QStandardPaths: fix empty path in XDG_DATA_DIRS being treated as '/'.David Faure2014-02-101-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The basedir xdg spec says: "All paths set in these environment variables must be absolute. If an implementation encounters a relative path in any of these variables it should consider the path invalid and ignore it." Therefore we ignore relative paths including the empty string. Change-Id: I8f779b78981018051b16de23b2514f2e62b7ab39 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Don't deadlock when deleting slot objects in QMetaObject::activate()Thomas McGuire2014-02-081-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | The slot object was deleted after the mutex was relocked, which caused a deadlock in case the functor destructor locked the same mutex again. Change-Id: I5b4fb22fdb4483f91c89915872bfd548c31b0eea Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
| | * QStandardPaths: ensure that paths use '/' on all platforms, as the comment saidDavid Faure2014-02-081-0/+2
| | | | | | | | | | | | | | | Change-Id: Id70b5e92c07f63e71e7a1a8fb229f927d352ebdd Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | new QByteArrayList classGlen Mabey2014-02-122-0/+227
|/ / | | | | | | | | | | | | | | | | | | | | Initial submission of a new class QByteArrayList with the purpose of aggregating and then joining QByteArray instances. [ChangeLog][QtCore] Added new QByteArrayList class. Change-Id: I2a9dc71ff7aadb19ebc129a0d47ac8cd33895924 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Allow configuration of logging rules from file systemKai Koehne2014-02-114-1/+192
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow configuration of logging rules from outside of the application, either through a configuration file (.config/QtProject/qtlogging.ini), or through a file specified by a QT_LOGGING_CONF environment variable. The logging rules from the different sources are concatenated: First the rules from QtProject/qtlogging.ini are applied, then QLoggingCategory::setLoggingRules(), finally from the environment. This allows an application to overwrite/augment the system wide rules, and in turn that can be tailored for a specific run by setting a configuration in the environment variable. [ChangeLog][QtCore][Logging] The logging framework can now be configured with an .ini file. Change-Id: I442efde1b7e0a2ebe135c6f6e0a4b656483fe4b1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Frederik Gladhorn2014-02-1112-4/+97
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-02-0712-4/+97
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/kernel/qguiapplication.cpp src/plugins/platforms/android/androidjnimain.cpp src/plugins/platforms/android/qandroidplatformintegration.cpp src/plugins/platforms/android/qandroidplatformintegration.h src/plugins/platforms/android/qandroidplatformopenglcontext.cpp src/plugins/platforms/cocoa/qcocoawindow.h src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/sql/doc/src/sql-driver.qdoc src/widgets/widgets/qtoolbararealayout.cpp Change-Id: Ifd7e58760c3cb6bd8a7d1dd32ef83b7ec190d41e
| | * QFileSelector: correct the macros for Apple platforms.Jake Petroules2014-02-049-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a serious regression from 7d72516b52b20b0782d972224a55a43e74b8ae5a. [ChangeLog] QFileSelector: the identifier for OS X has been changed back to 'osx' from 'mac', and 'mac' and 'darwin' have now been added as selectors for Darwin OS (which is the base of both OS X and iOS). Task-number: QTBUG-35073 Change-Id: I83183e34c5a697338cc1ddcac33a41bd379ded12 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
| | * Fix sorted QSortFilterProxyModel filter updateNils Jeisecke2014-02-031-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When changing a filter so that a previously empty proxy model becomes populated sorting was not applied correctly. This was caused by using mapToSource for getting source_sort_column from proxy_sort_column. For an empty proxy model this won't work because no valid proxy index can be created in this case. We now directly use the root index column mapping instead by doing essentially the same as QSortFilterProxyModelPrivate::proxy_to_source but without the sanity checks needed for external use. The sorting feature of QSortFilterProxyModel has always assumed that the number of columns is specified by columnCount(QModelIndex()) so the behavior doesn't change. [ChangeLog][QtCore][QSortFilterProxyModel] Fixed sorting when a previously empty proxy model becomes populated because of a change in the filter. Task-number: QTBUG-30662 Change-Id: I21322122e127889dfadc02f838f0119ed322dcab Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
| | * Make the QEXPECT_FAIL agree with the QVERIFY2 condition belowJan Arve Saether2014-01-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Even if the system is not under high load, this test can generate 4 updates on Windows. This is seems to be because the timer actually triggers before its supposed to (sometimes the second start() triggers an update right before the animation is done (at timestamp 399 for instance), forcing it to generate yet another timer event in order to reach the end)). Under high load conditions, too many things can break this test, usually it finishes even before the pause(), causing the QVERIFY(animation.state() == QAbstractAnimation::Paused); to fail. Change-Id: Id94c0d16656675bc6165b7795f3c41a30616a3ba Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
| | * Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2014-01-221-0/+56
| | |\ | | | | | | | | | | | | Change-Id: I885821d93a41b0caad627bfc16aa8eed21d2f5b9
| | | * Fix a bug in some QString comparison operatorsLars Knoll2014-01-211-0/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some comparison operators comparing to const char * where not implemented correctly. Task-number: QTBUG-34024 Change-Id: Idbdc64c8ed93e88d9f2b2f55213bc785b33cb543 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
| | * | QDir: Do not assume that root ends with a slashOrgad Shaneh2014-01-221-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Root can also be "//server" Task-number: QTBUG-35402 Change-Id: I25250b7dcb10cba7b676a0c88b64a402494d7481 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | | Print qCDebugs in arbitrary categories by defaultGiorgos Tsiapaliokas2014-02-101-15/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The debug output of all categories will be visible by default, except from the "qt.*" categories. "qt.*" categories are private and their default debug output will be hidden. [ChangeLog][QtCore][Logging] Enable qCDebug's for all categories except qt one's Change-Id: Ibe147c8bbe0835a63b3de782288b9c3251321d8f Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* | | | Fix QString::toUcs4 returning invalid data when encountering stray surrogatesGiuseppe D'Angelo2014-02-071-5/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Code units 0xD800 .. 0xDFFF are not UCS-4, so we can't happily return them. Instead, if we encounter a stray surrogate, replace it with 0xFFFD, which is what Unicode recommends anyhow. References: §3.9 Unicode Encoding Forms D76: Unicode scalar value: Any Unicode code point except high-surrogate and low surrogate code points. As a result of this definition, the set of Unicode scalar values consists of the ranges 0 to D7FF_16 and E000_16 to 10FFFF_16, inclusive. [...] UTF-32 encoding form: The Unicode encoding form that assigns each Unicode scalar value to a single unsigned 32-bit code unit with the same numeric value as the Unicode scalar value. § C.2 Encoding Forms in ISO/IEC 10646 UCS-4. UCS-4 stands for “Universal Character Set coded in 4 octets.” It is now treated simply as a synonym for UTF-32, and is considered the canonical form for representation of characters in 10646. § 3.9 Unicode Encoding Forms (Best Practices for Using U+FFFD) and § 5.22 Best Practice for U+FFFD Substitution Whenever an unconvertible offset is reached during conversion of a code unit sequence: 1. The maximal subpart at that offset should be replaced by a single U+FFFD. 2. The conversion should proceed at the offset immediately after the maximal subpart. [...] Whenever an unconvertible offset is reached during conversion of a code unit sequence to Unicode: 1. Find the longest code unit sequence that is the initial subsequence of some sequence that could be converted. If there is such a sequence, replace it with a single U+FFFD; otherwise replace a single code unit with a single U+FFFD. 2. The conversion should proceed at the offset immediately after the subsequence which has been replaced. [ChangeLog][QtCore][QString] QString::toUcs4 now does not return invalid UCS-4 code units belonging to the surrogate range (U+D800 to U+DFFF) when the QString contains malformed UTF-16 data. Instead, U+FFFD is returned in place of the malformed subsequence. Change-Id: I19d7af03e749fea680fd5d9635439bc9d56558a9 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | | Fix compilation after b0afad8f0b6a3be7ab3a23e063b0201cd68ada95Thiago Macieira2014-02-071-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | That commit made QString::toXxx (8-bit) functions use C++11 ref qualifiers, so we need to match it here. Change-Id: I45b50464d36f858d012b12e0cb511aae347ddb6f Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* | | | Long live QStringIterator!Giuseppe D'Angelo2014-02-073-0/+681
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | UCS-4 iterator over a QString. Kept private for now so we can still work on the API. Done-with: Thiago Change-Id: I377f8bb1921e591ee3292c08c3e097fb6bc7f0c4 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | | Add QString::fromUtf16 with char16_t and fromUcs4 with char32_tThiago Macieira2014-02-071-3/+40
|/ / / | | | | | | | | | | | | | | | | | | | | | Because they make sense. I'm even thinking that the char16_t version should get a QString implicit constructor. Maybe both encodings. Change-Id: Ifffc61dd890795fbbbd5f7cb5efb3e6287d1270e Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | Fix MSVC-warning about unused variable eventdispatcher.Friedemann Kleint2014-01-311-1/+1
| | | | | | | | | | | | | | | Change-Id: Ic7c12f16c310cc681bba39a7969de235afcf0f44 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* | | tst_qpauseanimation: Fix condition in QEXPECT_FAIL.Friedemann Kleint2014-01-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | introduced by b0b22e8d496e753642fa8ddb05f167a722c65c00 . Change-Id: Ia57331ce9373a414f2bc56962412f20ef83bd7ca Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* | | Replace the type-based QAtomicIntegerTraits with a size-based oneThiago Macieira2014-01-3021-6/+513
| | | | | | | | | | | | | | | | | | | | | | | | This simplifies the code a lot and avoids silly mistakes where a specific integer type is missing (such as char16_t). Change-Id: Id91dfd1919e783e0a9af7bfa093ca560a01b22d1 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | Revert "test: marked tst_qlocale as insignificant on Windows"Friedemann Kleint2014-01-301-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit b7486591cd114351c755b9e8b2bfe5d175461ec9. Conflicts: tests/auto/corelib/tools/qlocale/test/test.pro Task-number: QTBUG-25284 Task-number: QTBUG-36306 Change-Id: If4a335c114302f7af999d7a254e1aa55b2df7176 Reviewed-by: Simo Fält <simo.falt@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Introduce QChar::JoiningType enum and QChar::joiningType() methodKonstantin Ritt2014-01-291-20/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This aimed to disctinct joining types "L", "T", and "U" from just "U". Unicode 6.3.0 has introduced a character with joining type "L" and Unicode 7.0 will add a few more characters of joining type "L", so we'll have to deal with it anyways. [ChangeLog][QtCore][QChar] Added JoiningType enum and joiningType() method that deprecates the old QChar::Joining enum and joining() method. Change-Id: I4be3a3f745d944e689feb9b62d4ca86d1cf371b0 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Fix usage of QObjectPrivate::connect when q_func() is private.Olivier Goffart2014-01-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | q_func() which is declared in Q_DECLARE_PUBLIC is usually private. We should use q_ptr directly in QObjectPrivate::connect, otherwise it does not compile when trying to access the private q_func Change-Id: I235165a0994327102dbb31c390c2cafdffe806dc Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* | | Fix tst_QLocale::windowsDefaultLocale().Friedemann Kleint2014-01-281-16/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adapt to Windows-version-specific changes. Task-number: QTBUG-36306 Task-number: QTBUG-33718 Change-Id: I8275423f6f79ede3c3903a646b731eba2182e83c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>