summaryrefslogtreecommitdiffstats
path: root/src/corelib
Commit message (Collapse)AuthorAgeFilesLines
* QtJson: simplify/add missing relational operators involving Latin1StringMarc Mutz2016-08-261-18/+32
| | | | | | | | | | | | | | | | | | | | | | | | As noted by Mat Sutcliffe <oktal3700@gmail.com>, there were no relational operators for Latin1String/QLatin1String and String/QLatin1String mixed comparisons, leading to implicit conversions from QL1S to QString in Entry::op==(QL1S). This patch fixes half of the issue, by providing the operators for Latin1String/QLatin1String. In doing so, it cleans up their definition (non-members, non-friends, delegating to existing QL1S operators where possible, passing both {Q,}Latin1String by value, as they're both Trivially Copyable and small). A follow-up patch will deal with String/QLatin1String comparisons. It will be not quite as straight-forward as this patch, since we don't, yet, have QStringView, the UTF-16 equivalent of QL1S, available. Amends a5159cc50aa0f8a57b6f736621b359a3bcecbf7e. Change-Id: I596358eb3ccf847b7680f171f9992f3fad80132c Reviewed-by: Mat Sutcliffe <oktal3700@gmail.com> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.6' into 5.7" into refs/staging/5.7Liang Qi2016-08-254-37/+12
|\
| * Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-08-254-37/+12
| |\ | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/mimetypes/qmimeprovider.cpp src/corelib/mimetypes/qmimetype.cpp Change-Id: Ib483ddb6bfc380e7c8f195feca535703814c3872
| | * QMimeType: use default locale rather than system localeDavid Faure2016-08-242-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes it possible for the application to control which language is used by QMimeType::comment() [ChangeLog][QtCore][QMimeType] QMimeType::comment() now uses the default locale rather than system locale, so that applications can control which language is being used. Task-number: QTBUG-50776 Change-Id: I82623b7c488035a4164fadaf37ebcc79a9fd6173 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * QMutex: Make freelist() return a real global staticRaphael Kubo da Costa2016-08-231-25/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since Qt 5.6.0, some applications such as Kate (built with clang, libc++ and libcxxrt) on FreeBSD occasionally crash with the following error message on exit: QMutex::lock(): sem_wait failure: Invalid argument [or pthread_cond_wait in the 5.6 branch] Investigation by Gleb Popov, Thiago Macieira and Olivier Goffart has shown that this is caused by the fact that QDBusConnectionManager is a Q_GLOBAL_STATIC (so it will be destroyed with all the other Q_GLOBAL_STATICs in the reverse order of construction). In the Q_COMPILER_THREADSAFE_STATICS case, freelist() also returns a function-level static that is constructed on first use, so it may be destroyed earlier than the QDBusConnectionManager object, making it impossible to lock a contended mutex. We now make freelist() return a global static, so that it is always destroyed after QDBusConnectionManager and other function-static variables. Change-Id: I210fa7c18dbdf2345863da49141b9a85cffdef52 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| | * Fix problem with exception reporting in QFuture::waitForResult()Christian Strømme2016-08-231-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a problem that occurs when a task, that is run synchronously, throws an exception. If that happened, then the exception would not be re-thrown, because of an early return. Task-number: QTBUG-54831 Change-Id: Ic70c5b810ec6adce6e62bfd6832ba9f170b13a7f Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
| | * Revert "QLocale: Actually get the language script for the system locale"Orgad Shaneh2016-08-231-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The text direction should *not* be set by the default script, but by the UI direction. For example, if the default script is Hebrew, but the UI is in English, it doesn't make sense to default all the controls to RTL. This should be done only if the UI is RTL. This reverts commit a90869861cbc9927af2bbab5a94630e47b33fd5c. Task-number: QTBUG-53110 Change-Id: I5a6951ac30f24eec86bc0ae2a9fcfe14eb3a8e28 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | QLocale: Fix wrong assertUlf Hermann2016-08-251-1/+1
|/ / | | | | | | | | | | | | | | | | | | The endptr from reading the exponent of a 'g' form snprintf result should not be past the end of the string we're reading from. It has nothing to do with the 'e' sign. Task-number: QTBUG-54482 Change-Id: I8bdee917b8d21fdc94c255548ad7e008431a07fa Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Doc: Remove references to Windows CE in Qt CoreVenugopal Shivashankar2016-08-239-77/+40
| | | | | | | | | | | | | | | | The platform is not supported since Qt 5.7 Task-number: QTBUG-55331 Change-Id: I98b90d574d9a76c4281852d93818620b5f489117 Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
* | Bypass a bug in gcc 4.7 for QAtomicTraits::isLockFree()Alexander Volkov2016-08-231-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's not possible to build Qt with gcc 4.7 since aca0e367be9cdc3b48f09200f4eadbcfe5a574c8 because of the bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53473 that doesn't allow to specialize static members declared both as constexpr and noexcept. That commit was made after 5.7.0 and it introduced QAtomicTraits::isLockFree() with these specifiers. Remove the noexcept specifier to fix building. Change-Id: Ifc2462c90de1180f1e015fdc0646f246d33e68b0 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Doc: Remove references to Windows CE in Qt SQL and Qt NamespaceVenugopal Shivashankar2016-08-231-8/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | The platform is not supported since Qt 5.7. - Removed Windows CE-specific \notes in SQL drivers' documentation - Marked a couple of Windows CE-specific enum values using \omitvalue Task-number: QTBUG-55331 Change-Id: I35b44f9d31fde6f10013c043260db1b852c171e2 Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Doc: removed reference to non-existing methodNico Vertriest2016-08-221-4/+2
| | | | | | | | | | | | | | | | QAbstractAnimation::updateCurrentValue Change-Id: I1610591ec43d019ca136df5a01350dc6ca7392ff Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
* | QtJson: mark String/Latin1String ctors explicitMarc Mutz2016-08-221-2/+2
| | | | | | | | | | | | | | | | | | An implicit conversion from const char* would be quite unfortunate. Luckily, the code compiles as-is. Change-Id: I445f983a27cc25bfaf4285c1a6c5811bd5d201b3 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-08-183-13/+17
|\| | | | | | | | | | | | | Conflicts: src/plugins/platforms/xcb/qxcbintegration.cpp Change-Id: I2d71d06a55f730df19ace0dd3304238584a0497f
| * QJsonValue: use Q_NULLPTR instead of 0 in ctorDyami Caliri2016-08-171-1/+1
| | | | | | | | | | | | | | | | Use Q_NULLPTR in all public headers Task-number: QTBUG-45291 Change-Id: Ib294deb3c210a9a186448cbf9656af7a09fea2c1 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| * Fix documentation of the Windows parts of QSettings::setPath()Friedemann Kleint2016-08-161-10/+14
| | | | | | | | | | | | | | | | | | | | Explain in terms of CSIDL_ values and update the sample locations. Task-number: QTBUG-55065 Change-Id: I15ddf32555d43cffae66d98c6ac12d62a98d5e6d Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
| * QLinkedList: compile with -Wzero-as-null-pointer-constantMarc Mutz2016-08-161-2/+2
| | | | | | | | | | | | | | | | | | The existing header check unfortunately doesn't detect uses of '0' as nullptr in template code. Task-number: QTBUG-45291 Change-Id: Ibe701402d95deca98c5286e2cee5f7118fd7f606 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-08-1325-117/+126
|\| | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.cpp src/corelib/io/qsettings.cpp src/corelib/itemmodels/qstringlistmodel.cpp tests/auto/gui/image/qimagewriter/tst_qimagewriter.cpp Change-Id: I1c6c306ef42c3c0234b19907914b19da706b4a03
| * Fix typo (word repetition) in documentationFrederik Schwarzer2016-08-121-1/+1
| | | | | | | | | | Change-Id: I1c8785e39f28f94846126fc45b875e6425a4ce12 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| * Doc: Change instances of '(Mac) OS X' to 'macOS'Topi Reinio2016-08-1221-111/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As of version 10.12 (Sierra), the name of Apple's desktop operating system will be macOS. Change the occurrences where the Mac platform is discussed to use a macro \macos, which expands to 'macOS'. This helps with adapting to future renaming. Update the instructions on mac-specific Q_OS_* macro usage. Add a \target for the old 'Qt for OS X' topic to keep links working for other documentation modules that try to link with the old name. Change-Id: Id33fb0cd985df702a4ae4efb4c5fd428e77d9b85 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
| * QStringListModel: fix dataChanged's roles parameterMarc Mutz2016-08-121-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | In QStringListModel, the display and the edit roles are synonyms, so when one is changed, the other changes with it. However, in setData() we only emitted a vector with just the role that was passed in by the user. Fix by always passing both roles, regardless of which one was used to set the data. Change-Id: I498e7cb33796fae266901817b01ad85d861d4bb4 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * QCommandLineParser: call qCoreApp post routines before ::exit()David Faure2016-08-121-0/+5
| | | | | | | | | | | | | | This gives a chance for some cleanups at least. Change-Id: I3a628e32c6fc8c7fa00943769210c517005f2a0a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * QDateTimeParser::getAmPmText() use QLocale instead of tr()Edward Welbourne2016-08-111-5/+3
| | | | | | | | | | | | | | | | | | | | I am not convinced toUpper/toLower is a generally sound solution here; however, QLocale doesn't make the upper/lower case distinction this parser does and a bug report shows tr() isn't doing an adequate job. Task-number: QTBUG-47815 Change-Id: Iaf654d1d76d4c38d74fc647e168d50debb924a8f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-08-102-8/+2
|\| | | | | | | Change-Id: I1a63523de158757964b6fb5ea026cf69a6c5ddcf
| * QMap: remove statement about STL support during Qt's own configurationGiuseppe D'Angelo2016-08-071-6/+0
| | | | | | | | | | | | | | | | Since STL support is mandatory in Qt 5, the sentence is a tautology and can be removed. Change-Id: I8676368cc917aa00a85b1113ed2a47694427b2ce Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| * Fix permissions on lock files on UnixSimon Hausmann2016-08-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We should create the files with 0666 and let the umask take care of adjusting to the final permissions in the file system. [ChangeLog][QtCore][QLockFile] Fixed permissions on lock files on Unix to allow for adjustments via umask. Change-Id: Iee6a6ac3920d0ffd4465f54ac6e955f7fe087173 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: David Faure <david.faure@kdab.com>
* | Fix qnumeric_p.h with ICC's supplied math.hThiago Macieira2016-08-101-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | ICC supplies a math.h header that defines things like: #define isnan( __x__ ) __IMFC99MACRO1ARG_ALL( __x__, isnan, __, f, __, , __, l) So use the already-existing workaround for it. Since Qt 5.7 requires C++11, we can remove the check for that. Change-Id: I149e0540c00745fe8119fffd1463cc5caf341337 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-08-057-20/+23
|\| | | | | | | | | | | | | Conflicts: tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp Change-Id: I6f3878b204464313aa2f9d988d3b35121d4d9867
| * QUrl::resolved: keep treating file:name.txt as relative for nowDavid Faure2016-08-041-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8a33077 made QUrl::resolved() follow its documentation ("If relative is not a relative URL, this function will return relative directly.", where relative means scheme is empty). However there is much code out there (e.g. qtdeclarative) which relies on QUrl::fromLocalFile("fileName.txt") to be treated as relative, so for now, we still allow this (in Qt 5.6.x). For Qt 5.8, this commit will be reverted. [ChangeLog][QtCore][QUrl] [EDITORIAL: replaces 8a33077] QUrl::resolved() no longer treats a URL with a scheme as a relative URL if it matches this URL's scheme. For now it still treats "file:name.txt" as relative for compatibility, but be warned that in Qt 5.8 it will no longer consider those to be relative. Both isRelative() and RFC 3986 say that such URLs are not relative, so starting from Qt 5.8, resolved() will return them as is. Change-Id: Iff01e5b470319f6c46526086d765187e2259bdf5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| * QString: fix append(const QStringRef &str)Anton Kudryavtsev2016-08-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use QStringRef::isNull instead of QStringRef::string() for validation. Non-NULL str.string() may yet leave us with a useless str.unicode(), which is the actual problem here; whereas !str.isNull() does really confirm that str.unicode() is sensible. Such test prevents situation like: const QString a; QString b; b.append(a); // b.isNull() == true b.append(QStringRef(&a)); // b.isNull() == false Auto test updated: create QStringRef from QString directly, without any condition. Change-Id: I082cd58ef656d8a53e3c1223aca01feea82fffb9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| * QStringListModel: begin/endResetModel() are no signalsMarc Mutz2016-08-031-2/+2
| | | | | | | | | | | | | | | | | | ... so don't use emit on them. Just confuses readers. Change-Id: I24365fc533b5b35f8942d6014dbc68387aa23e22 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * Fixed Bug in QVariant comparison when containing QStringListsClemens Sielaff2016-08-031-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As it were, QStringLists were not handled explicitly when comparing QVariants. If both QStringLists contained only a single entry, they were treated as QStrings - if both QStringLists were empty, there were equal (correctly so) - but if one of the QStringLists had more than one entry, the compare function fell through to returning always 1. As discussed here: https://stackoverflow.com/a/38492467/3444217 Added rich comparison tests for all non-numerical, non-recursive QVariants that support them (except QModelIndex and QPersistentModelIndex) Task-number: QTBUG-54893 Change-Id: Icc5480d9ba056ee5efe83da566c5829caa1509d7 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
| * QTzTimeZonePrivate: skip redundant check, tidy upEdward Welbourne2016-08-021-11/+10
| | | | | | | | | | | | | | | | | | | | Various transition functions checked on m_tranTimes.size() > 0 inside a block which was conditioned on this already; simplify the code by knowing this is true already. Tidied up an initializer at the same time. Change-Id: I3e933a69e1b71b94bfd4451e4d761844da669d33 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * QSortFilterProxyModel: Don't forward the hint from source's layoutChanged signalOlivier Goffart2016-08-011-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We can't forward a VerticalSortHint or HorizontalSortHint hint, because we might be filtering extra items. The documentation of QAbstractItemModel::LayoutChangeHint states: Note that VerticalSortHint and HorizontalSortHint carry the meaning that items are being moved within the same parent, not moved to a different parent in the model, and not filtered out or in. And some of the views rely on this assumption (QQmlDelegateModel for example) What happens in the test is the following: - 'model' emit the dataChanged signal when its data is changed. - 'proxi1' QSortFilterProxyModelPrivate::_q_sourceDataChanged does not forward the dataChanged signal imediatly, it will instead first re-sort the model and call layoutAboutToBeChanged / layouChanged with the VerticalSortHint - 'proxy2' would forward the layoutAboutToBeChanged with the hint, but in QSortFilterProxyModelPrivate::_q_sourceLayoutChanged, it will redo the mapping which will cause the changed data to be filtered. So proxy2 can't forward the VerticalSortHint as it removed rows in the process. Change-Id: I20b6983e9d18bf7509fe6144c74f37d24e4a18c2 Reviewed-by: Tobias Koenig <tobias.koenig@kdab.com> Reviewed-by: David Faure <david.faure@kdab.com>
| * Docs changed to reflect that valueName is required with value parsingKonstantin Shegunov2016-07-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | When the option expects a value the valueName parameter of the constructor isn't optional; it must be set. This requirement is made explicit in the documentation. Task-number: QTBUG-54855 Change-Id: I190884aff2fa8e96bc5c5e82cdfed85be761d6e3 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: David Faure <david.faure@kdab.com>
| * QUrl: fix resolved() for data URLsDavid Faure2016-07-291-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | They look relative because the path doesn't start with a '/' but they have a scheme so they shouldn't be combined as if it was one absolute and one relative URL. [ChangeLog][QtCore][QUrl] QUrl::resolved() no longer treats a URL with a scheme as a relative URL if it matches this URL's scheme. This special casing was incompatible with RFC 3986 and broke resolving data: URLs, for instance. Change-Id: I3758d3a2141cea7c6d13514243eb8dee5d510dd0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-08-013-3/+9
|\| | | | | | | | | | | | | | | Conflicts: src/widgets/itemviews/qabstractitemview.cpp src/widgets/itemviews/qabstractitemview_p.h Change-Id: I54589b1365103cb1749186af92aab03a49c94b64
| * Fix for race condition in signal activationDenis Kormalev2016-07-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was a race condition between QObject::disconnect() and QMetaObject::activate() which can occur if there are multiple BlockingQueued connections to one signal from different threads and they connect/disconnect their connections often. What can happen in this case is: T1 is in activate() method and T2 is in disconnect() method T1 T2 locks sender mutex selects next connection unlocks sender mutex locks sender mutex sets isSlotObject to false creates QMetaCallEvent derefs connection posts event Two things can happen here: 1. Connection can still be valid, but it will have isSlotObject==false and callFunction will be used instead of slotObj 2. Connection can already be invalid To fix it mutex unlock should be moved after QMetaCallEvent creation. Also there is another case, when we don't disconnect but delete the receiver object. In this case it can already be invalid during postEvent, so we need to move mutex unlock after postEvent. Change-Id: I8103798324140ee11de5b4e10906562ba878ff8b Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| * Fix gcc -Wsuggest-override warning on Q_OBJECTDavid Faure2016-07-281-0/+2
| | | | | | | | | | | | | | | | Same reasoning as commit 3092bd5 (which was for Clang), but for gcc >= 5.1. Change-Id: I123b17670c1a64876b01fd39fb11648fa4e8b1fd Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * QVector: fix crash on reserve(0)David Faure2016-07-281-1/+5
| | | | | | | | | | | | | | | | | | | | It crashed when d was equal to Data::unsharableEmpty(). Task-number: QTBUG-51758 Change-Id: If9f2a7d11892507135f4dc0aeef909f59b7478fc Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
| * Fix grammar error in QFlags documentationMitch Curtis2016-07-261-1/+1
| | | | | | | | | | Change-Id: I1c5d2be402f7e194eaa2e6f646aa5edad1bfd9d9 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | QSocketNotifier: improve warning to show thread names and pointers.David Faure2016-07-281-1/+6
| | | | | | | | | | | | | | | | Much like the QObject::setParent() warning, which helps a bit when debugging. Change-Id: I2abf277a12aa1ce04bd8b5759f46f8bfdcb25383 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Edward Welbourne2016-07-269-189/+205
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qtemporarydir.cpp One side encapsulated a repeated piece of #if-ery in a local define; the other added to the #if-ery. Made its addition to the other's. src/corelib/kernel/qeventdispatcher_unix_p.h One side moved some members into a struct; this collided with a #undef check that neither side now has. Discarded the #undef part. src/gui/opengl/qopengltexturehelper_p.h 5.7 deleted a bunch of methods; not clear why merge got confused. src/tools/moc/moc.cpp One added a name to the copyright header; another changed its URL. Change-Id: I9e9032b819f030d67f1915445acf2793e98713fa
| * Work around ICC bug about shadowing declarations that aren't shadowingThiago Macieira2016-07-242-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | Known ICC bug, still present in version 17 beta. qdatetime.h(126): error #3280: declaration hides member "QDate::jd" (declared at line 136) Obviously a parameter to static function or to a function in a nested class can't shadow an NSDM. Intel issue IDs: 0000698329 / DPD200245740 Change-Id: I149e0540c00745fe8119fffd1463c679a3a9c8c3 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| * Windows: Fix truncation in QFSFileEnginePrivate::nativeWrite()Friedemann Kleint2016-07-211-4/+2
| | | | | | | | | | | | | | | | | | | | The number of bytes to write was converted to a 32bit unsigned value, causing losses. Change the type to qint64 and adapt the code determining the block size. Task-number: QTBUG-54870 Change-Id: I294da5bfe97c7e60f67228399e1244a1aba4c89c Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
| * Make sure JNI_OnLoad is not called more than onceBogDan Vatra2016-07-201-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since Android 5.0 Google introduce a nasty bug[1] which calls JNI_OnLoad more than once. Basically every time when a library is loaded JNI_OnLoad is called if found, but it calls *again* JNI_OnLoad of its .so dependencies! So, JNI_OnLoad of libQt5Core.so gets called may times, this is not a problem as long as it's called from Qt's java delegate class loader. The problem is that the application .so file *must* be called from default class loader to allow the user to find his custom Activity/Service stuff. [1] Workaround https://code.google.com/p/android/issues/detail?id=215069 Change-Id: Ia71209658ef56056b560018597608acf7cb0f9ea Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| * Fix QTemporaryDir to handle Unicode characters on WindowsFriedemann Kleint2016-07-201-22/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For platforms not providing mkdtemp(), QTemporaryDir relied on an implementation of q_mkdtemp() operating on char *, converting back and forth using QFile::encodeName()/decodeName() when passing the name to QFileSystemEngine. This caused failures on Windows (which uses "System"/Latin1 encoding) for names containing characters outside the Latin1 space. Reimplement q_mkdtemp() to operate on QString, which avoids the conversions altogether and also enables the use of larger character spaces for the pattern. Add tests. Task-number: QTBUG-54810 Change-Id: Ie4323ad73b5beb8a1b8ab81425f73d03c626d58a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Workaround clang explicit specializations function templates export bugBogDan Vatra2016-07-201-150/+150
| | | | | | | | | | | | | | Should be reverted when https://github.com/android-ndk/ndk/issues/34 is fixed Change-Id: Ic7fe394412afc25082a9689da59d36cba8b3dade Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| * Work around Apple defining "check"Thiago Macieira2016-07-201-0/+5
| | | | | | | | | | | | | | | | The header says they'll stop doing that in the next release. It's been like that since at least the OS X 10.8 SDK... Change-Id: Ib57b52598e2f452985e9fffd14585d4838dc8b09 Reviewed-by: Richard J. Moore <rich@kde.org>
| * QTzTimeZonePrivate: missing spaces for readability.Edward Welbourne2016-07-181-3/+3
| | | | | | | | | | Change-Id: If19669750fab89fbe0ac24d98b89fa1ea597fbb9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>