summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools
Commit message (Collapse)AuthorAgeFilesLines
* Use the stateless UTF-8 encoder in QStringRef::toUtf8Thiago Macieira2014-07-251-1/+1
| | | | | | | | QString::toUtf8 already does it. I guess I forgot to update this part in d51130cc3a00df8147e2eb0799e06865c901c6e0. Change-Id: I83feafcb0383758f7e64d5142f57a7ae6a2ff351 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Doc: Fix typo in QScopedValueRollbackKevin Funk2014-06-301-1/+1
| | | | | Change-Id: I9835b284d6bba5f7632cae6b179c6c1b08265e5c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Fix QRingBuffer::readPointerAtPosition()Alex Trotsenko2014-06-241-1/+1
| | | | | | | Fix condition to allow return a valid pointer when head != 0. Change-Id: I5215f7dfc44924016c2d9b67ab2d9935b5164d7a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Fix compilation with the Intel compiler on certain systemsThiago Macieira2014-06-191-1/+3
| | | | | | | | We require the intrinsics from immintrin.h, so include it unconditioanlly with that compiler. Change-Id: I4a17676631f9d89e2d22e486f40c9b177ca06c1e Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Fix case insensitive comparisons using QCollatorLars Knoll2014-06-122-5/+15
| | | | | | | | | | | | In ICU the strength parameter decides whether a comparison is case sensitive or not. Fix mac comparison code. It can't have worked before. Added some basic automated testing for QCollator. Change-Id: I2646c464fd22ccd3a93c461fa3dba4bd1d4c7b4b Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Fix documentation about QStringLiteralKai Koehne2014-06-061-3/+1
| | | | | | | | | | | | The fallback for QStringLiteral in case C++11 features are not enabled is QString::fromUtf8(), not QLatin1String(). Also, the result of a QStringLiteral expression _is_ a QString. Change-Id: Ib9c2f4c13fff237de3acb2e0f64027bacea6271c Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* qfreelist: fix data race on v[at].nextDavid Faure2014-06-051-5/+5
| | | | | | | | Detected by clang's -fsanitize=thread in tst_qcoreapplication. Task-number: QTBUG-39024 Change-Id: I60b7cece0384f89dc62ac5128faf39a4084e72e2 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* remove HSTRING instancesMaurice Kalinowski2014-06-031-3/+3
| | | | | | | | | | | HSTRING needs to be released or handles will be leaked. Instead use HString which takes care of resource management on its own. Task-Number: QTBUG-38115 Change-Id: I2c767776c1f22f45acd8dd77b693f30d63d894b9 Reviewed-by: Andrew Knight <andrew.knight@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* Remove unused QMapNode{,Base}::minimumNodeThiago Macieira2014-05-281-6/+0
| | | | | | | | | | | | These functions are not used anywhere. Since the classes are not documented, we're free to remove the inline functions. The implementation of the const function in QMapNode is also bogus: it discards a const qualifier. Task-number: QTBUG-39301 Change-Id: Ib8fd10a4da4b58a62cef17017ea6127c4d964325 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix typos in comments (qfreelist and qmutex)David Faure2014-05-261-1/+1
| | | | | Change-Id: I782b18b9f82a72a29371564838252e1838faf86c Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* WinRT: Fix compile warningsMaurice Kalinowski2014-05-261-0/+1
| | | | | Change-Id: If223dd73b9558a0f5144be38f19a61316f8c807b Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* Disable hash seeding for bootstrapped toolsThiago Macieira2014-05-211-4/+4
| | | | | | | | | | | | | | | | | | Any bootstrapped tool is a development tool, by definition. So the effects of seeding the hash with a random number can cause the same source input to produce different binary results, which can throw some caching tools into disarray (like the Open Build System). There should be minimal fall out from the reduced protection against DoS. Since those are only development tools, "specially crafted" input implies the developer is DoS'ing him/herself. Note: the change to qhash.cpp applies to moc and rcc, which are always bootstrapped. Change-Id: I061ab52036e40627c0703f1bf881455cbf848f43 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: hjk <hjk121@nokiamail.com>
* Fix minor coding style issues in new code in QtCoreThiago Macieira2014-05-192-2/+4
| | | | | | | Change-Id: I444daf8e81257f55746f9d32fbcb60a2e1b69444 Reviewed-by: Liang Qi <liang.qi@digia.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Call tzset() before localtime_r() as the docs say.Gunnar Sletta2014-05-161-0/+3
| | | | | | | | Without it, one might run the risk of QDateTime::currentDateTime() returning an invalid QDateTime the first time after changing timezone. Change-Id: I3efb04d41e7fe4685f6cc5fb41b68424eb4b9eb8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2014-05-141-1/+1
|\ | | | | | | Change-Id: If1abbe7810ea43ae750db91066f9f579c79b2289
| * Fix an off-by-4 error in qHash with CRC32Thiago Macieira2014-05-131-1/+1
| | | | | | | | | | | | | | | | | | I tested only the 64-bit build. The 32-bit build was reading garbage past the end of the strings in some cases. Change-Id: If6d239754e16a17cc4e8bb71e2b7778429dfa7ba Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | QDateTime: Fix sign handling in the timezone offset writerDaniel Seither2014-05-081-1/+1
| | | | | | | | | | | | | | | | | | Previously, this produced wrong results, for example -3:30 became -3:-30. Change-Id: I10efdfb48e5542b917c86b29cf8a99bfc26f7fe0 Reviewed-by: John Layt <jlayt@kde.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | QDateTime: Fix sign handling in the timezone offset parserDaniel Seither2014-05-081-6/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | Previously, parsing negative timezone offsets with minutes != 00 produced wrong results. Examples (in -> out) -00:15 -> +00:15 -01:15 -> -00:45 Change-Id: I6fa30810a08bdf2996365661720b2e362e8aeb93 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: John Layt <jlayt@kde.org>
* | Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2014-05-031-7/+1
|\| | | | | | | | | | | | | Manually fixed up: isES -> isOpenGLES src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp Change-Id: I57d2ef26c3d4a7b40ace09f4e8560b7686650ea5
| * Fix more double release in QTimeZone on MacJean-Philippe Proulx2014-05-021-6/+0
| | | | | | | | | | | | | | | | | | | | | | Several objects are released without being retained. This causes double free crash. Task-number: QTBUG-37582 Task-number: QTBUG-35890 Change-Id: Ic64419c22ab555ba77ada1864feaff247798d3ad Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
| * Fix double release in QTimeZone on MacJean-Philippe Proulx2014-04-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | m_nstz is released in the destructor but not retained when using the QTimeZone(QByteArray) constructor. Task-number: QTBUG-35890 Task-number: QTBUG-37582 Change-Id: Ia569830bcd3c2f2cea04ad6696e681c4f2a3c137 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* | Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2014-05-0112-33/+56
|\| | | | | | | | | | | This merge adds the opengl rename. Change-Id: I84ea0b6abee9780ebb2cf3f64ab9e3fdf2acab3e
| * Deprecate setSharable in Qt containersThiago Macieira2014-04-2411-13/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ability to set a container to be unsharable has very little use and it costs us an extra conditional for every refcount up and possibly down. This change is a no-op for current Qt 5. It shuffles a few things around just so Qt can compile if you define QT_NO_UNSHARABLE_CONTAINERS. That is done to ease the fixing of the code in Qt 6 and to make my life easier: I'll keep that defined in my local Qt build so I can catch any misuses of this deprecated API. The newly deprecated methods are not marked QT_DEPRECATED because the bootstrapped tools wouldn't build -- they're built with QT_NO_DEPRECATED defined, which causes build errors. [ChangeLog][QtCore] The setSharable() and isSharable() functions in Qt containers has been deprecated and will be removed in Qt 6. New applications should not use this feature, while old applications that may be using this (undocumented) feature should port away from it. Discussed-on: http://lists.qt-project.org/pipermail/development/2014-February/015724.html Change-Id: I789771743dcaed6a43eccd99382f8b3ffa61e479 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * Document QString's UTF-8 conversion behaviorsThiago Macieira2014-04-241-20/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We haven't handled the Unicode non-characters specially since Qt 5.2 (since commit 9327bc87c3abf58bb471693b5448cd78e3db1b46), so this part of the documentation was stale. Since Qt 5.3 (since 8dd47e34b9b96ac27a99cdcf10b8aec506882fc2), QString will insert one replacement character for each byte that can't be decoded properly. [ChangeLog][Important Behavior Changes][UTF-8 decoding] The QString UTF-8 decoder changed behavior slightly: when it encounters invalid sequences, it will insert one replacement character per byte that is invalid, instead of one replacement character for the whole invalid length. Change-Id: Ia4ec78afded9445bbe937311d6be80f71bd1a55f Reviewed-by: Richard J. Moore <rich@kde.org> Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Allow building against static ICU libs also on UnixKai Koehne2014-04-291-2/+2
| | | | | | | | | | | | | | | | | | | | For dynamic builds of ICU, libicudata is an implicit dependency. Anyhow, it doesn't harm to explicitly link against it, either. So let's do this everywhere ... Task-number: QTBUG-38445 Change-Id: I420ba096e2ce5e1b8d81814ffb4aa7b300143b01 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Doc: QSize::isValid does >= 0 instead of > 0 comparisonsThiago Macieira2014-04-291-1/+1
| | | | | | | | | | | | | | | | | | The member function documentation was correct, just the class description was off. Task-number: QTBUG-38535 Change-Id: I55dded9d5ea79d93ce4984911acbeec8bbe6884a Reviewed-by: Martin Smith <martin.smith@digia.com>
* | Merge remote-tracking branch 'origin/release' into stableJani Heikkinen2014-04-234-4/+47
|\| | | | | | | Change-Id: Id13b4a3803664692f32f9d57549be8a0c4a08567
| * Fix warning with -Wswitch-enumKonstantin Ritt2014-04-232-0/+6
| | | | | | | | | | | | | | | | > warning: enumeration values 'Joining_None', 'Joining_Left', and 'Joining_Transparent' > not explicitly handled in switch [-Wswitch-enum] Change-Id: I314b486462451e7d62980b6185b46cd115be1547 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * Improve the Unicode script itemization implementationKonstantin Ritt2014-04-141-4/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make it closer to the Unicode specs (UAX#24): * Common now inherits the preceding character's script, if any; * In a combining character sequence, if the base character is of Common script, the entire sequence is treated like if it were of the first non-Inherited, non-Common script in the sequence. See http://www.unicode.org/reports/tr24/tr24-21.html for more details. [ChangeLog][QtGui] Fixed regression in arabic text rendering. Task-number: QTBUG-28813 Task-number: QTBUG-29930 (related) Task-number: QTBUG-35836 Change-Id: Id85761965b08ca94c674d5f3613fe58b82b2ce9c Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: Ahmed Saidi <justroftest@gmail.com>
| * Doc: document QTimeZone::swap()Marc Mutz2014-04-101-0/+7
| | | | | | | | | | | | Change-Id: I80d55df65546b671772ed93cb852e88ee040114a Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | QCollator: Add note about ICU dependency.Friedemann Kleint2014-04-161-0/+5
| | | | | | | | | | | | | | Task-number: QTBUG-28766 Change-Id: If661915457c4874a72e1111b85897aea596362bf Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Fix documentation of QRegExpjkobus2014-04-141-2/+2
|/ | | | | Change-Id: I6c9083941eb791eb34ce982986e3e04ac5a765ad Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
* Fix capacity reservation for shared QByteArrayThiago Macieira2014-04-051-1/+1
| | | | | | | | | | | | We can squeeze, but not by discarding elements. Make sure the size of the object stays intact after changing the reserved capacity. I've also added unit tests for other containers, just to be sure. Task-number: QTBUG-37750 Change-Id: I5135b095943b7589423c51cebcb52af792468e61 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* Don't read before the beginning of the stringThiago Macieira2014-04-041-5/+11
| | | | | | | | | | The code did discard the the data, so it wasn't affecting the comparison result (tests added anyway), but it could cause crashes if the pointer to the beginning of the data in the first 8 bytes of a page. Change-Id: I618e68de329b65de34ef8c934934c3e631cc6c9f Reported-By: Erik Verbruggen Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* Fix unused variable warningKonstantin Ritt2014-04-011-1/+1
| | | | | | | | > qstring.cpp:5325:1: warning: 'defaultCollator' defined > but not used [-Wunused-variable] Change-Id: I29fe2006a678f4f0b3b504b90120c0e99d7090fb Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix compile for embedded Androidaavit2014-03-311-1/+1
| | | | | | | It also has a broken declaration of posix_memalign Change-Id: Ie8f245564f80b04901425729b46953828204efaf Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Fix typosFrederik Gladhorn2014-03-291-1/+9
| | | | | Change-Id: I5388666f68f44b052b8950741a5d43f951ba4931 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Mark QPoint, QPointF, QRect, QRectF as reentrant.Mitch Curtis2014-03-272-0/+4
| | | | | | | Task-number: QTBUG-37667 Change-Id: I978a53e075efcfba8898c8e96bce8f19350dd6c4 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Reuse one QCollator instance for QString::localeAwareCompareLars Knoll2014-03-271-2/+8
| | | | | | | | | | | | | Constructing a QCollator is somewhat expensive, and made localeAwareCompare really slow. As QCollator (at least with the ICU implementation) is not thread safe, use one collator per thread. This speeds up collation of a long list of strings by a factor of 250 for the test case in the bug below. Task-number: QTBUG-36149 Change-Id: I645cdc3546347d1dcc7a03b7563b628c7f756944 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Remove useless Q_NO_DECLARED_NOT_DEFINED flagJędrzej Nowacki2014-03-251-1/+1
| | | | | | | | | | The flag is used only in qstring.h and gives no real value. Task-number: QTBUG-37437 Change-Id: I7513b56af208a5edee8452b8bbcb9b128e25133d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix some documentation errors.Friedemann Kleint2014-03-242-2/+22
| | | | | | | | Correct links and fix typos, remove obsolete documentation, fix some snippets, mark some classes as internal. Change-Id: I9a3266605f060783413d32740057a57a820c8929 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Fix qdoc warnings in QMargins, QRect.Friedemann Kleint2014-03-212-8/+8
| | | | | Change-Id: Iae2486e1f335679c288e05f45e2d283a7cf971c0 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* Fix typos in QRegExp documentationKai Koehne2014-03-191-2/+2
| | | | | | Change-Id: I80bce716ac1c161fd87291ecdbf21eb8f3f25e5a Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Fix double release in QTimeZone on MacFrederik Gladhorn2014-03-191-1/+0
| | | | | | | | | availableTimeZoneIds would release the enumerator. This leads to a double free, so simply don't release the enumerator. Task-number: QTBUG-37582 Change-Id: I521a9555d32545afd47095235ccee75a4f3e1974 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Doc: document QSharedPointer::swap() methodMarc Mutz2014-03-172-0/+10
| | | | | | | | | | The function is already present for quite some time, but was never documented, so declare it as \since 5.3. Add swap() function to qsharedpointer.h so it's visible to QDoc, too. Change-Id: I8eba420878a096392fd181a180d5751101d37a50 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove level 4 compiler warnings from MSVC.David Schulz2014-03-156-8/+62
| | | | | | | | | | Task-number: QTBUG-7233 Change-Id: I52067e3a22e98a62fd87415906e54a54ff2d6b49 Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Dave McClelland
* Use QCommandLineParser in example dnslookup.Friedemann Kleint2014-03-151-0/+72
| | | | | | | | | | | Show how use QCommandLineParser with additional parameter checking for custom options and positional arguments. Also explain how to display help in GUI applications. Change-Id: I03513e09b7dd5b150259593da0af2ef2a281cab2 Reviewed-by: David Faure <david.faure@kdab.com>
* Doc: correction link, example and parameter issues qtbaseNico Vertriest2014-03-104-66/+97
| | | | | | | | | | | | | Moved codecs folder to qtbase/examples Corrected quote in dropsite.qdoc Replaced snippet statement by include statement Added doc for undocumented parameters Task-number: QTBUG-34749 Change-Id: If4de95b8d39e5680fd0f63f8d2b6685a4b0a8052 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Revert the QByteArrayList addition to Qt 5.3Thiago Macieira2014-03-083-384/+0
| | | | | | | | | | | | | | | | This reverts commits f12b0f9a38c792abb13f3e6ecff4542986a6f96b ("QByteArrayList: optimize op+"), f96f2fe3670bc8a32389795dc21b9839407465a1 ("Enable QByteArrayList tests"), and 4f23f0530a9c59400a7f3821cd2c9355801ed8cd ("new QByteArrayList class"). This class is coming back in Qt 5.4. [ChangeLog][CHANGELOG FIX] Remove the line about QByteArrayList being added. Change-Id: I890ab2b34a9b3e575512eb306d0f241143a867cf Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* Add Objective-C specific type converters to QByteArraySamuel Gaist2014-03-084-1/+206
| | | | | | | | | | | | | | This patch adds the Objective-C NSData/CDataRef converters to QByteArray This will replace the current converters offered in QMacExtras [ChangeLog][QtCore][Objective-C] Added NSData/CDataRef converters for QByteArray Change-Id: I7a0f14bee4271798db345f3c5efd26ac671a3ea4 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>