summaryrefslogtreecommitdiffstats
path: root/src/corelib
Commit message (Collapse)AuthorAgeFilesLines
* Remove ARMFPA support and Q_DOUBLE_FORMAT detectionBradley T. Hughes2012-03-014-155/+4
| | | | | | | | | | | | | | | | | Remove the -armfpa option the config.tests/unix/doubleformat* detection. The places where we used QT_ARMFPA and Q_DOUBLE_FORMAT has been removed as well. Rationale: ARM FPA with GCC does not work with EABI. Qt currently does not support compiling without EABI, making ARM FPA an impossibility. It is unknown whether other compilers provide ARM FPA support with EABI. Support for ARM FPA can be re-added in the future should the need arise, but since ARM VFP is available for ARMv5 and up, we should encourage implementors to instead use soft-floats or VFP. Change-Id: I3671aba575118ae3e3e6d769759301c8f2f496f5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* QBoolBlocker: make constructor explicit and disable copyingMarc Mutz2012-03-011-1/+2
| | | | | Change-Id: If294eff3f84f837ed554c572527d46a89660de9c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QRegExp: fix \i \I \c \C \p \P escape sequencesGiuseppe D'Angelo2012-03-011-13/+26
| | | | | | | | | | | | | | Those escape sequences have a special meaning in the XML Schema 1.1 regular expressions, but not in Perl-compatible ones. An escape sequence that has no special meaning should match the escaped character itself; this patch fixes QRegExp's behaviour in that regard (previously, it added a character class matching nothing). Change-Id: I983f923baa7c2ec19938b96353f3a205e6c06d58 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* SHA-2 code does not compile on FreeBSDHolger Hans Peter Freyther2012-03-011-0/+9
| | | | | | | | | | | | | The code fails to compile with the below error: qcryptographichash.cpp:55: error: conflicting declaration 'typedef quint64 uint64_t' /usr/include/sys/types.h:99: error: 'uint64_t' has a previous declaration as 'typedef __uint64_t uint64_t' FreeBSDs types.h defines the used defines. Maybe it would be less ugly to switch the code to quint*, or use a define to do so, or to have basic os detection for stdint.h, not to include sys/types.h. Change-Id: Ic62ae4b742c1123b4b7e17158d216374e609f59f Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Remove Mac qDebug ifdefs.Morten Johan Sorvig2012-02-291-23/+0
| | | | | | | Make qDebug work again with the new logging framework. Change-Id: Ib88a83182429636b274d6284933d5ea00db7279c Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Make QJsonPrivate::String compile on big endian platforms.Jason Barron2012-02-291-1/+2
| | | | | | | Was missing a variable declaration and an explicit cast. Change-Id: I4f0fb9c3d9b8472adf0d91036442adc1fe255c7e Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Add support for QT_NO_SIGNALS_SLOTS_KEYWORDSStephen Kelly2012-02-291-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | QT_NO_KEYWORDS can be used for example to ensure that foreach can not be used, but Q_FOREACH must be, that slots must not be used but Q_SLOTS must be, etc. Typically they are used to avoid symbol conflict with other libraries that may use the same keywords (I think boost uses signals). For 3rd party libraries, it makes sense to use Q_SLOTS and Q_SIGNALS instead of slots and signals, so that downstreams can still choose to use QT_NO_KEYWORDS in their code. The most convenient way to enforce that currently is to define QT_NO_KEYWORDS when building the 3rd party library. However, that has the inconvenient side effect of making foreach, forever and emit not usable within the library implementation. This patch makes it possible for the 3rd party library to use QT_NO_SIGNALS_SLOTS_KEYWORDS to exclude signals and slots without affecting whether the other keywords can be used in the library implementation. Change-Id: If1e16a4fa384bd3a2ddd737143499f8b587bc4f8 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Richard J. Moore <rich@kde.org>
* QRingBuffer: make constructor explicitMarc Mutz2012-02-291-1/+1
| | | | | | | | | | | | | | This is a private class, but it's so close to the classical Stack(int) example for explicit that I just have to make this ctor explicit, too: QRingBuffer rb = 0; // oops: meant '*rb' now no longer compiles. Change-Id: I7d58c1f08c1b14d14930426159c5c8db71b4cf4d Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QPair: don't copy-initialise 'first'/'second' in the default ctorMarc Mutz2012-02-291-1/+1
| | | | | | | | Why would we want copy-initialisation if we can have the default constructor? Change-Id: Id2de36d42ef9f63793ff4e3ec36202d3f2bf5f30 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QPair: remove user-defined copy assignment operatorMarc Mutz2012-02-291-3/+1
| | | | | | | | | The compiler-generated copy assignment operator is fine, and the user-defined one prevents the compiler from synthesising a move assignment operator. Change-Id: I044104a2fd4d7522a910d5c2a68d11dabeca99c4 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Make the CMake files work with directory overrides.Stephen Kelly2012-02-281-6/+23
| | | | | | | | | | | | This allows us to create correct CMake config files when Qt is configured with directories outside of the prefix (which Qt allows), and also allows us to use correct values when a 'longer' relative lib directory is used such as lib/x86_64-linux-gnu. Change-Id: I6f88255a23752dc5b84cb20ce13fdeeee9d5ad51 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Alexander Neundorf <neundorf@kde.org> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Compile SHA-2 code on systems without stdint.hBradley T. Hughes2012-02-281-2/+13
| | | | | | | | | | stdint.h is a C99-ism, which isn't available everywhere. The sha.h header tells us we need 4 typedefs. Add these to qcryptographichash.cpp before including sha.h and comment out the stdint.h include in sha.h. Change-Id: I1ede9569fa7eaa84de3befeb3c58cc6a05aa522c Reviewed-by: Oliver Wolff <oliver.wolff@nokia.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Rename remaining references to QInputPanelPekka Vuorela2012-02-281-2/+2
| | | | | Change-Id: I747d37d10c78af6ad00322d5bd8d29c6b343828c Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* 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>