summaryrefslogtreecommitdiffstats
path: root/src/corelib
Commit message (Collapse)AuthorAgeFilesLines
* Properly implement a 'make docs' target for subdirs and apps/libsMarius Storm-Olsen2012-05-092-4/+3
| | | | | | | | | | | | | | Only call qdoc for projects which sets the QMAKE_DOCS variable to point to a qdocconf file. Exclude examples/ and tests/ from the qdoc run, by adding no_docs_target to CONFIG for those projects. Change-Id: Ic856c8f19db59309302d0602b3e99735609e525a Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* QArrayData: Suppress MSVC warnning.Debao Zhang2012-05-071-1/+1
| | | | | Change-Id: I3b8090d9d3f1294d76ff1cc3503c73e90cd91b40 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* Change QStringBuilder to use UTF-8 tooThiago Macieira2012-05-072-9/+34
| | | | | | | | | | | | | This commit completes the previous commit so that both QString and QStringBuilder now operate on UTF-8 input. A small fix was required in QStringBuilder: an if clause isn't enough to separate the two append versions. Since there are no QString functions that append to char*, if we're converting to a QByteArray, we need to go through a QString first in a separate function. Change-Id: Ic503340c5d0c32d420c90c91cc2e0fc1ae9230f3 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Change QString's default codec to be UTF-8Thiago Macieira2012-05-072-16/+51
| | | | | | | | | This is a crude change, not the most efficient way. I'll clean up and make it prettier later on, when I've had the chance to optimise the UTF-8 codec too. Change-Id: I78e30e8d3bddf6ad0210c9c4cedb9a7ce63d1a7d Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Add default value for getters in QJsonValueLiang Qi2012-05-062-18/+44
| | | | | | | Done-with: Debao Zhang <dbzhang800@gmail.com> Change-Id: I3ddd8dd89dc75d91ac9977bf9b6eb3174d7669e4 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Fix typos in bcd477e0bc48bDavid Faure2012-05-062-2/+2
| | | | | Change-Id: Ia1981c86f799a749aa8fab5cdd8f6563b2ebe77f Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Make sure we export the non-inline qMalloc & friends functionsThiago Macieira2012-05-051-0/+10
| | | | | | | | | | If QtCore is built with Qt 5.0 API, the Q_CORE_EXPORT does not appear anywhere and these functions wouldn't get exported, despite being defined. So make sure that they get the Q_CORE_EXPORT attribute. Change-Id: I0684ea1b9ad634c13dca12c97683032e44f6a290 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Publish the fact of whether Qt was built with hidden visibility.Stephen Kelly2012-05-051-0/+4
| | | | | | Change-Id: Iaf1a6495ee96859af9c5c25a54ea1fc463910cd3 Reviewed-by: Alexander Neundorf <neundorf@kde.org> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Place the plugin metadata into special sections for Mac and WinLars Knoll2012-05-051-3/+15
| | | | | | | | | | | | | | | | | | The plugin metadata is placed into a special section in the object file on ELF systems to allow finding it fast. Place the data into a special section on Mac and Windows as well, even though we don't have Mach-O or COFF parsers available yet. This will allow us to add the Mach-O and COFF parsers as a pure optimization later on. Task-number: QTBUG-25054 Change-Id: I376d5443ede715aee2c68fb62d24afdbf66e5685 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> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Document dependency of bearer management on network interfaceShane Kearns2012-05-051-1/+1
| | | | | | | Task-number: QTBUG-21243 Change-Id: I494b751589f2efcb5101c056ac24ef82df9aa746 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add missing include file.Jędrzej Nowacki2012-05-041-0/+1
| | | | | | | qfile_p.h is depending on qfile.h Change-Id: I8b021baaf517a0236a062ef031a33bd8e2915101 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Reuse QArray initializer macro in QByteArrayJędrzej Nowacki2012-05-042-5/+8
| | | | | Change-Id: Ieb12ee290846dce88f2ea9fbf943103899337e0f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Replace QByteArrayData class by typedef.Jędrzej Nowacki2012-05-042-21/+3
| | | | | | | | | | | | | QByteArrayData was binary compatible with QArrayData, but we do not need a separate class, QArrayData should be sufficient. Preferably we would use QTypedArrayData<char> but it is not POD, therefore it can not be initialized with {} syntax. Change-Id: I1edd7b4f236b06d8f2dbfd8a37a3f5699b6a2c07 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Add an assert simplifying debugging.Jędrzej Nowacki2012-05-041-0/+1
| | | | | | | | Statics should not be deleted, the assert shows a nicer debug information then a segmentation fault. Change-Id: I9eedbfa966d7865fd7bb1e130c79e40bae3526cb Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Stub out QSharedMemory and QSystemSemaphore for Android.Robin Burchell2012-05-044-3/+226
| | | | | | | | Android does not support regular SysV shm, we'll need to write our own implementations. Change-Id: I2817f64b36512b965b012388a667d08935828c83 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Guard some pthread API with the appropriate POSIX check, or Android.Robin Burchell2012-05-041-0/+12
| | | | | | | | Android does not support some parts of POSIX. It's also unfortunately not POSIX-compliant, meaning we need to guard things like pthread_cancel. Change-Id: I2979eb5579c822f4f5ba27bcc29e118b908e8bdc Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Properly guard rand_r use with _POSIX_THREAD_SAFE_FUNCTIONS for Android.Robin Burchell2012-05-041-1/+1
| | | | | | | | Android does not support this, or other thread-safe functions. Change-Id: Id2a918f83e6138795196c45f89613c5b46911901 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Add Android to conditionals around langinfo.h usage.Robin Burchell2012-05-041-3/+5
| | | | | | | | Despite being mandated by POSIX, Android does not support this. Change-Id: I3da42ff9b3336cb6657692a9eb70dd3118ac1756 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* stop ignoring unassigned codepointsKonstantin Ritt2012-05-042-6/+5
| | | | | | | | | | in Unicode 5.1, it was clarified that unassigned codepoints normally should not be excluded from the process; moreover, unassigned codepoints assumed to be starters in decomposition by default Change-Id: Ic4a61ec3759ee62b6843c81045e1d611d0684ead Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* add support for non-BMP ligaturesKonstantin Ritt2012-05-042-70/+176
| | | | | | | | | | | | | | | | | | | | | > http://www.unicode.org/versions/Unicode5.2.0/ D. Character Additions: There are three new characters in the newly-encoded Kaithi script that will require changes in implementations which make hard-coded assumptions about composition during normalization. Most new characters added to the standard with decompositions cannot be generated by the operations toNFC() or toNFKC), but these three can. Implementers should check their code carefully to ensure that it handles these three characters correctly. U+1109A KAITHI LETTER DDDHA U+1109C KAITHI LETTER RHA U+110AB KAITHI LETTER VA UCD 6.1 adds two more of them: U+1112E CHAKMA VOWEL SIGN O U+1112F CHAKMA VOWEL SIGN AU Change-Id: I781a26848078d8b83a182b0fd4e681be2a6d9a27 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Use QFile::{encode,decode}Name to deal with QT_PLUGIN_PATHThiago Macieira2012-05-041-1/+1
| | | | | | | | | Since it deals with paths, let's use the proper path-handling functions. Change-Id: I896d2c472dfd675e9ff247657447178702f178be Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* Fix QUrl::toString(StripTrailingSlash) to not turn file:/// into file:David Faure2012-05-041-1/+1
| | | | | | | | It should only strip one slash (as the name indicates), and not if the path is just "/". Change-Id: I133a81977241de77a49d1d1559143d30e0bd52f8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix compiler warningOlivier Goffart2012-05-041-3/+2
| | | | | | | | qurlrecode.cpp:481:24: warning: ‘action’ may be used uninitialized in this function [-Wmaybe-uninitialized] Change-Id: I638b65218d1875667e2c60a5720ecda87202b82f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Always return uiLanguages in bcp47 formatLars Knoll2012-05-041-20/+18
| | | | | | | | | | | | | | The old code didn't convert the uilanguages coming from the system locale to bcp47 format, leading to QLocale().uiLanguages() and QLocale("en_US").uiLanguages() returning things in an inconsistent format. Now it always returns bcp47 format (ie. Language and Country separated by a hyphen). Change-Id: I40d3442255e6e8daa4723f7b3fc13829c9764eb1 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com> Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
* Port the QTextStream / QDebug functions away from fromAsciiThiago Macieira2012-05-042-3/+3
| | | | | | | | | No behaviour change since fromAscii (temporarily, at this point) means fromUtf8. Change-Id: I0e4d3ccfac7b5beaaaececb9f088324ee4838f84 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Change remaining uses of {to,from}Ascii to {to,from}Latin1 [QtCore]Thiago Macieira2012-05-048-11/+11
| | | | | | | | | | | This operation should be a no-op anyway, since at this point in time, the fromAscii and toAscii functions simply call their fromLatin1 and toLatin1 counterparts. Task-number: QTBUG-21872 Change-Id: I38f97ad379deafebef02c75d611343ca15640c8a Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* Make the event notification on Windows be mandatory in all dispatchersThiago Macieira2012-05-042-5/+16
| | | | | | | | | | | | | This way, QWinEventNotifier will work on all Windows systems, not just with the default event dispatcher. Other dispatchers (other than QWin32EventDispatcher) are permitted, so the class should not abort just because of that. If a dispatcher really doesn't want to implement this, they need to implement the virtuals to do nothing, possibly print a warning. Change-Id: I2c132bcde95b9d5941c8906a0fcd2ad964087772 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Move QSocketNotifier data members to a private classShane Kearns2012-05-042-29/+43
| | | | | | | | This is a binary incompatible change to allow future changes to QSocketNotifier to be possible in a binary compatible way. Change-Id: If90f3393e84edd3b1ac4d4132fa8e59b6b87a8ec Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Revert "[SIC] Make non-const the QRegExp methods that modify the internals"Thiago Macieira2012-05-032-6/+18
| | | | | | | | | | | | This reverts commit 75a0c7f9b52cde47f20fdc1b89e1264d60350848. The source-incompatible change proved to be more trouble than it's worth. Too much intrusion into the porting effort of applications for no appreciable gain, especially considering that we have a replacement class. Change-Id: Ia99a2360390a2062a8ddb6e12c8f2099287a2704 Discussed-on: http://lists.qt-project.org/pipermail/development/2012-May/003562.html Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Merge "Merge remote-tracking branch 'origin/api_changes'" into ↵Lars Knoll2012-05-0315-267/+312
|\ | | | | | | refs/staging/master
| * Merge remote-tracking branch 'origin/api_changes'Lars Knoll2012-05-0315-267/+312
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.cpp src/corelib/global/qlogging.cpp src/gui/kernel/qguiapplication.h src/gui/kernel/qwindow.cpp src/gui/kernel/qwindow.h tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp Change-Id: I62a8805577a7940d4d36bed985eb3e7019d22f2e
| | * Allow qDebug output to be configured by qSetMessagePattern()Kai Koehne2012-04-243-13/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add qSetMessagePattern() to configure the default message pattern. This one can still be overwritten by setting the QT_MESSAGE_PATTERN environment variable. Without this method, there's actually no way to change the default output programatically. Since QT_MESSAGE_PATTERN is evaluated when the first message arrives, setting it via e.g. qputenv might have no effect/be too late. Change-Id: I115e0c30606f128fdbf5c169a951ffa2a6a48517 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Migrate QString over to QArrayDataJoão Abecasis2012-04-242-82/+32
| | | | | | | | | | | | | | | | | | Change-Id: Ieadc60523a2bef61a088920576c65c720b11bfb9 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Make QStringLiteral and QByteArrayLiteral always return the real typesThiago Macieira2012-04-233-43/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Up until now, the macros would return an internal type that contained the pointer to the data. This breaks code that tried to use the macros with operators, like QStringBuilder but also when writing: QStringList() << QStringLiteral("a") << QStringLiteral("b"); This change seems to work fine now and I can also verify that this works: const auto str = QStringLiteral("Hello"); Even though it creates a QString, which is non-POD and non-constexpr. Change-Id: Iaf82af9bea4245513a1128ea54f9d2d3d785fb09 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
| | * Logging: Change arguments of message handler to avoid conversionsKai Koehne2012-04-205-70/+135
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce a new QtMessageHandler that takes QString instead of char *: This avoids converting to local8bit , only to convert it back to utf16 for Windows. The old QMessageHandler is kept for a transition period, but will be removed before Qt 5.0. Also fix qEmergencyOut (that is called in OOM situations) to not rely on the default message handler. Change-Id: Iee0ce5838f97175c98788b847964273dd22d4a37 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Add an assertion to deleteLater() before it modifies QEvent::dThiago Macieira2012-04-191-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The deferred deletion functionality stores the event loop level nesting count in the QEvent d pointer. In Qt 4, this d pointer was not usable because we forgot to add a proper copy constructor and assignment operator to it, so the deleteLater() process stored the count here safely. Since Qt 5 now has non-implicit copy methods, the d pointer could be used in the future. If QEvent uses it, this assertion will trigger. Note that it doesn't apply to classes derived from QEvent, though. Change-Id: I8600c8e9379921e32aca166bc0a6c0b4c4ed799f Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
| | * Remove QVariant constructor taking Qt::GlobalColor.Jędrzej Nowacki2012-04-192-15/+0
| | | | | | | | | | | | | | | | | | | | | | | | The constructor is wrong, it creates instance of QVariant encapsulating a QColor instance. QVariant should not implicitly convert data, never. Change-Id: Idc794ecdecb42d8b53fee3f993bf51ddd43f595d Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
| | * Remove redundant check in QMetaType::typeInfoJędrzej Nowacki2012-04-181-2/+1
| | | | | | | | | | | | | | | | | | | | | The check was introduced when void was not a fully defined type. Change-Id: I4df8607999436f8db92be77fc8fd203fc66c2816 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
| | * Remove redundant checks in QVariant.Jędrzej Nowacki2012-04-181-6/+0
| | | | | | | | | | | | | | | | | | | | | QVariant and QMetaType have aligned type naming implementation. Change-Id: I9eaae1045c492c148e3e9d23f4e04d48272f7ec2 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
| | * Hide QTypeModuleInfo in a private namespace.Jędrzej Nowacki2012-04-183-17/+17
| | | | | | | | | | | | | | | | | | | | | The class is private and shouldn't pollute global namespace. Change-Id: Ib44473fd72e5a70096eeff1662e88b29263d19c6 Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* | | Work around std::wstring not being defined on Android.Robin Burchell2012-05-031-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libstdc++ requires wchar.h (which bionic provides), but it also requires additional functionality which bionic does not provide, thus, std::wstring proper basically doesn't exist. Provide a compatibility shim so we can keep API intact. This feature existed in a similar guise in the past, but was removed in d868c9945a188d6ad22e0b7d6d24ac7fca00ab4e. Change-Id: I6cab6f41d04ad9dde97e3ce73506f9d8a42043fb Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Add some missing includes.Stephen Kelly2012-05-032-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | There is a #include <QStringList> line wrapped in QT_DEPRECATED_SINCE(5, 0). Change-Id: I766848dfcc3bd765c57626a3d70f492ac1219091 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Remove references to to/fromAscii in QString and QByteArray main docsThiago Macieira2012-05-035-139/+125
|/ / | | | | | | | | | | | | | | | | | | | | | | Those functions are about to be deprecated and shouldn't be referred to in the main documentation. Since they were temporarily changed to mean UTF-8, this is not a behaviour change. The next commit will update the code to match the documentation. Change-Id: Ia8c2843c7f2b478f5691fe0224d5e631d94b1af6 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* | Simplify the size of the QVarLengthArray buffer.Thiago Macieira2012-05-031-2/+1
| | | | | | | | | | | | | | | | | | | | | | The previous calculation was too complex for no good reason. QVarLengthArray actually doesn't change the size after this change due to padding, but we don't need to include the padding in our own calculation. Task-number: QTBUG-25113 Change-Id: I72ea214f0d96870ecf8ff65737e7ca14e19afc7a Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | Fix the QByteArray overloads to QString::fromXXXXThiago Macieira2012-05-031-18/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c951908bc201afa59402967d50fa926212845fae added these overloads, but did not properly use qstrnlen to get the size. This means we get subtle errors because other methods do have them. For example: QByteArray ba("abc\0def", 7); // ba embedding a NUL QString s1(ba); QString s2 = QString::fromAscii(ba); s1 == s2; // FAILS QString s3; s3.append(ba); s3 == s2; // FAILS Tested in an upcoming commit. Change-Id: I22864521a42da789d522d7b75790696928d9ec32 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* | Work around Android not having SYS_futex.Robin Burchell2012-05-021-2/+5
| | | | | | | | | | | | | | | | Even though we really shouldn't, we can get away with using __NR_futex instead. Done-with: Thiago Macieira <thiago.macieira@intel.com> Change-Id: I0ba449b740acf2c78825f8093d1515a74f0bc9cd Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Avoid macro re-definition warning for QT_NO_EXCEPTIONSStephen Kelly2012-05-021-1/+3
| | | | | | | | | | Change-Id: I0c4b2d00dd567af17f22b733b93032ff1056fcbd Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Avoid undefined macro warning for __GXX_EXPERIMENTAL_CXX0X__.Stephen Kelly2012-05-021-1/+1
| | | | | | | | | | | | | | The GCC use of this is already correct. Change-Id: I28650196c7a325b552117fe2f2014ad7d6b365c2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Add "make docs" target for QtNetwork and sanitize other qdocconfs.Casper van Donderen2012-05-021-20/+20
| | | | | | | | | | Change-Id: Ic9d6384b20162debeb69cb067c96c330c0fd999a Reviewed-by: Jerome Pasion <jerome.pasion@nokia.com>
* | mkdtemp() is not included in Android's libcRobin Burchell2012-05-021-2/+2
| | | | | | | | | | | | | | | | Use our own implementation instead. Change-Id: Ic04dd480d52404e03e26cdf4caa1d00e4c3219c7 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: David Faure <faure@kde.org>