summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel
Commit message (Collapse)AuthorAgeFilesLines
...
* Move the text codec list to qcoreglobaldata.Lars Knoll2012-07-312-0/+25
| | | | | | | | | | | This removes some global statics in QTextCodec and makes the code better to maintain in the longer term. Remove QT_NO_THREAD defines around mutexes as this isn't required in Qt 5 anymore. Change-Id: I15ede75f53b16f134f4053f3188c4b47e86fcd8a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* fix QEventLoop qdoc errorsJeremy Katz2012-07-301-3/+6
| | | | | Change-Id: I17bb720d539a7ccf5d9a3b20853897ff052fc8a6 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Document QEvent::EnterEditFocus and QEvent::LeaveEditFocus properly.Mitch Curtis2012-07-281-2/+2
| | | | | | | | These enums are only accessible if QT_KEYPAD_NAVIGATION is defined. Task-number: QTBUG-15631 Change-Id: Ifa826ac8f2bf28225572e0c664f18ffa5e78c302 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* removed duplicated docs in android qsharedmemory and systemsemaphoreJeremy Katz2012-07-282-27/+0
| | | | | | | | | | | | | Qdoc sees all source and header files, rather than the subset selected by qmake. This leads to qdoc errors when the same functions are documented in multiple implementations. In the cases fixed here, all documentation was duplicated, so no information was lost. Change-Id: Id7f8e2e617862a3778d0b05b38d8811aad456ac5 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Fix crash in QVariant::canConvert().Volker Krause2012-07-271-1/+4
| | | | | | | | | When containing a QObject (or sub-class) pointer and trying to convert to a QObject pointer canConvert() did dereference the pointer without checking for it being null. Change-Id: Ie274e54f2f817f2b6c5df64504f8af6359b8f38d Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* fix QVariant qdoc error - mark const QVariant::data_ptr() internalJeremy Katz2012-07-271-0/+5
| | | | | | Change-Id: I1df93780f271ce06c3aa10c4bdcc1c2a43097b72 Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Implement implicit constructors for built-in classes.Stephen Kelly2012-07-272-0/+138
| | | | | | Change-Id: I6b0b104bc1da3252d014615c50b81830de42e722 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Fix MSVC 64bit warnings about truncation from size_t to int.Friedemann Kleint2012-07-261-2/+2
| | | | | | Change-Id: I9aea91aeb9f71817e9cc612d41351dbc98056500 Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* QMetaTypeId2::IsBuiltIn: (new) template meta-function to check for built-in ↵Marc Mutz2012-07-261-2/+2
| | | | | | | | | | | | | | | types This allows to check whether QMetaTypeId2::MetaType exists, and can help turn run-time into compile-time expressions, even without constexpr support, or in situations where constexpr can't be used (because you can't overload on it). This was designed for the QMetaType::registerConversion feature, but it's much more widely applicable. Change-Id: Iafa04add04bcb531b3f7fe3e751c7e91ee6a3bc0 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* QObject: add a macro for conveniently setting the object nameMarc Mutz2012-07-252-0/+19
| | | | | | | | | | | | | | | | | | This is a simplified port of KDTools' KDAB_SET_OBJECT_NAME. It simply assigns the variable name as the objectName of a QObject, uic-style. It uses a small helper function so that it works on references as well as pointer variables. QLabel label; QLabel *pLabel = new QLabel(); Q_SET_OBJECT_NAME(label); Q_SET_OBJECT_NAME(pLabel); Change-Id: I25fec0c90f33249a3ea5d2dd622ab708019fd101 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: David Faure <faure@kde.org> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Make sure that unknown types use the handler for unknown types.Stephen Kelly2012-07-251-2/+2
| | | | | | | | | This fixes an assert in the QVariant checkDataStream unit test when it no longer links to QtGui. Change-Id: Ib45139cf790f3ac6ee80e1c59f50d08d0b51ffa4 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* Make qRegisterMetaType constexpr for built-in types.Stephen Kelly2012-07-251-1/+1
| | | | | | | | For consistency with qMetaTypeId, and because we can. Change-Id: I6882a16ef3c0d84539048c9f2c201c4a2b2ca7ad Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* QAbstractNativeEventFilter: document return valueDavid Faure2012-07-241-0/+4
| | | | | | | | | (paragraph taken "as is" from the QObject::eventFilter documentation) Change-Id: I1b7e92736103042d7105f1b26ba4784cbcc43dc2 Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Provide access to (dis)connectNotify() from other objects.Thomas McGuire2012-07-241-0/+15
| | | | | | | | | This is the first step to fix (dis)connectNotify() not getting called for QML signal handlers and bindings. Change-Id: I5cfc126a5562a20031d3af8415c60d101603dd8d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Remove winEventFilter, replaced with installNativeEventFilter.David Faure2012-07-244-59/+3
| | | | | | | | | No reason to keep a virtual method for Windows when all other similar methods (macEvent and x11Event) have been removed, and when installNativeEventFilter provides a much nicer solution (no need to derive from QApplication). Change-Id: Ia2a7960e320fcbd04cef91f467900861dbb377c1 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Clarify ambiguous sentence in QVariant::toBool() documentation.Mitch Curtis2012-07-231-2/+2
| | | | | | Task-number: QTBUG-26482 Change-Id: Id9158ba1f7ffa5af169f808aed4559f7a0470e20 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* QNX: Use new native event filtering apiSean Harmer2012-07-232-1/+4
| | | | | | Change-Id: Iaf25697e6250ad29085647db4b8e50e274599227 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: David Faure <faure@kde.org>
* Logging: Simplify message handler logic for windowsKai Koehne2012-07-211-43/+0
| | | | | | | Incorporate the functionality of qWinMessageHandler in qDefaultMessageHandler. Change-Id: Iec5b19e187c0d2e3d8d0874280ba57f6fb21d7b4 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Provide public API for native event filtering, moved up from QPA.David Faure2012-07-2011-132/+328
| | | | | | | | | | | | | | | | | | The previous API was hard to use (global function, no type safety, manual chaining), and confusing (app vs dispatcher split only made sense on Windows). Installing and removing out of order would have the risk of setting back a dangling pointer (crash). Meanwhile QPA added type safety, and this new API models the QObject::installEventFilter API for ease of use. The virtual method is in a new interface, QAbstractNativeEventFilter. QPA was even calling the dispatcher event filter with QPA-private event classes, which made no sense (refactoring leftover from when the code was in the dispatcher). Now the QPA plugins trigger the qcoreapp event filters with the actual native events directly. Change-Id: Ie35e47c59c862383bcaf857b28d54f7c72547882 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* Remove Q_UNUSED for the metaObject.Stephen Kelly2012-07-191-2/+0
| | | | | | | | | The object is no longer unused. Change-Id: Ia82539220855321f2986c5791b70be5df399baca Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* fix "No such ..." doc error for QMetaType::typeName()Jeremy Katz2012-07-191-1/+1
| | | | | Change-Id: If00c728ec793a65f62d76d8301c7f6658e7af8a0 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* fix "No such ..." in doc for QMetaEnum::keysToValue()Jeremy Katz2012-07-191-1/+1
| | | | | Change-Id: I4cc15031970a34ee1076933f7f13468ee17abcfd Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* fix "No such ..." doc error in QBasicTimer::start()Jeremy Katz2012-07-191-1/+1
| | | | | Change-Id: I52feb5f2ebcc8821470468fc51ed3acc6df92a67 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* fix "No such ..." for QObject::connect(...,functor) docJeremy Katz2012-07-191-2/+2
| | | | | Change-Id: Idd1d871b0fde899fdd21ce5aa365e08e2c7bcf45 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* qmetaobject_p.h: don't (incorrectly) fwd-declare QVarLengthArrayMarc Mutz2012-07-182-2/+1
| | | | | | | | | | qmetaobject_p.h forward-declared QVarLengthArray without the default parameter for the 'int' template argument. This violates the ODR, so just #include the header instead. It's not like there's much point in the fwd declaration in a private header. Change-Id: Ie5ef1740c57da396c95f5bae1cd81ac941a8ac2d Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Correct documentation for Void metatype value, define UnknownTypeJeremy Katz2012-07-171-1/+2
| | | | | | | | QMetaType::Type::Void was misdocumented as being equal to 0. The actual value for Void is currently 43. UnknownType is 0. Change-Id: I4e9cb3b4d21e10e1691b985a6ad635bc7a04f1b7 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Add new metatypes to QMetaType::Type enum for docsJeremy Katz2012-07-171-0/+3
| | | | | | | | This adds QRegularExpression, QJson{Value,Object,Array,Document}, and SChar Change-Id: I3dbe9d197952e980f0de9eaed2605d190b8d0405 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Remove Qt3Support enums for q{dir,filedevice,settings,variant} in docsJeremy Katz2012-07-171-3/+0
| | | | | | Change-Id: I07942447bb756561e5c502c9a0c03b6aaf8133d1 Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Remove documentation of previously deleted Accessibility eventsJeremy Katz2012-07-171-3/+0
| | | | | | Change-Id: I7996f2f9b6d11cea130e2a56d0997e1f208e5642 Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* Remove documentation of Qt3Support enums in qcoreevent.cppJeremy Katz2012-07-171-7/+0
| | | | | | Change-Id: Id8740adaa26ee44f40010373947a5be82942b0ba Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Fix applicationName() being empty in QApplication.David Faure2012-07-161-1/+1
| | | | | | | | | | | | | | | A virtual method was reimplemented to return an always-empty string, probably a leftover from a refactoring. This fix showed that tst_qwidget_window was buggy: between Qt4 and Qt5, a "Before" became "After", which made "Before" unused, and was masking the fact that the app name was empty by default. In addition, the earlier Qt5 change that made the app name default to argv[0] now requires updating this test, now that it's actually working. Change-Id: I5360026821a9b95bedd0ff09dba3d51a22e542b7 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
* Create a way to inform moc about private signals.Stephen Kelly2012-07-131-1/+2
| | | | | | | | | | | | | | | | | | Moc checks for the use of the QPrivateSignal struct, which is part of the Q_OBJECT macro and is private to each class that uses it. Moc then generates a name of the signal which does not include the private struct, and generates code to invoke such signals with an instance of the private struct. This way we can mark private signals as such and prevent them from being emitted from subclasses or from outside of the class entirely. The drawback to this is that it only works if the private signal has no default arguments. However, at least in Qt, there are no such signals. Change-Id: Id16eadaa8d3c36a2c3b265077877f3e1d8304c84 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Enable modularization of translation files.Jan-Arve Saether2012-07-122-18/+61
| | | | | | | | | | | | | | | | | This is accomplished by introducing dependencies to catalogs. This requires one API change: QTranslator::load(const uchar *, int); changes to QTranslator::load(const uchar*, int len, const QString &directory = QString()); Since now, even the load from memory might need a directory if the memory block contains a qm file with dependencies. Change-Id: I781f333d07f53bb431d0a7b5fa1abe282dc4d338 Task-number: QTBUG-26138 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* remove QT_NO_SIGNALMAPPER from featuresTasuku Suzuki2012-07-122-6/+0
| | | | | | | QSignalMapper is a small and extremely low-level interface. Change-Id: I7e799673c6fe559178739fbc58385141ae3f0789 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* android: fix build mistake from earlier mkspec namingRobin Burchell2012-07-121-1/+1
| | | | | Change-Id: I48d9f097e3177f9e2f558845e531f4e438035586 Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* Q_DECLARE_SHARED: mark the type movableMarc Mutz2012-07-101-1/+0
| | | | | | | | | | All implicitly shared classes are by definition movable, so this patch adds Q_DECLARE_TYPEINFO(Type, Q_MOVABLE_TYPE) to Q_DECLARE_SHARED. Change-Id: Idf8989ae1a7ed6d1ac13fccb7eaef7395a875350 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Remove Library dependency on SettingsTasuku Suzuki2012-07-091-2/+2
| | | | | | | | made QLibraryInfo available with QT_NO_SETTINGS. QKdeTheme is removed when QT_NO_SETTINGS is defined. Change-Id: I63d619bb305e6c23985d9ea50c72d39a697b7a4b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Fix event loop throughput issueRafael Roquetto2012-07-051-8/+25
| | | | | | | | | | Currently, only one bps event can be handled per event loop iteration, bringing about a huge performance penalty. This patch fixes this issue by bulk processing events whenever they are available. Change-Id: Iecce1e86730bd90c3c81a7c6ebdf9ed83189e58e Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Fix socket notifier registration on Blackberry.Rafael Roquetto2012-07-042-8/+52
| | | | | | | | | | This fixes a bug on QEventDispatcherBlackberry, where registerSocketNotifier() and unregisterSocketNotifier() wrongly assumed that a file descriptor was being watched exclusively by one QSocketNotifier, while in fact there can be more than one QSocketNotifier associated with a single file descriptor. Change-Id: I0ce54bf809df109ad97f4a7f170f448d5d04d453 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Revert "Allow moc to handle symbols that have been redefined."Matthew Vogt2012-07-041-6/+6
| | | | | | | | | | | | This reverts commit 5bb1408927b4eb5a03e8ab9f7cbc68f80d8a3962. The temporary measure used to support redefinition of QtDeclarative class names during the transition period is no longer required. Task-number: QTBUG-24517 Change-Id: Ib90f08fcdfb02e004e594ac72b698eaa0325d98d Reviewed-by: Kent Hansen <kent.hansen@nokia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Simplify the creation of QMetaTypeId specializations.Stephen Kelly2012-07-031-10/+6
| | | | | Change-Id: I07405f91b6f73a4e129859ca45a983d3ec7029ab Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* Add constexpr template specializations for built in metatypes.Stephen Kelly2012-07-031-5/+5
| | | | | | | | | This will make it possible (in Qt 6) to remove the enums listing metatype ids. As it is constexpr, it can be used in switch statements just like enums, as enum values, and as template specialization values. Change-Id: I51293674c403714e34cb8a8b8953522fc97a740a Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Implement QVariant conversions for QObject derived pointer metatypes.Stephen Kelly2012-07-011-1/+64
| | | | | | | canConvert() and convert() use the metaobject to convert such types. Change-Id: Ic05e74c5c2423b4b9682b88adc856a16dcba4cff Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* Store the QMetaObject with the QMetaType.Stephen Kelly2012-07-013-7/+98
| | | | | | | | This will allow conversion between pointers to compatible QObject derived types. Change-Id: I19e08934571fb3f1b91e594892214041fe5f6a11 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* Call QObject::disconnectNotify() when receiver is destroyedKent Hansen2012-06-282-0/+5
| | | | | | | | | | | | | | | | | | | | | | | Store the signal index in QObjectPrivate::Connection, thereby making it available in "implicit" disconnect contexts (i.e., receiver deletion). This change does not cause the size of QObjectPrivate::Connection to grow (still 40 bytes on 32-bit Linux, 72 bytes on 64-bit Mac). Valgrinding the new benchmark indicates that the percentage of the time spent in the QObject destructor increased from 7.8% to 8.4% on ia32, for that particular stress test; the increase is the combined cost of calling metaObject(), QMetaObjectPrivate::signal(), and disconnectNotify() for one connection. In practice, the measured wallclock time increased by about 3ms for a 500ms run (which repeatedly constructs, connects, and destroys an object). Task-number: QTBUG-4844 Change-Id: I1beb01c753f31542fc0acb62edb4c6d165fcc5b4 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* QMetaType: Fix warnings about truncation from uint64 to int.Friedemann Kleint2012-06-281-2/+2
| | | | | | | Triggers warnings with MSVC2010/64bit. Change-Id: I90abdf4de416e0db554eb46e4b3cc7a0a38cb1db Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* doc: use correct snippet id for QObject::isSignalConnectedKent Hansen2012-06-281-1/+1
| | | | | | | Copy-and-paste error; the doc was based on QObject::receivers. Change-Id: I4f6ce716d388328e0345e8457cbc99fff323ce41 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Add QAbstractDeclarativeData::isSignalConnected hookKent Hansen2012-06-262-6/+10
| | | | | | | | | | | | | | Similar to QAbstractDeclarative::receivers. This hook will allow QObject::isSignalConnected(QMetaMethod) to return true when there are QML-managed connections. It's important that the hook is called from QObjectPrivate::isSignalConnected(uint), since QML calls that function. Change-Id: I9c5e42f2b3e7f985af02905985a3a47101cdee05 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
* Fix docs mentioning Q_EXPORT_PLUGIN2Lars Knoll2012-06-251-1/+1
| | | | | | | | Fix all remaining places where Q_EXPORT_PLUGIN2 was being used in the documentation. Change-Id: I7be67b83c18545d0e74f250b4b26583444b01909 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fixes high CPU usage on timer expiration when using glib event loop.Daniel Thor Kristjansson2012-06-211-1/+1
| | | | | | | | | | | GTimerSource has 1ms accuracy, QTimerInfoList::timerWait() has 1us accuracy. So when there is less than 1 ms left on the timer we enter a tight loop checking for timer expiration since we don't round up the timerWait() timer to the nearest millisecond. Task-number: QTBUG-7618 Change-Id: I684c9236324f598bc69c6810be270aa47c791f91 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>