summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-06-209-43/+42
|\ | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm src/plugins/platforms/qnx/qqnxrasterbackingstore.cpp tools/configure/configureapp.cpp Change-Id: I3092bd3276af14304b7ab3ae1e1cc05d11cdede0
| * Ensure we don't repeat QTBUG-30931 in Qt5Konstantin Ritt2013-06-181-5/+4
| | | | | | | | | | | | | | | | | | | | The issue is already fixed in 5.0 but let's be nice and ensure the issue won't be reintroduced later. Task-number: QTBUG-30931 Change-Id: Ia6944acaf6e7217f8d0f1fa75d0e9977db11d892 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * Remove use of 'register' from Qt.Stephen Kelly2013-06-177-36/+36
| | | | | | | | | | | | | | | | | | | | It is deprecated and clang is starting to warn about it. Patch mostly generated by clang itself, with some careful grep and sed for the platform-specific parts. Change-Id: I8058e6db0f1b41b33a9e8f17a712739159982450 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * QSystemLocale: Fix the time format on BlackBerry 10El Mehdi Fekari2013-06-141-2/+2
| | | | | | | | | | | | | | | | The time format should depend on the device settings (24 hour format) Change-Id: I452d9b7158d39c4a657adfd9e64c99549eeda4ff Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* | Fix roundtrip conversion of datetimes.Mitch Curtis2013-06-171-4/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QDateTime.toString() is writing out milliseconds since change 15da0a5af20fe6771bcb94ef8d46edbd5c8fb64c. Unfortunately this breaks QDateTime::fromString() with Qt::TextDate which can't handle the new format. Fix by making QDateTime::fromString split up seconds and milliseconds on a period, if any. Now QDateTime dt = ...; assert(QDateTime::fromString(dt.toString(), Qt::TextDate) == dt) works again. Change-Id: Ibfe9032e357ceaf894e33f3e33affe94f56dbf5c Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-06-127-13/+18
|\| | | | | | | | | | | | | Conflicts: src/plugins/platforms/cocoa/qcocoamenubar.mm Change-Id: I4a699fc8a7f30b2af9de8e496c3d5f027b7495bb
| * Q_DISABLE_COPY doesn't need a ; at the endAlbert Astals Cid2013-06-101-1/+1
| | | | | | | | | | | | | | | | | | Fixes warnings when -Wpedantic is enabled Change-Id: I8fcfbfa9bb3a5ab61c85f8cb74660f6f7e459fc0 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Alejandro Exojo Piqueras <suy@badopi.org> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
| * QtCore: Fix MSVC-64 warnings about integer truncation.Friedemann Kleint2013-06-081-3/+3
| | | | | | | | | | | | | | | | warning C4267: 'argument' : conversion from 'size_t' to ' int', possible loss of data. Change-Id: I79af7497420d468b5bc7c48c9ae21b86117519a9 Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
| * Fix typo in QAlgorithms documentation.Mitch Curtis2013-06-051-1/+1
| | | | | | | | | | Change-Id: Ic9107f427acc1e009779d39e0a204ea81d54aee7 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
| * Prevent negative size in QBitArray, QVector and QVarLengthArray ctors.Mitch Curtis2013-06-053-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As shown in QTBUG-24345, QBitArray will exhibit invalid reads when initialised with a negative size and run under valgrind. QVector and QVarLengthArray both cause a crash if initialised with a negative size. This patch enforces sizes greater than or equal to 0 with asserts and existing if statements, and hence impose no performance penalty for release builds. Task-number: QTBUG-24345 Task-number: QTBUG-30037 Change-Id: I9a969f6016e0a59904a60bbfe9e5360e6f523b87 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Use the GCC inline assembly when building for MinGWThiago Macieira2013-06-041-5/+5
| | | | | | | | | | | | | | | | | | | | | | MinGW has a longstanding problem of providing the MSVC intrinsics that every Windows developer expects to be there. Other projects have run into those problems. So instead just use the GCC inline assembly. Change-Id: I5651f97f9a4dfbf98ebbf063f91f221eab80b224 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | Initialize variable to quiet valgrind.Sérgio Martins2013-06-051-0/+1
| | | | | | | | | | | | | | It's accessed by the Q_ASSERT in QArrayData::data(). Change-Id: I859ef9c736b24857cd3f57f9fa54aafd36e57afc Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Iterate over the smaller set in QSet::intersect().Mitch Curtis2013-06-051-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When calling intersect() on a large (1000000 items) QSet, with a small (1000 items) QSet as the argument, the function takes signifcantly longer than when the operand and the argument are reversed. This is because the operand set is always iterated over in its entirety. This patch changes intersect() to iterate over the smaller set. This reduces the large operand scenario's benchmark to ~0.000063 milliseconds, compared to the current ~134 milliseconds: 1000000.intersect(1000) = empty: 0.000063 (was 134) 1000.intersect(1000000) = empty: 0.000039 (was 0.000036) 1000000.intersect(1000) = 500: 0.10 vs (was 130) 1000.intersect(1000000) = 500: 0.023 vs (was 0.093) 1000000.intersect(1000) = 1000: 0.20 vs (was 139) 1000.intersect(1000000) = 1000: 0.017 vs (was 0.016) Task-number: QTBUG-22026 Change-Id: I54b25c49c78c458fef355e9c6222da8a64c7681f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-06-041-0/+6
|\| | | | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.h src/plugins/platforms/cocoa/qnsview.mm Change-Id: I6fe345df5c417cb7a55a3f91285d9b47a22c04fa
| * Mention QRect's int min/max constraints in detailed description.Mitch Curtis2013-06-041-0/+6
| | | | | | | | | | | | | | Task-number: QTBUG-25732 Change-Id: If330768c3075568f09593ed17f26389d3dec3335 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* | Make QTime::toString output milliseconds for Qt::TextDate, Qt::ISODate.Mitch Curtis2013-06-031-15/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Section 4.2.2.4 of ISO 8601 allows for decimal fraction representations of dates and times. Currently, when calling QDateTime::toString(Qt::TextDate) or QDateTime::toString(Qt::ISODate), the milliseconds will be omitted. However, QDateTime::fromString(str, Qt::TextDate) and QDateTime::fromString(str, Qt::ISODate) already support decimal fraction representations, so this patch just adds this support to QTime::toString, and hence QDateTime::toString(). Task-number: QTBUG-30250 Change-Id: If58e4b3d3105322c51d11a76b832e5e634d8991f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-05-237-22/+37
|\| | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qdatastream.cpp src/corelib/io/qdatastream.h src/corelib/json/qjsonwriter.cpp src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/xcb/qxcbkeyboard.cpp Change-Id: I46fef1455f5a9f2ce1ec394a3c65881093c51b62
| * Fix QLocalePrivate object leakingjian liang2013-05-201-1/+1
| | | | | | | | | | | | | | | | | | Set ref count to zero in QLocalePrivate::create() to avoid QLocalePrivate object leaking. Change-Id: I8948c27d59b2038266ab04c6113610b9b4481b45 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * Repurpose the former Q_OS_MAC synonym "Q_OS_MACX" to mean "OS X".Jake Petroules2013-05-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The equivalent was done earlier for qmake, and this will enable developers writing OS X-specific code to use #ifdef Q_OS_MACX as opposed to overly verbose #if defined(Q_OS_MAC) && !defined(Q_OS_IOS). The sole usage of Q_OS_MACX within qtbase has been changed to the now appropriate value and documentation has been updated. Change-Id: I2c59eea02e94b691b705170b2f96a97940fdc756 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Revert QDateTime serialisation to pre-Qt 5 behaviour.Mitch Curtis2013-05-081-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In Qt 5, I managed to break the guarantee that a deserialised local datetime is the same time of day (potentially different UTC time), regardless of which timezone it was serialised in. This happened after I fixed QTBUG-4057 with If650e7960dca7b6ab44b8233410a6369c41df73a, which serialised datetimes as UTC. This patch reverts QDateTime serialisation to pre-Qt 5 behaviour to restore the guarantee and consequently re-opens QTBUG-4057. Change-Id: Iea877f7ed886f530b928067789b53534e89fe8cb Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * QLocalePrivate: remove unused dataPointerForIndex functionThiago Macieira2013-05-082-14/+0
| | | | | | | | | | | | Change-Id: I0cd3f8a526e11c3df53fe0cbb063e01c5a3564f9 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
| * Specify gnu_printf for message formatting with MinGWJonathan Liu2013-05-081-0/+8
| | | | | | | | | | | | | | | | | | The custom printf formatter Qt ships supports e.g. %lld, which is part of gnu_printf, but not ms_printf. This fixes a lot of MinGW warnings. Change-Id: Iff600f20ac23ecb88c4b569d2e668f5d4af6ef27 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
| * Add qt_hash(QStringRef) overloadGiuseppe D'Angelo2013-05-072-4/+22
| | | | | | | | | | | | | | | | This enables fixing a performance regression compared to Qt 4. Also, add some qt_hash tests. Change-Id: Id830e17dec99fb67e5930c80029ac2233b2f427e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Add a pair of constructor/assignment function pairs to QPairThiago Macieira2013-05-082-0/+33
| | | | | | | | | | | | | | | | To allow copying one QPair of two types to a QPair of two different types. Change-Id: Ie7aa84cf5a361be6b7d242517578172c35bcacfd Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | Merge branch 'stable' into devSergio Ahumada2013-05-076-52/+81
|\| | | | | | | Change-Id: Ica003a10ede86914bbbb062a2dc277a2ce39a259
| * QLocale: cache the QLocalePrivate for the default QLocaleThiago Macieira2013-05-011-6/+9
| | | | | | | | | | Change-Id: I6f05da4d426a0aa685dd9f2fd0020e413a4bebad Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * QLocale: cache the C locale's privateThiago Macieira2013-05-012-1/+15
| | | | | | | | | | Change-Id: I81bbfeffebb5b7fc29d67bb7127beaf13838ac9f Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * Fix QLocale::standaloneMonthName when d->m_data == systemData()Albert Astals Cid2013-05-016-3/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At the moment if d->m_data == systemData() it calls systemLocale()->query but forgets about the standalone part so you get the wrong data This patch introduces the new enums so that backends can implement properly the standaloneMonthName feature properly. At the moment the Windows and Mac ones still return the monthName, the Unix and Blackberry ones return the data we store in months_data Change-Id: Idc5a50b04ab1f914f16c7385be1dca2e027feae3 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Mehdi Fekari <mfekari@blackberry.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Make QLocalePrivate PODThiago Macieira2013-04-302-12/+21
| | | | | | | | | | | | | | | | | | QSharedDataPointer does not actually need a class derived from QSharedData. All it needs is a member called "ref". Change-Id: I2f7fe4cc143478ef7ef64681eada16e2d4c2e63a Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
| * QLocalePrivate: remove QLocalePrivate::m_indexThiago Macieira2013-04-302-27/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | It's not used anywhere, so we don't need to cache the locale data index. We already have the pointer to the QLocaleData anyway. This saves us a few roundtrips calculating the index from the data pointer only to get the data pointer again. Change-Id: I6905d20a382ddcb9fb04cc886a17499b467f905a Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
| * Move the code that creates QLocalePrivate to separate functionsThiago Macieira2013-04-301-27/+33
| | | | | | | | | | | | | | | | | | | | | | | | Direct benefit is that the code between the two QLocale constructors taking language, country and (maybe) scripts is merged. This will also allow us to cache the QLocale::c() result. Change-Id: Ia46c5a37764dc287bfcd3a52a022ac413c53a582 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-04-293-36/+36
|\| | | | | | | Change-Id: I2a54058b64ac69c78b4120fdaf09b96e025a4c6c
| * Remove QLocalePrivate::m_localeIDhjk2013-04-232-36/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It was only used for toUpper/toLower but always computed in the constructor, including QString::toLatin1 conversion and allocations. This needlessly slows down all other uses, including supposedly "cheap" operations QString::toDouble, or accesses inside QResourceFileEngine. The benchmarks indicates that doing it always when needed is bearable. There's still a lot of improvement potential on these code paths. Change-Id: I88b637ee11f9f7ea614f8da4ec5df0bf40664fce Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
| * Use a QVector<QDateTime> instead of an array in QFileInfoPrivatehjk2013-04-231-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | Since QDateTime is pimpled, default allocation is expensive and regularly shows up in profiles of code using QFileInfo. For Qt 6, QDateTime's data members should be put into the class proper, and this change here reverted. Change-Id: I94a50e467b12772e1076181eb2ac6031984d8802 Reviewed-by: Thorbjørn Lindeijer <bjorn@lindeijer.nl> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-04-221-0/+3
|\| | | | | | | Change-Id: I059725e3b7d7ffd5a16a0931e6c17200917172b5
| * Make sure to also check for null CFPropertyLists.Thiago Macieira2013-04-191-0/+3
| | | | | | | | | | | | | | | | | | | | In 1b08e0307dfebe561fbb0819a2d6b53edd8e8e93, I removed the null check by accident. It's possible for the Darwin API to return a null property list. Task-number: QTBUG-30760 Change-Id: Iaf0125767fe4b47c19810b70483a5219e94e4305 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* | Compile with Clang.Morten Johan Sørvig2013-04-181-4/+17
| | | | | | | | | | | | | | | | | | | | This bug surfaced after we switched Mac over to use clang's libstdc++, which has __builtin_popcount but does not mark it as constexpr. Change-Id: I4260af48b00c6db3322e52fb113075d305b1e1ec Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-04-121-1/+1
|\| | | | | | | Change-Id: Iee73c93067c5822d8dd51a8692e6da9df4ba49f5
| * QVector: Fix signedness warning in assert.Friedemann Kleint2013-04-111-1/+1
| | | | | | | | | | | | | | Task-number: QTBUG-30331 Change-Id: I91b346b36162e8146a05babd24afa4bfb7259bec Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* | Add some easy move constructorsMarc Mutz2013-04-052-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | These are easy, since they can be inline. Most types that would benefit from move constructors can't have inline move constructors because these types use smart pointers whose destructor is invoked in the type's move constructor. Implementing move constructors out-of-line would break binary compatibility between C++98 and C++11 builds of Qt and its users, so that is not attempted here. Change-Id: I7f14437c2069cce54c498c7858f4e9060ff05e7b Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-04-036-4095/+4306
|\| | | | | | | Change-Id: Id96d4076610366a7cc66c8d8382ca25c33eaa71d
| * Update QLocale data to CLDRv23Konstantin Ritt2013-04-013-4073/+4277
| | | | | | | | | | | | | | | | Say hello to Interlingua and Mongolian once again. Change-Id: I735fbc5793f34620be1f6932a251224b9ded02e3 Reviewed-by: Denis Dzyubenko <denis@ddenis.info> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * Fix typos in QBBSystemLocaleDataEl Mehdi Fekari2013-03-302-9/+9
| | | | | | | | | | Change-Id: Ic893cdf4a274af660fae7f39011851318f0d244b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
| * QLocale: Report textDirection() by looking to the locale scriptKonstantin Ritt2013-03-301-13/+20
| | | | | | | | | | Change-Id: Ic562b0301271ba414d5d3ff75a308d84bd288f56 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | With GCC, use __builtin_popcount{,l,ll} for qPopulationCount()Marc Mutz2013-04-031-0/+16
| | | | | | | | | | Change-Id: Ied7a98fa17404f1d9678bfbc1ced4817ab52f40e Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* | Add qPopulationCount() function, extracted from QBitArrayMarc Mutz2013-04-033-8/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | This functionality is used in multiple places in Qt itself, so it makes sense to have a global function for this. This also allows to map this onto specialized assembler instructions, should an architecture provide them, later on. Also added comprehensive tests, using a 4-bit lookup-table implementation as a reference. Change-Id: I8c4ea72cce54506ebb9fbe61141dbb5f1b7a660f Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* | Replace HB_JustificationClass with QGlyphAttributes::JustificationClassKonstantin Ritt2013-04-011-14/+0
|/ | | | | | | | | | Also move stringToGlyphs() helper closer to shapeTextWithHarfbuzz(), where it is only used. As of now, Harfbuzz-old dependency in QTextEngine can be disabled by simply if-defing a single piece of code. Change-Id: Ic6f7d9b64bf9201d7540c58db46e20f28de8120d Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Make the inline CPU detection functions also staticThiago Macieira2013-03-261-2/+2
| | | | | | | | | | | | Since qCpuHasFeature() checks the static qCompilerCpuFeatures variable and that variable's value might change depending on the compiler flags, it's best to ensure that the function is not subject to link-time merging. That would be bad if it happened when qCpuHasFeature() was used from a file with higher CPU compiler settings than the default, as it would incorrectly conclude that certain features are always available. Change-Id: I8bacde056fb89869ec1d306a163742e72522315e Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Fix a bug in QSystemLocale on BB10El Mehdi Fekari2013-03-262-18/+20
| | | | | | | | | Call qt_safe_open in the constructor to avoid opening the pps files several times. Change-Id: I1bf79284850353a47ee1fc17797cd667536e17b1 Reviewed-by: Peter Hartmann <phartmann@blackberry.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* QLocaleBlackberry - fix include statementsRafael Roquetto2013-03-261-3/+3
| | | | | Change-Id: Ifb5678094806e4aab19015d3a600217b4cf9ac5f Reviewed-by: David Faure <david.faure@kdab.com>