summaryrefslogtreecommitdiffstats
path: root/src/corelib
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove compatibility support for sealed/override in C++/CLIThiago Macieira2013-10-151-0/+5
| | | | | | | | | | | | | | | Those features have slightly different behavior as the C++11 keywords that MSVC 2012 officially supports. When compiling in C++/CLI mode, the "virtual" keyword must be present too. We have not actually tested whether the official MSVC 2012 support for C++/CLI still requires the virtual keyword. This is just going on the assumption that C++/CLI follows the C++11 spec. Task-number: QTBUG-34019 Change-Id: I148a443bfbff985033c555f5a9cfcd5be7f5f106 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Use the fast operator+ (in the form of operator%)Thiago Macieira2013-10-151-7/+4
| | | | | | | | | | QStringBuilder will precalculate the size of the string for us, which avoids extra realloc() and moving data around. Change-Id: I4e31964bb9bfffbe2083b3cb8c120e602160dfd8 Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* QTimeZone - Fix finding Linux System Time ZoneJohn Layt2013-10-151-2/+2
| | | | | | | Extract the correct length sub-string from the /etc/sysconfig/clock file Change-Id: I37b4f625a51b172ed11ecefbd1b7dc562c5bb89d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Doc: Adding "\keyword Signals and Slots" to "Signals & Slots" page.Jerome Pasion2013-10-151-0/+1
| | | | | | | | | | -many articles link to the page using the "and" or the "&" version, causing missing links. Change-Id: I6447149befce169cfafff29164172290a7c15f0c Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Add missing operators QMargins -=,+= (int).Friedemann Kleint2013-10-151-0/+18
| | | | | | | Task-number: QTBUG-34079 Change-Id: If61cc01ba70345b01f13072769d3a38f23e8cefc Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Document %{category} for qSetMessagePatternKai Koehne2013-10-151-0/+1
| | | | | | Change-Id: Ib6ad515ce4ba27d501538ba45fd65e60ce5332df Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: hjk <hjk121@nokiamail.com>
* Avoid other threads blocking for Q_GLOBAL_STATIC constructor on MacKai Koehne2013-10-151-2/+7
| | | | | | | | | | | | | | | | | | | | | The compiler inserts __cxa_guard_acquire, __cxa_guard_release calls around the initialization of local static objects to make the initialization thread safe. However, the implementation of _cxa_guard_acquire in Apple's libc++abi uses a global lock, which means that only one thread can initialize a local static variable at a time. This can be a problem if e.g. the constructor of the variable is blocking while waiting for another thread ... This behavior has caused issues so far in webkit and the qml debugging infrastructure. Better avoid it by using our custom lock implementation. __cxa_guard_acquire implementation: http://www.opensource.apple.com/source/libcppabi/libcppabi-24.2/src/cxa_guard.cxx Task-number: QTBUG-33967 Change-Id: I0d50531ed91ddd074aa07f61f6bf7791e23d990b Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Correct PrefixPath on iOS.Morten Johan Sørvig2013-10-151-0/+4
| | | | | | | | The iOS bundles are "flat", do not insert "/Contents/" like we do on OS X. Change-Id: I4e848f4425482b92cac04d940e5bce06b7199fc6 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Update keycode mappings of multimedia keysAllan Sandfeld Jensen2013-10-151-5/+5
| | | | | | | Updates keycode mappings for evdev, directfb and android. Change-Id: I6789f13dbb662da4261a3c947757644e12306dd9 Reviewed-by: BogDan Vatra <bogdan@kde.org>
* QMap - improve docs a bit (mainly by adding more time complexities)Thorbjørn Martsum2013-10-151-2/+13
| | | | | | Change-Id: I8a361ef09c338bbba228fd774b2bfd938869adc5 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Improve implicit shared documentation a bitThorbjørn Martsum2013-10-159-18/+114
| | | | | | | | Task-number: QTBUG-27061 Change-Id: I66e000a9f59fda3654066013e6e78c3ba6fd27fe Reviewed-by: Mitch Curtis <mitch.curtis@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QList - fix a few doc issuesThorbjørn Martsum2013-10-151-10/+14
| | | | | | | | | Though some of it was mensioned in the introduction to the class, we are not in O(1) if we modify a shared container. Change-Id: If63b4cb4bdfc98d6b1333bae307e5650341e5484 Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Account for QPolygonF type when loading/saving the QVariantAndy Shaw2013-10-151-1/+6
| | | | | | | | | | | When the QPolygonF type was added to QMetaType it did not bump up the values in load() and save() for QVariant. Task-number: QTBUG-33981 Change-Id: I7ad99cda70620c5449c15527c3daf920972d047f Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Add qWarning when trying to read or write a closed deviceLaszlo Papp2013-10-151-2/+6
| | | | | | | | Change-Id: Ifda057d122a30d88749c6401185457f1900a913b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Richard J. Moore <rich@kde.org> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix memory leak in QFileInfo::exists()Jian Liang2013-10-122-1/+16
| | | | | | | | | | Use the the legacy file engine object created in static function QFileInfo::exists() as the engine of the QFileInfo object to prevent memory leak. This can also boost a little performance. Change-Id: I06317d158d487be5ef15fe3244a917a371563ac9 Reviewed-by: hjk <hjk121@nokiamail.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Documentation: Add '\since' to doc for Qt::EdgeKevin Funk2013-10-121-0/+2
| | | | | | | | That enum got introduced in b6e9a8f21ac8b4cc3cc56232ce346ebd7ba17a70 Change-Id: I2d69179624cecff63549bfee66bc68bb4b27af8c Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Doc: Fix typos and add missing words.Marcel Krems2013-10-122-3/+3
| | | | | Change-Id: I40e4780bcabbca29425945a69d8a0781cd5c0e9f Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Let QLoggingCategory::defaultCategory return a pointerhjk2013-10-113-6/+13
| | | | | | | | The pointer can be null. Going trough the reference invokes undefined behavior here. Change-Id: Ia84e4e732cdcbbaee0f5f0679765d18069ea8b2d Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Allow custom definition of Q_FORWARD_DECLARE_OBJC_CLASS and friendsTor Arne Vestbø2013-10-111-6/+12
| | | | | Change-Id: I761ef508672d5d4e8b9067a1b5f91debe09607d4 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Reduce risks of lock file corruptionKevin Ottens2013-10-111-10/+10
| | | | | | | | | | | | Trying to do as few operations as possible once the file got opened. That includes generating the data which will go in the file. Indeed if we crashed at that point the lock file is already emptied. Could happen because of the qAppName call. It's then safer to prepare the data upfront, and just open/write/close if possible. Change-Id: Iad32fa822c6a5958ae89d84a2fe02ed5366ea278 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* QVector: add some functions missing for QList compatMarc Mutz2013-10-112-9/+52
| | | | | | | | | | | | Eases migration from QList to QVector. Had to rename the 'length' parameter to mid() to suppress -Wshadow warnings. Task-number: QTBUG-3781 Change-Id: I755c6caefe4de81ea42a81b1c76aab728e639613 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Make sure QLoggingCategory default is availableKevin Ottens2013-10-101-2/+4
| | | | | | | | | | | | This avoids crashes in case where qWarning() would be called from a global static deleted after the one holding the default category. I encountered this case with a QLockFile locked from a global static while the application quits, it was calling qAppName which was triggering a qWarning as the qapplication object was gone too. Change-Id: I8910e8559d063e8f0a737bae3da5edc481ab84d3 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Remove warnings about examples not running in the Qt SimulatorTor Arne Vestbø2013-10-091-2/+0
| | | | | | | The Qt Simulator is no longer supported with Qt 5. Change-Id: I0f98351d482dd0554ea0754746d56f94ee6bf22f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Android: Add QAndroidJniXxx as friend classes in qjni.Christian Strømme2013-10-091-2/+2
| | | | | | | | | The JNI classes in Qt Android Extras are changing name from QJNIXxx to QAndroidJniXxx and they need to be friends of the private JNI classes in core. Change-Id: Ib5e1729f4bbba876b7d3eba5742fe750f95c48f7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix "Empty or null file name(s)" warning textKai Koehne2013-10-081-4/+4
| | | | | | | | Remove '(s)' for methods taking only one path argument. The '(s)' has been dropped in other places already ... Change-Id: I9dc0d1cfa1e02f60bce901a309835f4bbfadde6d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Reorder the members in QThreadData to avoid padding holesThiago Macieira2013-10-082-10/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this change, this struct had size 104 and a total of 21 padding bytes. Now it's down to 88 bytes and only 5 bytes of padding. pahole report on a 64-bit system: class QAtomicInt _ref; /* 0 4 */ /* XXX 4 bytes hole, try to pack */ public: class QThread * thread; /* 8 8 */ HANDLE threadId; /* 16 8 */ bool quitNow; /* 24 1 */ /* XXX 3 bytes hole, try to pack */ int loopLevel; /* 28 4 */ class QAtomicPointer<QAbstractEventDispatcher> eventDispatcher; /* 32 8 */ class QStack<QEventLoop*> eventLoops; /* 40 8 */ /* --- cacheline 1 boundary (64 bytes) --- */ class QPostEventList postEventList; /* 48 32 */ bool canWait; /* 80 1 */ /* XXX 7 bytes hole, try to pack */ class QVector<void*> tls; /* 88 8 */ bool isAdopted; /* 96 1 */ /* size: 104, cachelines: 2, members: 11 */ /* sum members: 90, holes: 3, sum holes: 14 */ /* padding: 7 */ Change-Id: I1fc88e0b312f38eccdea440734fd37e0519285a2 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Doc: Adding mark-up to boolean default values.Jerome Pasion2013-10-08117-1358/+1358
| | | | | | | | | | | | | | | | | Default values should have mark-up to denote that they are code. This commit changes: -"property is true" to "property is \c true". -"Returns true" to "Returns \c true". -"property is false" to "property is \c false". -"returns true" to "returns \c true". -"returns false" to "returns \c false". src/3rdparty and non-documentation instances were ignored. Task-number: QTBUG-33360 Change-Id: Ie87eaa57af947caa1230602b61c5c46292a4cf4e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Allow to use short names for Windows Registry root keysSebastian Schuberth2013-10-071-0/+12
| | | | | | Change-Id: I58b7681bb49e93b7577bc559d754c81d3c6f007b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* QPA: Fix event dispatcher dependent operations in platform integrationLaszlo Agocs2013-10-072-0/+6
| | | | | | | | | | | | | | | | | | 999e5162ec3e86c9cb84c3ec95dfd0ba4b21277f breaks QPlatformIntegration implementations that perform tasks in their constructor that rely on the event dispatcher. For example creating a QSocketNotifier is not possible anymore since the event dispatcher is created later on. This is fixed by introducing an additional virtual in QPlatformIntegration that gets called after createEventDispatcher(). Two broken platform plugins have been identified so far: eglfs is creating socket notifiers to read events from input devices and xcb's input context plugins may use dbus. Both are updated accordingly. Task-number: QTBUG-33768 Change-Id: I5badb623958a52ab5314ff93dd7d60061f5df70a Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Remove default label for QtMsgTypeKai Koehne2013-10-071-3/+1
| | | | | | | | Adding another category will most likely require a dedicated handling anyway, so better let the compiler warn about it. Change-Id: I323ca1250d82e33c086f1930e1df0a6337d6f16f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Improve QLoggingCategory documentationKai Koehne2013-10-071-42/+21
| | | | | Change-Id: I142e954cc3622643d80b8efd3b1d659c11d4e239 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* QCommandLineOption: declare as sharedMarc Mutz2013-10-071-0/+2
| | | | | | | | | QCommandLineOptions are held in a QList in QCommandLineParser, so they better be declared movable, which is one of the things Q_DECLARE_SHARED enables. Change-Id: I75c8185534b4e9c1ea4417a9507095c8a6512aab Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Replace QLoggingCategory::isEnabled by non-template functionshjk2013-10-063-59/+79
| | | | | | | | | This yields the same results as previously and is more in line with existing interfaces. Change-Id: I0bf0372bf18f3bfde579385cddbe594bf71e3c52 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Improve the QWinSettingsPrivate constructor's performanceSebastian Schuberth2013-10-061-21/+26
| | | | | | | | This is mainly achieved by modifying the program flow to require fewer string comparisons and conversions. Change-Id: I9887623b9c05fe76460fc725d6534d16bd9f9e59 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Doc: Expand on thread synchronization detailsSze Howe Koh2013-10-062-57/+43
| | | | | | | | | | | | - Introduce the concept of "mutual exclusion" - Rewrite/add explanations on how synchronization happens and how to use these tools - Remove similar content from the "Thread Basics" page - Fix links to examples Change-Id: Id008a8fc3f68bf242cae1704c5c8318149d908b4 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Doc: Generalize problems and solutions of mutex useSze Howe Koh2013-10-062-20/+24
| | | | | | | | | | These apply to other locks too, not just mutexes. Move from "Thread Basics" to "Synchronizing Threads" Change-Id: I6d7051cb225a8c836fb591a28b65d3de8fab4083 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Doc: Remove convoluted details of uncommon QMutex use caseSze Howe Koh2013-10-061-9/+0
| | | | | | Change-Id: If80068f44fef7ab0692b9dad99aa7e1a30cb72a6 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Doc: Show both low- and high-level thread syncing on the same pageSze Howe Koh2013-10-062-25/+29
| | | | | | | | | Move text from "Thread Basics" to "Synchronizing Threads" for a more complete overview. Change-Id: Ib87259ed551fa77278b57c5922df7f4b774a829a Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Doc: Rewrite section on threaded event loopsSze Howe Koh2013-10-061-20/+20
| | | | | | | | | | | - Focus on signals instead of events; programs rarely need to call QCoreApplication::postEvent() manually - Mention QMetaMethod::invokeMethod() - Reduce verbosity Change-Id: I170b96bd0134c0bc102ef1a344d4f0b88e504f86 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Doc: Discuss the concept of thread affinity in more detailSze Howe Koh2013-10-062-31/+37
| | | | | | | | | | | | | | | - Create a section dedicated to this concept, which is fundamental to signal/event handling - Move relevant content from the very broad "Thread Basics" page to the QObject class ref - Flesh out existing content, including distinguishing signals from events - Address the common misconception that "member" = "child"; this has been encountered several times in the Qt Project forums Change-Id: I5e7e6c848596e72c0bb623f8442c8389b81ad9ef Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* QObject: use per-thread storage for qFlagLocation()Marc Mutz2013-10-052-14/+27
| | | | | | | | | | | | | | | | | | | qFlagLocation() uses a global char* array to transport source location information from the connect() side to the metaobject side. The size of the array is 2 (two), which just about suffices for a single connect() statement. Obviously, if more than one thread makes a (_any_) connection at the same time, the data is useless and, worse, there's a data race. The non-reentrancy of qFlagLocations() cannot and need not be fixed, but use a per-thread flagged_locations array in QThreadData so threads don't disturb each other. Task-number: QTBUG-3680 Change-Id: If1797c60751f551694def69afee6fbe295bbe2d2 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Android: Add private ctors in QJNIObjectPrivate that takes va_list.Christian Strømme2013-10-042-0/+40
| | | | | | | | NewObjectV() was failing because QJNIObject was calling the variadic constructors with a va_list, which in turn created a new va_list. Change-Id: I1cf4c8133f237596964177271a20ca651174e695 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Refactor OS X bundle detection for QFileInfoSamuel Gaist2013-10-041-11/+72
| | | | | | | | | | | | | CFBundleGetPackageInfoInDirectory originally used tests for the presence of information that are not mandatory in a bundle. The new implementation uses known bundle extensions as well as Launch Services to try to find if the bundle is known to the system. Last thing it checks whether the package bit is set. Task-number: QTBUG-31884 Change-Id: Ib58996c6ac65194c21238f5f86f78d797e310608 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Doc: Remove unused variable in QThread snippetSze Howe Koh2013-10-041-1/+0
| | | | | | | Task-number: QTBUG-33120 Change-Id: Icfc896f0b3cd78ba681e587d78c9e46f8ca89694 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QTemporaryDir: Output warnings on removal failure.Friedemann Kleint2013-10-031-1/+7
| | | | | Change-Id: I38d0a07c355f73899cc5f6eac60bd8cbedc73cb2 Reviewed-by: David Faure <david.faure@kdab.com>
* Remove a duplicate conversion to QLatin1StringSebastian Schuberth2013-10-021-1/+1
| | | | | Change-Id: I9641090406be2d4bad2b703594e404b4934cbc0b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* QProcess/Win: fix crash in drainOutputPipesJoerg Bornemann2013-10-021-2/+2
| | | | | | | | | | | | | stdoutReader->waitForReadyRead() can synchronously trigger the deletion of stdoutreader (via signal readyRead(), _q_canReadStandardOutput(), destroyChannel()). Analoguous for stderrReader. Task-number: QTBUG-33730 Change-Id: I8badac53e92a979c437838b2959b4c0445c8de81 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* QProcess: remove now superfluous calls to setEnabled(false)Joerg Bornemann2013-10-021-11/+2
| | | | | | | This amends 48061944ef358bbb1e5fd7b582376868f9788c5e. Change-Id: Ie5b56c1499a10594b4a4b3c02d5704226ef971ba Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Doc: correct QTimer accuracy information - it depends on the timer typeThiago Macieira2013-10-021-7/+12
| | | | | | | | This doc was probably older than the feature of timer types. Task-number: QTBUG-33760 Change-Id: Iff4c9f9bb7287498f1ee80578b500bbde777bc78 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* remove usage of qDeleteInEventHandler from QProcessJoerg Bornemann2013-10-011-9/+8
| | | | | | | qDeleteInEventHandler is a mere wrapper for delete these days. Change-Id: I0828edf3ca17642b5abf97aab66672490c35f177 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>