summaryrefslogtreecommitdiffstats
path: root/src/corelib
Commit message (Collapse)AuthorAgeFilesLines
* Fix QSettings autotest fails under WindowsDebao Zhang2012-02-281-0/+2
| | | | | | | | | | | The Windows registry and INI files use case-insensitive key. This is a side effect of 1d01bc1e83560cb2fc4f9f7f00762ffa5134448a Task-number: QTBUG-24145 Change-Id: I862bddae68ef27569e6ffa901f98ca107d3f300b Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Add SHA-224, SHA-256, SHA-384, and SHA-512 support to QCryptographicHashBradley T. Hughes2012-02-272-3/+98
| | | | | | | | | | | This adds Sha224, Sha256, Sha384, and Sha512 enum values to QCryptographicHash::Algorithm. The implementation comes from RFC 6234, http://tools.ietf.org/html/rfc6234, which is added to src/3rdparty/rfc6234. Only the headers and SHA-2 code is included in src/3rdparty/rfc6234 (the SHA1, HMAC, and HKDF code is not included). Change-Id: I85139fd118291f15efc22899a5ddd1cc83810cfb Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Detect QMetaType::QReal from the definition of qrealOlivier Goffart2012-02-271-8/+1
| | | | | | | | | | | | | | Instead of relying to complex preprocessor expression that need to be maintained to be kept the same as in qglobal.h This aslo fix the case where QT_COORD_TYPE is defined (It is meant to be defined to float or double, any other type would not make sense) So now there should hopefully be only one place to change if one need to adjust the type of qreal Change-Id: I778312112603173562dbe675ab491b53d6cd2174 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* QRegExp: fix crashGiuseppe D'Angelo2012-02-271-0/+2
| | | | | | | | | | | | Fixes a crash when invoking various QRegExp methods on an object *before* doing any match. For instance fixes: QRegExp re; re.matchedLength(); // crash Task-number: QTBUG-23352 Change-Id: I9c239ff790a139c7820ef1aeced89d31320ae6b0 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* remove library version matching from qt.confOswald Buddenhagen2012-02-271-65/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | this feature was introduced in feb 2005 by Sam with this comment: > I have implemented a versioning into the keys and do environment > expansion there as well, these aren't immediately usefull but Marius > and I agreed that distributors will probably want such features at > times. The versioning fallbacks will be usefull to us over time no > doubt. imo the versioning is a contestant for the most useless feature ever: - (linux) distributors couldn't care less - they simply configure qtcore correctly. additionally, the packaging policies state that no config files should live in the binary dir at all, so no qt.conf for them. - ISVs don't care, because they ship their software with a particular qt version anyway. - SDK distributors don't care, because it doesn't solve any real problem for them: a) they will isolate the (qmake) versions and b) a distinction based on version number (as opposed to build configuration) is utterly useless in the first place. i left in the variable expansion, as it could at least theoretically be useful for creating relocatable packages. debatable - the file it easy enough to modify at installation time. Change-Id: Ida8a50b16d55d8d8613d1a98a51df56753f6a6e3 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Simplify QMetaTypeSwitcher.Jędrzej Nowacki2012-02-272-26/+8
| | | | | | | | | | We do not need to distinguish between different types in the switcher. Before this patch it was not possible to overload DelegateObject::delegate with a pointer type. Now it is fixed. Change-Id: Icd73a53e73e5e66b1b6f6407ba4e0f79e584d930 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Optimize space for the QEventLoopQuitLocker.Stephen Kelly2012-02-271-9/+23
| | | | | | | Use a union and a type enum instead of three pointers. Change-Id: I02b11733a4f2e95099064fa9325497d4e04ac615 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Reduce QtCore lib binary size by around ~3KB, by removing template codeJędrzej Nowacki2012-02-273-84/+37
| | | | | | | | | | | | | | | Reusing a template is much better then creating a new one, even if it should inline the same code. For some reason replacing T* by void* force gcc to remove a few bytes per template instantiation too, it is not really significant, but it alows us to simplify the code. Benchmarks don't show any regressions. Change-Id: I4fdf1e4dc311b23021eb5758605602937d05b183 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Cleanup usage of QVariant::Type.Jędrzej Nowacki2012-02-272-43/+43
| | | | | | | | | QVariant::Type is marked as obsolete. It is not possible to get rid of it completely, in a source compatible way, but at least we can remove it safely from a method arguments list. Change-Id: I26b58099bfa6d32f3a583a8ae0047f0bb36bcd0d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove more support for unsupported GCC versions.Stephen Kelly2012-02-271-6/+2
| | | | | Change-Id: I827c9f982a7d7d20913b99c8fdaf98437a0a73db Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QFlags<>: let the compiler generate copy ctor/op=Marc Mutz2012-02-261-2/+5
| | | | | | | | | | | | | The user-defined copy constructor and copy-assignment operators were 100% equivalent to the ones the compiler would generate, so let the compiler generate them (so we reap move constructors, too, even though they're not needed on this class). Change-Id: Iecdd579fa5a819d083ec9b2f25734ddba85515e6 Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* RemoveRef should not remove the constOlivier Goffart2012-02-261-1/+0
| | | | | | | | | This does not fix anything, because AreArgumentsCompatible already do all the type checks. But it make RemoveRef consistant with std::remove_reference Change-Id: Ic42c872356172d7f5ea10de050254b5d10e50a6e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix doc according to current method signatureABBAPOH2012-02-261-1/+0
| | | | | Change-Id: I23d0f7a88f4c092c1e7cd2742fdf6e6f68ad485a Reviewed-by: David Faure <faure@kde.org>
* Fix a crash in QSystemLocalePrivate::uiLanguages().Friedemann Kleint2012-02-251-1/+1
| | | | | | | | | | | Use the correct calling convention. Discovered by the mimetype test in Qt 5. Change-Id: I79b97325dd69466885a64c238935107bf14e9a0d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com> (cherry picked from commit bc6e35d94325f4b18caec7ce0824c5beab95cdd7) Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Fix compilation without QT_DEPRECATED_SINCEOlivier Goffart2012-02-251-2/+3
| | | | | | | QAbstractItemModel::reset() is deprecated Change-Id: I2d9aa9fade1660df14945ca11123341fce504050 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Fix to exit of adopted thread watcher in Windowsjian liang2012-02-251-7/+20
| | | | | | | | | | | | | Don't register the thread handle and QThread object pointer to watch list for adopted thread watcher thread in Windows. Otherwise the watcher thread will never exit and can't clean up its own QThreadData and QAdoptedThread object. Task-number: QTBUG-23961 Change-Id: Ia84326cf3cfd978d2b003ccc1bb6861db950e899 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* qmimetypeparser: more optimized definition of string constantsDavid Faure2012-02-242-45/+21
| | | | | Change-Id: I0cbc0fef63814ab037bea66ab35b3aa8b6ec800c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* QMimeMagicRule: declare as Q_MOVABLE_TYPEMarc Mutz2012-02-241-0/+1
| | | | | Change-Id: I3725696e7369eb59eeb08095ffe0b8aa7537b4f3 Reviewed-by: David Faure <faure@kde.org>
* Remove unused QT_NO_QWS_SHARE_FONTSStephen Kelly2012-02-241-1/+0
| | | | | Change-Id: I47e8111d6caffd9b45096e52695acaa55945c612 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Remove QT_NO_QWS_MULTIPROCESSStephen Kelly2012-02-241-2/+0
| | | | | Change-Id: I1d6731dc5268919d0c36d5d27285321742be708f Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Remove unused define QT_NO_COP.Stephen Kelly2012-02-241-4/+0
| | | | | | | It used to relate to QCop and QWS, which are no more. Change-Id: Ie70c64a3a6ef60664009108b79eed7f33ea59f32 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Add the QtMain windows library to the CMake files.Stephen Kelly2012-02-231-0/+23
| | | | | | | | Change-Id: Iff8b9bdd4b069721103e1cd5854e56b6116d7549 Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Alexander Neundorf <neundorf@kde.org> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Bump the moc output revisionKent Hansen2012-02-231-1/+1
| | | | | | | | | | | | | | Commit aee1f6cc413f56bf4962324799ee3887c3dd037f changed the values of some built-in meta-type ids. Since the ids of built-in types are directly encoded -- not as the symbolic QMetaType::Type name, but as a raw integer -- in the flags for meta-properties, the moc output prior to that change is incompatible with the current output. Change-Id: I970484825137a4f19c80726cfe2024e741e3e879 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com> Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QWindowsPipeWriter could terminate the process to earlyMartin Petersson2012-02-231-1/+1
| | | | | | | | | | | | | | | When the QWindowsPipeWriter is deleted it will wait for the thread to exit. This wait was set to 100 ms which will not always be enough time for the thread to exit, in that case the thread will be terminated. This will increase the timeout to 30 seconds that should be more then enough time for the thread to exit by itself. Task-number: QTBUG-4425 Change-Id: I9b1910c0213376c622c091be050df2a1c4c6b190 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Require compiler support for deprecated constructors.Stephen Kelly2012-02-232-10/+0
| | | | | Change-Id: I1d4cdcbbddb7895e6529e4f6b5295312e9a3a0e6 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove QT_ASCII_CAST_WARN_CONSTRUCTORStephen Kelly2012-02-234-12/+5
| | | | | | | GCC version < 3 which it was created for is not supported anymore. Change-Id: I0b4df4c99600cacbaafbf0bc4270cd4978600956 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Rename QMetaTypeSwitcher::UnknownType to NotBuiltinType.Jędrzej Nowacki2012-02-233-11/+11
| | | | | | | | UnknownType suggest that a type is unknown to QMetaType, but QMetaTypeSwitcher is not checking for custom types. Change-Id: I6b8b692e0f20bed286c713672b35fb15757d389e Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Add the quitlock feature to QThread.Stephen Kelly2012-02-235-2/+46
| | | | | | Change-Id: Ib44ee9739499ba4c5f0fecbef3976251ea22836d Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add WindowDoesNotAcceptFocus flag and use it in xcbJan Arne Petersen2012-02-232-0/+4
| | | | | | | | | | | Add window flag to support windows which should not get the input focus. Sets the input field in the WM_HINTS structure of the window to false if the WindowDoesNotAcceptFocus flag is set on a window in xcb. Change-Id: Ifbc10695b83484c17dca0eb13ea826d74f174833 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Silence coverity warning about sizeof(Node*) vs sizeof(Node) in QListAndy Shaw2012-02-231-1/+1
| | | | | | | | | | | | | | | | | Coverity was complaining about QList::node_copy using sizeof(Node *) instead of sizeof(Node). The complete message from Coverity is: "Passing argument "from" of type "struct QList<QObject *>::Node *" and argument "(to - from) * sizeof (struct QList<QObject *>::Node *) /*4*/" to function "memcpy" is suspicious. Did you intend to use "sizeof(struct QList<QObject *>::Node)" instead of "sizeof (struct QList<QObject *>::Node *)" ? In this particular case sizeof(struct QList<QObject *>::Node *) happens to be equal to sizeof(struct QList<QObject *>::Node), but this is not a portable assumption." Task-number: QTBUG-24443 Change-Id: I583887a8b4177a224664065e14f8780a9586c9a3 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Use the CMake definition of Windows for CMake macros.Stephen Kelly2012-02-231-1/+1
| | | | | | Change-Id: I599ddaaf9176f76f2e144c893e607757957dfef2 Reviewed-by: Clinton Stimpson <clinton@elemtech.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Remove unneeded code to convert to ASCII/Latin1.Robin Burchell2012-02-222-45/+0
| | | | | | | | This isn't used, and isn't wanted with the upcoming utf8 switch. Change-Id: Ibec0fa7f36549df6a1c240353ffcd44beb2976f0 Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Don't do macro self-expansion for moc anymore.Stephen Kelly2012-02-221-6/+2
| | | | | Change-Id: Ia34cc244a160c6c4abe6dacd7a2ce29bc4fc7bfb Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Remove unused Q_CANNOT_DELETE_CONSTANTStephen Kelly2012-02-221-2/+0
| | | | | Change-Id: I697f3f786d84fa766b3bc48d93fc265deee5fdcf Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add the QT_LIBINFIX to the CMake config files.Stephen Kelly2012-02-221-0/+4
| | | | | | Change-Id: If7bec54eca2d28cba314ce94a1ab1831c024ad31 Reviewed-by: Alexander Neundorf <neundorf@kde.org> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Remove detection of GCC versions which are not supported anywhere.Stephen Kelly2012-02-221-31/+8
| | | | | Change-Id: If254af51880e20be486b14f5237e6e1d4e4d6af3 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove use of Q_BROKEN_DEBUG_STREAM.Stephen Kelly2012-02-225-37/+7
| | | | | | | | No supported compiler defines it, and it was not used consistently so it didn't work anyway. Change-Id: Icc9e911e22daaedaee3d9316c15d19be26cd2e72 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Use QMAKE_SUBSTITUTIONS conditionalsStephen Kelly2012-02-221-7/+7
| | | | | | | Instead of generating CMake conditionals. Change-Id: I3d987cc08666270e618222be9292558e73bc961e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* QEasingCurve: fix a missing */Marc Mutz2012-02-221-0/+1
| | | | | Change-Id: I344342e950158c9dc832f1cd181d92899ddb1651 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fail with #error early if the compiler does not support bool or explicit.Stephen Kelly2012-02-222-28/+10
| | | | | | | | The fail mode for bool is moved from later in qglobal.h, and explicit is used unguarded throughout Qt, so the macro is already useless. Change-Id: Iff26892b025ba155e360a1f2dc93a67a6622dbc1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove custom text codec for C strings.Robin Burchell2012-02-229-192/+40
| | | | | | | | | | This setting is extremely harmful, as code cannot know whether or not to expect it. It also made the behaviour of QString::fromAscii and ::toAscii unintuitive, and caused a lot of people to make mistakes with it. Change-Id: I2f429fa7ef93bd75bb93a7f64c56db15b7283388 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* QtCore: add constexpr to geometric classesMarc Mutz2012-02-225-363/+331
| | | | | | | | | | | | | | This turns code like QPoint(12, 12) into a compile-time expression, under a C++11 compiler, and allows to define arrays of these types that end up in read-only memory, just like PODs would. Some constructors and QLine::pointAt() needed to be adjusted to fit into the empty-body/only-return-expression requirement for constexpr constructors/functions. Change-Id: Id11ee2752c948930c3e40a91d1f6d7c97db7a373 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Drop file-engine abstraction from public APIJoão Abecasis2012-02-2220-396/+275
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This abstraction imposed serious performance penalties and is being dropped from the public API. In particular, by allowing file names to be arbitrarily hijacked by different file engines, and requiring engines to be instantiated in order to decide, it imposed unnecessary overhead on all file operations. Another flaw in the design with direct impact on performance is how engines have no way to provide (or retain) additional information obtained when querying the filesystem. In many places this has meant repeated operations on the file system, where useful information is immediately discarded to be queried again subsequently. For Qt 4.8 a major refactoring of the code base took place to allow bypassing the file-engine abstraction in select places, with considerable performance gains observed. In Qt 5 it is expected we'll be able to take this further, reaping even more benefits, but the abstraction has to go. [Dropping this now does not preclude that virtual file systems make an appearance in Qt at a later point in Qt 5's lifecycle. Hopefully with a new and improved abstraction.] Forward declarations for QFileExtension(Result) were dropped, as the classes were never used or defined. Tests using "internalized" classes will only fully run on developer builds. QFSFileEngine was removed altogether from exception safety test, as it isn't its intent to test internal API. Change-Id: Ie910e6c2628be202ea9e05366b091d6d529b246b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Fix potential race condition in data structure of adopted thread watcherjian liang2012-02-221-1/+3
| | | | | | | | | | | | Fix potential race condition in data structure of adopted thread watcher in Windows. Since QVector is not thread safe, it is not safe to read and append data to qt_adopted_thread_handles or qt_adopted_qthread simultaneously in qthread_win.cpp. This patch fix this race condition. Change-Id: I2d0c7a4cdde5390d38d15c98343f0fc6ddd24aba Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Merge overloadsRichard Moore2012-02-222-83/+2
| | | | | | | Fixes ### Qt 5 Change-Id: I2846593616635440e17c8a9ce518780561992b84 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QElapsedTimer/Win: Fix 64-bit integer overflowJonathan Liu2012-02-221-1/+3
| | | | | | | | | | | | | The ticksToNanoseconds function in qelapsedtimer_win.cpp multiplies ticks from performance counter with 1000000000 which can sometimes result in 64-bit integer overflow. This can cause the elapsed time to reset or jump around. Task-number: QTBUG-23150 Change-Id: I464503e03cbe64e13906e773beafbf88e7dc256a Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit f30a91ba9d98de1a0ebee5608ba289ac35871a8c)
* Give the compile flags an EXECUTABLE_ prefix.Stephen Kelly2012-02-211-1/+1
| | | | | | | | The fPIE flag should only be used with executables. Change-Id: If799ae4a7fe2492af3aac67651659a52d365024a Reviewed-by: Alexander Neundorf <neundorf@kde.org> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* regenerate unicode tables after rittk's patchesOswald Buddenhagen2012-02-211-196/+196
| | | | | Change-Id: I60b416fc2dc2f0ccbcf13288a9ba2a42547269ec Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* optimize QString::toLower()/toUpper() for special cases, step 2Konstantin Ritt2012-02-211-3/+3
| | | | | | | | | | | from now, QUnicodeTables::specialCaseMap[] starts with a placeholder; so, if somethingCaseSpecial is true, then somethingCaseDiff is always greater than 0 Change-Id: Ibb1870512836eee71b1521564c0745096c05b2f9 Merge-request: 70 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Olivier Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* optimize QString::toLower()/toUpper() for special cases, step 1Konstantin Ritt2012-02-211-8/+8
| | | | | | | | | | | reorganize QUnicodeTables::specialCaseMap as follows: specialCaseMap contains sequence entries in form { length, a, b, .. } Change-Id: Iea1f80bc2f4dc1f505428dad981cde26daaa52c7 Merge-request: 70 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Olivier Reviewed-by: Olivier Goffart <ogoffart@woboq.com>