summaryrefslogtreecommitdiffstats
path: root/src/corelib
Commit message (Collapse)AuthorAgeFilesLines
* moc: Move the property access code to the qt_static_metacallOlivier Goffart2014-10-282-7/+26
| | | | | | | | | That way we will be able to access property of objects that are not QObject (Q_GADGET) Change-Id: Ib8ef6e52fc621e0b0d6530f82b1aa205f1ed5fd9 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* moc: Have a staticMetaCall in the Q_GADGET metaobjectOlivier Goffart2014-10-281-1/+2
| | | | | | | This provides a way to invoke Q_INVOKABLE method Change-Id: I301cec2a21c2889fb9dde0b1eb6e92d0bd561bd7 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2014-10-2710-34/+75
|\ | | | | | | | | | | | | Conflicts: src/gui/text/qfontdatabase.cpp Change-Id: I6ac1f55faa22b8e7b591386fb67f0333d0ea443d
| * Fix doc about the list of supported codecsAlexander Volkov2014-10-241-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | Replace "Apple Roman" by "Macintosh" which is registered by IANA: http://tools.ietf.org/html/rfc1345. Replace unsupported "GB18030-0" by "GB18030". Remove "JIS X 0201" and "JIS X 0208" as they are supported as parts of other Japanese encodings but not directly. Add "HP-ROMAN8" which is supported by both Qt and ICU. Also clean the codecs test. Change-Id: Iaf8e8ff1900d3f92ea0e0df75c60fe1534de23ac Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * Add support for "Apple Roman" encodingAlexander Volkov2014-10-241-0/+2
| | | | | | | | | | | | | | | | Substitute this encoding by "macintosh" when Qt is built with ICU. It is for compatibility with Qt 4.x. Change-Id: I70c51cba7d473ac81e25862736cb71a2f6894055 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * Fix QVariant associative container conversion from built-in types.Jędrzej Nowacki2014-10-242-3/+18
| | | | | | | | | | | | Task-number: QTBUG-41403 Change-Id: I9dab0f9450cac11678eb6d20abd2dd08e86e0900 Reviewed-by: Stephen Kelly <steveire@gmail.com>
| * Doc: QFileDevice and QFile::setPermissions do not manipulate ACLsLeena Miettinen2014-10-242-2/+15
| | | | | | | | | | | | Task-number: QTBUG-41271 Change-Id: Id97add8a6fdb7ce59020e833f6dc11744c9aaa7e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| * Add missing since info to ShareOpenGLContexts docsLaszlo Agocs2014-10-231-1/+2
| | | | | | | | | | Change-Id: I5e42cfd520ab65f7dbeecf152861f977011fe6f9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| * Fix software OpenGL DLL name in the enum docsLaszlo Agocs2014-10-231-1/+1
| | | | | | | | | | | | Change-Id: I85c664914a391002afbda0fe203c90397b0bb5c2 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| * Doc: Fix description of QTranslator::translate()Kai Koehne2014-10-231-0/+5
| | | | | | | | | | | | | | | | | | | | | | If the translations are incomplete it's actually not ensured that a translation without disambiguation is used: lrelease will drop the disambiguation from one of the identical messages if there is no message which actually has no disambiguation ... Task-number: QTBUG-30471 Change-Id: I1787f5c401a7afb964acbf8a8609ba328c8140a9 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| * Q{Sequential,Associative}Iterable: fix const_iterator assignmentMarc Mutz2014-10-231-8/+12
| | | | | | | | | | | | | | | | | | The code didn't properly clean up the current state before assigning the new state. Change-Id: If56cf43bace976203ff186759b2a81705b2b22d2 Reviewed-by: Stephen Kelly <steveire@gmail.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
| * Improve QLoggingCategory's detailed description.Mitch Curtis2014-10-221-10/+13
| | | | | | | | | | Change-Id: I40527890fb752c3a1c0f8d8a8fa4ca2b19e4fc08 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
| * Fix badly laid out docs for AA_UseHighDpiPixmapsLaszlo Agocs2014-10-221-5/+4
| | | | | | | | | | | | | | | | Leaving an empty line causes the last sentence go outside the table, causing a break before the subsequent enum values. Change-Id: I7477010a259497f8063997d2122a954d1799c1ee Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* | Add Q_DECL_RELAXED_CONSTEXPR macroOlivier Goffart2014-10-242-1/+25
| | | | | | | | | | | | | | | | | | Expands to constexpr if C++14 relaxed constepxr are supported by the compiler [ChangeLog][QtCore] Added Q_DECL_RELAXED_CONSTEXPR for the corresponding C++14 feature Change-Id: Id6b56b3a17da2ff838c80795e528e1247dc13f63 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | QObject: use QDebugStateSaver in the QDebug operator<<Olivier Goffart2014-10-241-3/+5
| | | | | | | | | | | | | | Also remove the ending space if the object is null Change-Id: Ieb2bb903de35b4e339c812cd07555b5d108d118b Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* | Fix spelling errors in method names in QStorageInfo.Jeff Tranter2014-10-223-9/+9
| | | | | | | | | | | | | | | | | | | | The methods retreiveVolumeInfo() and retreiveDiskFreeSpace() should be retrieveVolumeInfo() and retrieveDiskFreeSpace(). Task-number: QTBUG-42068 Change-Id: I86137fbff26c42c8cc8bad366a4733118d6ca292 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2014-10-2021-73/+109
|\| | | | | | | Change-Id: If7e51514ed6832750e3ad967e4d322ccf920d2bb
| * logging: Fix qCleanupFuncinfo to not mangle Objective-C message namesTor Arne Vestbø2014-10-201-2/+3
| | | | | | | | | | | | Change-Id: I823566ba72668c611d225aa92c4d09a53cabe8fc Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
| * Add a hint on application window positioning with QProcess::starthjk2014-10-201-0/+7
| | | | | | | | | | | | | | | | Task-number: QTBUG-30999 Change-Id: I65c80917c9bad067bb7d8e69e2431dd1c4886b08 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
| * Doc: removed unnecessary textLeena Miettinen2014-10-201-2/+2
| | | | | | | | | | | | | | | | | | Added some commas. Task-number: QTBUG-41928 Change-Id: I52ad75f895f41b109f0496863930ffaa1650447c Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Nico Vertriest <nico.vertriest@digia.com>
| * QEasingCurve: fix mem leak in operator>>Marc Mutz2014-10-191-0/+2
| | | | | | | | | | | | | | | | | | The code ignored that the QEasingCurve passed in to op>> might already have a QEasingCurveFunction set, overwriting it with a new pointer without deleting the old. Change-Id: Ic14cf7e4b97c7c8c7edb64cde08fbf22c07ac8f3 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
| * qdatetime.h: include correct headerMarc Mutz2014-10-191-1/+1
| | | | | | | | | | | | | | QExplicitlySharedDataPointer is defined in qshareddata.h, not qsharedpointer.h. Change-Id: If81f6615681068a8e8c38817044ea3a0433c42ab Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Merge "Merge remote-tracking branch 'origin/5.3' into 5.4" into refs/staging/5.4Gabriel de Dietrich2014-10-181-1/+2
| |\
| | * Merge remote-tracking branch 'origin/5.3' into 5.4Frederik Gladhorn2014-10-141-1/+2
| | |\ | | | | | | | | | | | | Change-Id: Ic01820f2390e419a5b286643e7351e85ae032473
| | | * Initialize QFileSystemMetaData::size_ data memberGiuseppe D'Angelo2014-10-131-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's a code path which reads that member before it got anything assigned to it, triggering undefined behavior. The code path goes as follows: 1. an instance is created in QFSFileEngineIterator::advance 2. the instance is passed to QFileSystemIterator::advance, which fills in only some members (not size_) 3. the instance is passed to QFileInfoPrivate which does a deep copy, reading an uninitialized size_ Change-Id: I6835ee701a83b63ca4bad6235feeb6a23566fcd3 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | | Fix QAbstractListModel's detailed description.Mitch Curtis2014-10-171-2/+2
| | | | | | | | | | | | | | | | | | | | Change-Id: I3f3e6b9d4e021620505c03458e78856326dcd859 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| * | | Android: Improve cache logic in findClass()Christian Strømme2014-10-171-30/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds guards to ensure that we only do a class look-up once when calling QJNIEnvironmentPrivate::findClass(). IF someone calls findClass() with an environment that does not contain a "valid" class loader, we should fallback to loadClass(), but only once. Change-Id: If5fc82956db889f3269bb33c98a16c49cae55def Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| * | | Move Qt Core examples under a common subdirectoryTopi Reinio2014-10-172-16/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt Core examples were scattered into several subdirectories under qtbase/examples. This caused an issue with the example manifest file generated by QDoc; it expects to find all examples under a common directory in order to produde correct paths to the example .pro files. Qt Creator will not find the examples without a valid manifest file. This change moves the examples and edits the documentation files accordingly. Task-number: QTBUG-41963 Change-Id: I51d86782e0ba21c5c9bae5f15401ec774abe5cf8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
| * | | Fix undefined behavior in QLoggingRegistry::defaultCategoryFilter()Marc Mutz2014-10-171-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Report by asan: READ of size 2 at 0x00000041dd40 thread T0 #0 0x2af097b84da6 in QLoggingRegistry::defaultCategoryFilter(QLoggingCategory*) (lib/libQt5Core.so.5+0x566da6) #1 0x2af097b8387b in QLoggingRegistry::registerCategory(QLoggingCategory*, QtMsgType) (lib/libQt5Core.so.5+0x56587b) #2 0x4067f7 in tst_QLogging::QLoggingCategory_categoryName() tests/auto/corelib/io/qloggingcategory/tst_qloggingcategory.cpp:238 <snip> 0x00000041dd41 is located 0 bytes to the right of global variable '*.LC115' defined in 'tests/auto/corelib/io/qloggingcategory/tst_qloggingcategory.cpp' (0x41dd40) of size 1 '*.LC115' is ascii string '' At face value, memcmp("", "qt", 2) should not return 0, but since the code invokes undefined behavior, the compiler can do whatever it wants, including returning 0 here, further proving the fact that there are *no* benign cases of undefined behavior. Change-Id: I0c38622c47d1dcea450ea549370be1673b47b18d Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
| * | | Export QFSFileEngine symbolsKai Koehne2014-10-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Although it's private API the symbols are used e.g. in the Qt Installer Framework. Change-Id: I557d3b86dbf87cb1b712bae09c3e8fecf6f15e67 Reviewed-by: hjk <hjk121@nokiamail.com>
| * | | QSettings: Prevent assert when passing empty keys.Friedemann Kleint2014-10-171-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][Important behavior changes][QSettings] QSettings::value() now returns an invalid QVariant when passing an empty key. The code path ran into an assert, which was only noticeable in debug builds. Task-number: QTBUG-41812 Change-Id: I5cc32be3aa267a132e9d6639ecd6cb0bbafc15b0 Reviewed-by: Stéphane Fabry, Cutesoft <stephane.fabry@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | | QWindowsGuiEventDispatcher: Register timers in constructor.Friedemann Kleint2014-10-152-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Port change 3716a76704273fdbe5ad4ec978438daeda606c26 (Qt 4) to Qt 5. Enforce the creation of the internal window and registering of timers in the event dispatcher constructor for GUI applications instead of delaying it to processEvents() is called. Move the call to virtual wakeUp() out of createInternalHwnd(). Task-number: QTBUG-40881 Change-Id: I82a4748897da140a39feff882c75ad5ac6155148 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * | | Avoid sleeping 100ms in QProcessPrivate::drainOutputPipes()Oswald Buddenhagen2014-10-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no point in waiting 100 milliseconds after each iteration, as all data that we may possibly read will be already in the pipe. We only need to give the notifier thread a chance to inform us, which is best achieved with a yield. Task-number: QTBUG-41282 Change-Id: Id654b688246508494a5549c11900f9ad2957f192 Reviewed-by: Alessandro Portale <alessandro.portale@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| * | | Make QStringRef::right() consistent with QString::right()Eskil Abrahamsen Blomfeldt2014-10-142-2/+2
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The implementation was inconsistent with QString::right(), and did not return the N rightmost characters but actually did the same as QString::mid(N) (returning the rightmost size - N characters.) Since this function is fairly recent (Qt 5.2), is documented to behave the same as QString::right(), and since these APIs are meant to be interchangeable, this needs to be fixed, even though it changes behavior. [ChangeLog][Important Behavior Changes] Changed QStringRef::right() to be consistent with QString::right(). The function now returns the N right-most characters, like the documentation already claimed. Change-Id: I2d1cd6d958dfa9354aa09f16bd27b1ed209c2d11 Task-number: QTBUG-41858 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
| * | QSettings: undo unintentional change of config dir on non-XDG platforms.David Faure2014-10-121-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c99dfd8f631289 only meant to be able to switch to the test mode of QStandardPaths, not to move the default dir on OS X, iOS, BB10 and Android. So this commit restores it to the previous behavior, to avoid migration issues. The use of XDG_CONFIG_HOME, defaulting to ~/.config, on OS X, is even documented in the current QSettings documentation, even though these paths are non-standard on OS X (granted, the use of ini-style config files isn't either). Task-number: QTBUG-41461 Change-Id: I5eb610ff7ccbdaf6f955ef7f8f7c2658cbecbb86 Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | Fix patching of installation dateKai Koehne2014-10-101-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Marking qt_eval_expiry_date alone as volatile apparently didn't stop the compiler from optimizing away the calculation of the expiry date. Task-number: QTBUG-41612 Change-Id: Ia51fb83f03250346952a76c8a1a641096b4ff9e7 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Kalle Viironen <kalle.viironen@digia.com> Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
| * | Android: Support QSysInfo::productVersion()Eskil Abrahamsen Blomfeldt2014-10-101-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Gets the user-readable string for the current running Android version. Task-number: QTBUG-41764 Change-Id: Iefea4a4f5291bfddc99bbf901676ccd33fbc23d6 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
| * | Gcc 4.5.* build fix.Tomasz Olszak2014-10-101-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Q_COMPILER_DEFAULT_MEMBERS and Q_COMPILER_DELETE_MEMBERS are now set starting from gcc 4.6. Pre-4.6 compilers implement a non-final snapshot of N2346, hence default and delete functions are supported only if they are public. Starting from 4.6, GCC handles final version - the access modifier is not relevant. Compiler error: qsharedpointer_impl.h:717:31: error: 'QEnableSharedFromThis<T>::QEnableSharedFromThis()' declared with non-public access cannot be defaulted in the class body Change-Id: If1d3d4696f91912a09ca72bd4aa1fb07f491a0cb Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Check for integer overflows in places where qAllocMore is usedUlf Hermann2014-10-175-5/+31
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-41230 Change-Id: I5e932c2540c0bd67f13fab3ae20975d459f82c08 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | | Don't dereference pointers on QArrayData deallocationUlf Hermann2014-10-171-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | If the allocation fails the pointer will be 0. That is OK for free(), but we shouldn't try to check for static data then. Change-Id: I0a8860c9e04833e3be79f7a8a39bdaffeb488f35 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | | Do Q_CHECK_PTR on all results of QArrayData::allocate()Ulf Hermann2014-10-172-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QArrayData::allocate() uses malloc() which can return 0. We need to check for that when using it inside other containers. The containers might otherwise return a seemingly valid result from some allocating operation which is actually corrupt. Task-number: QTBUG-41231 Change-Id: I16cc6035e4f495f519bd38bf29cee080ee0637f6 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | | Make QRingBuffer::ungetChar() not leave empty array in buffer listAlex Trotsenko2014-10-131-2/+6
| | | | | | | | | | | | | | | Change-Id: Ic692693132f0c316ad068cad5423ca8fd32bd40d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2014-10-0947-852/+248
|\| | | | | | | | | | | Change-Id: I05fcd8dc66d9ad0dc76bb7f5bae05c9876bfba14
| * | Removing a few unneeded "? true : false"Alessandro Portale2014-10-091-3/+3
| | | | | | | | | | | | | | | | | | | | | Change-Id: Ib13f0ddd65fe78f5559f343f2fc30756b1d3ef76 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| * | Don't stream QStringLiterals into QDebugMarc Mutz2014-10-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Normal (C) string literals do just as well and use more than twice less space in the DATA section. Change-Id: Iafb0682a362c41dfd5b4d8b9137d88014d7992a2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | QFactoryLoader: de-duplicate two QStringLiteralsMarc Mutz2014-10-091-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When seemingly identical QStringLiterals are used in different functions, due to the use of lambdas and scoping, they produce different lambda types and thus duplicated QStringLiteral data. Fix by moving the QStringLiterals into inline functions and calling those instead. Change-Id: Ifaa124ec74e201ccc63fd9afce042f8b2ff22b9e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | Don't use QStringLiteral in startsWith/endsWidthMarc Mutz2014-10-092-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For QLatin1String, startsWith/endsWith is overloaded, so comparing to a latin-1 (C) string literal is efficient, since strlen() is comparatively fast. OTOH, QStringLiteral, when not using RVO, litters the code with QString dtor calls, which are not inline. Worse, absent lambdas, it even allocates memory. So, just use QLatin1String instead. Change-Id: I7eaf464c67b55116f970fe7f58a85f19ce4d254e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | Don't use QStringLiteral in comparisonsMarc Mutz2014-10-093-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For QLatin1String, operator== is overloaded, so comparing to a latin-1 (C) string literal is efficient, since strlen() is comparatively fast. OTOH, QStringLiteral, when not using RVO, litters the code with QString dtor calls, which are not inline. Worse, absent lambdas, it even allocates memory. So, just compare using QLatin1String instead. Change-Id: I7af3bf3a67c55dae33ffaf9922d004fa168a3f9c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | Fix compilation of MIPS with ClangThiago Macieira2014-10-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clang always sets __mips to 1, unlike GCC. To detect a higher MIPS arch, we need to rely on the _MIPS_ARCH_MIPSxxx macros being defined -- or, in this case, _MIPS_ARCH_MIPS1 not being defined. Change-Id: Ib6846a6892a4c1e17e595a69305b7e46a5303ee7 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Adrian Perez de Castro <aperez@igalia.com>
| * | MSVC: Restore 'public' accessibility of QVariant member functions.Friedemann Kleint2014-10-071-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The were made 'protected' as a side effect of a change enabling support of template friends for MSVC. However, accessibility is part of the MSVC's name mangling and thus BC was broken. Task-number: QTBUG-41810 Change-Id: I5ce4c7010673c06d5b75219c89c7ebd337bac6c0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>