summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| | * | Fix registered style name of sub-familiesAllan Sandfeld Jensen2016-08-031-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An old line redefined the altStyleName variable causing sub-families to be registered with their language-name as their style-name. Change-Id: I8c21ad556f53ffd62f8ef9b326fb9431eea1d857 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| | * | Register sub-families as separate fontsAllan Sandfeld Jensen2016-08-021-3/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If A is B, but not all B is A, we should not register A as an alias for B. It is better to register it as a separate font-family so when explicitly requested only faces from the sub-family are considered. Task-number: QTBUG-53459 Change-Id: Ie9f5db3ba3fa69a0edb5b1965cce25e4885a00fc Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| | * | Doc: Fix broken external link to livecoding vfx videoTopi Reinio2016-08-021-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: Idf4ea5f175b3ad41292e5ba8e4538311b00c6d2f Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | | | winrt: update testsMaurice Kalinowski2016-08-091-3/+7
|/ / / | | | | | | | | | | | | | | | | | | Update due to behavior differences between win32 and winrt. Change-Id: I39532de98c25cd67da49cbb20d42dccc803f1805 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | winrt: Make test functionalMaurice Kalinowski2016-08-091-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | The adoptedThreads test never spawned any thread causing a test error later on. Hence add a winrt version using __beginthreadex which exists for that platform. Change-Id: I04f980218713df20cb41d804d732e0c99b958489 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | QNetworkManagerEngine: port away from Java-style iteratorsMarc Mutz2016-08-091-24/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | They are slower, more annoying, and not safer than their STL counterparts. Port to C++11 range-for, or to "auto it, end" for loops in cases where the key was also accessed. Change-Id: Ib27608ddbe9c0775092a1c6495731ad324727d3e Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | QNetworkManagerEngine: add override keywordsMarc Mutz2016-08-091-11/+11
| | | | | | | | | | | | | | | Change-Id: Ie926119ee58d330e415634f93eb334c6befeede1 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | QNetworkManagerEngine: fix const-correctnessMarc Mutz2016-08-092-8/+8
| | | | | | | | | | | | | | | Change-Id: I058617315e7cf2c6fa49f1ed0d16cb5e2a78dd72 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | QColor: mark as movable (except for QList)Marc Mutz2016-08-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Unbelievable that this has survived for so long... Change-Id: Icff6ecc56de773fa6054d5b96e421299a48bdbde Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | | Make sure QDBusConnection::connect() returns false if already connectedThiago Macieira2016-08-093-10/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QDBusConnection::connect() behaves like QObject::connect with a connection type of Qt::UniqueConnection | Qt::QueuedConnection. So return false if it's already connected. [ChangeLog][QtDBus][QDBusConnection] Fixed a bug that would cause QDBusConnection::connect() to return true if a slot was already connected to the same D-Bus signal. QtDBus does not support multiple connections. Change-Id: I87e17314d8b24ae983b1fffd1453aef5a7c9ad0b Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | | Fix build with clang-cl and the Intel compiler on WindowsThiago Macieira2016-08-091-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Neither clang-cl nor the Intel compiler are able to parse the MSVC code in a constexpr environment. For Clang, we can just use the __builtin functions, which it does make available on Windows. For the Intel compiler, there's no alternative, so we just don't use the _BitScanXxx functions. It will produce slower code, though. qalgorithms.h(587,19) : error: variables defined in a constexpr function must be initialized qalgorithms.h(635,12) : note: non-constexpr function '__popcnt' cannot be used in a constant expression etc. Change-Id: I149e0540c00745fe8119fffd14627ded43807000 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Fix QGtk3Menu::removeMenuItem()J-P Nurmi2016-08-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The if-condition was broken, so items weren't removed from the container as appropriate. Accessing such dangling items caused a crash later on exit. Task-number: QTBUG-54432 Task-number: QTBUG-54462 Change-Id: I98fd9f29a93d72e3e4a8f0fb6bac40ad4728ba6f Reviewed-by: Heikki Halmet <heikki.halmet@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | | make use of silent error() emissionOswald Buddenhagen2016-08-0815-30/+30
| | | | | | | | | | | | | | | | | | | | | | | | get rid of the entirely superfluous stock "Aborting." messages - the event triggering the exit has already reported the problem. Change-Id: Ib9dfb9e4212f60eceb2ea432cdf56c5a8afe9d65 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | print no message at all when no argument is supplied to error()Oswald Buddenhagen2016-08-082-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | this is useful when an adequate message has already been emitted by other means, like various built-ins do. Change-Id: I092771f55969fad8b214204d666327664727c572 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | winrt: add vcruntime.lib to standard libs to linkMaurice Kalinowski2016-08-081-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | This is required for projects compiled with CONFIG-=qt, which is not supported so far, but is required for the new configure system. Change-Id: I85d7de9105ff68c73e8a433a3c757864a619cce8 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | fix enable/disable of -xkb-common-x11Oswald Buddenhagen2016-08-081-1/+2
| | | | | | | | | | | | | | | Change-Id: I2d0b7a8ed2f30422cb1af2cac8dca0e718509021 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Remove unused legal.qdoc fileKai Koehne2016-08-081-35/+0
| | | | | | | | | | | | | | | | | | | | | This is most likely a left over from Qt 4. Change-Id: I5a13d31e815cf2047bcc064e9418c061ee82e58b Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
* | | tests/auto/corelib/codecs: clean upMarc Mutz2016-08-061-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - port Q_FOREACH to C++11 range-for - port uses of inefficient QLists to QVector Fixes errors pointed out by my tree's static checks. Change-Id: Ica50f44d862f635df06cb8f09ce506b9d30fdfc5 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | tst_utf8: use QScopedPointer, not QSharedPointerMarc Mutz2016-08-061-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's no sharing, and the use of QSharedPointer(T*) triggers my tree's static analyzer. Easiest fix is to port to QScopedPointer, which is the correct smart pointer to begin with. Change-Id: I105c1a334c3d6712a475600c8394b0bebc420677 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | tests/auto/corelib/global: clean upMarc Mutz2016-08-062-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - port Q_FOREACH to C++11 range-for (except in the Q_FOREACH tests :) - port uses of inefficient QLists to QVector - include QTest, not QtTest Fixes some errors pointed out by my tree's static checks. Change-Id: Ibb21a280537af74dda5679ec7c75d59477b6de55 Reviewed-by: David Faure <david.faure@kdab.com>
* | | tst_QPainterPath: clean upMarc Mutz2016-08-051-10/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - port uses of dynamic containers with static content to constexpr C arrays Fixes errors pointed out by my tree's static checks. Change-Id: I5e1cafa6e428500afae0d653ce48a7fb465c19ed Reviewed-by: David Faure <david.faure@kdab.com>
* | | QString: fix regression comparing null QString with null const char *Marc Mutz2016-08-052-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 4a40c717f3cf1ae181df49c91261a12d5e33e5a4 optimized QString::compare_helper(QChar*, int, char*, int), but got the case wrong where the rhs is null, but the lhs is empty, not null (which is the case even with a null QString, as QString().constData() != nullptr). The correct result in this case is 0, since in Qt empty and null strings compare equal. Fix by checking the length of lhs, not its pointer. Task-number: QTBUG-55154 Change-Id: I3ec2cd25d9bdca90cf3f5568a875b1e52c779979 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | QJsonValue::toVariant(): Differentiate between null and invalidChristian Kandeler2016-08-052-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Both were mapped to QVariant() before. Instead, use a null pointer QVariant for a null JSON value. [ChangeLog][QtCore][QJsonValue] QJsonValue(Null).toVariant() now returns a QVariant of type QMetaType::Nullptr instead of an invalid QVariant. Task-number: QTBUG-43077 Change-Id: Ife611f418583dbff542210bc8c5cd65201212a6e Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | QtPlatformSupport: Add QAbstractFileIconEngineFriedemann Kleint2016-08-0511-188/+347
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the code from QtWidgets/QFileIconEngine into a new class with virtuals in QtPlatformSupport so that platforms can reuse it. Prototypically use the class in the Windows and macOS QPA plugins. Remove QPlatformTheme::fileIconPixmap() and change the type of the hint QPlatformTheme::IconPixmapSizes from QList<int> to QList<QSize> so that it fits better with the icon code. Change-Id: I580e936f3507218757565ca099272cd575b3a779 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | | QString: de-duplicate code of variants of lastIndexOf()Anton Kudryavtsev2016-08-041-69/+4
| | | | | | | | | | | | | | | | | | | | | | | | Re-use methods of QStringRef. Change-Id: I0f79ee6767653c694ac6a342263c046a5f5f3baa Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | | Add XDG file icon support for UNIX themesFriedemann Kleint2016-08-042-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add helper class XdgFileIconHelper using the icon theme engine to implement QPlatformTheme::fileIconPixmap(). [ChangeLog][QtPlatformSupport] KDE/Gnome themes now implement QPlatformTheme::fileIconPixmap(), showing file icons. Change-Id: I32a948ece08305053ebadb3ace6cbc6fbd339946 Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | | Add QPlatformTheme::fileIcon()Friedemann Kleint2016-08-043-9/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a way to return an icon instead of a pixmap of a specific size for a file for usage by QFileIconProvider, etc. Fall back to fileIconPixmap() if fileIcon() returns a null icon. This allows for supporting XDG theme icons and Qt Quick applications accessing file icons. Change-Id: I9ffbd6602e1a6a490c0046d950636447c5127474 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | | QPolygon: prepare boundingRect() to be extracted as an algorithmMarc Mutz2016-08-041-7/+8
| | | | | | | | | | | | | | | | | | | | | That basically involves reformatting the loop to use iterators. Change-Id: Ie8e80e7f32b386eae50ab4520c62219e18d2a1bd Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | | QPolygon: add a smoke-test for boundingRect()Marc Mutz2016-08-041-0/+77
| | | | | | | | | | | | | | | | | | | | | Nothing fancy, just a safety-net for a following refactoring. Change-Id: I5be87c86cd61e24bf96881d2485dd7560ea6184a Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | | Revert "Implement protocol upgrade for HTTP/2 enabled requests"Timur Pocheptsov2016-08-048-149/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 12d71f4ea20415ff2274e1e90f9e4d5a8b935d7f. This change is breaking a build + incomplete as my test revealed. Will have to re-try later. Change-Id: I7ea089093a832aa5822caaaac56e62f5fda4df17 Reviewed-by: Liang Qi <liang.qi@qt.io>
* | | Optimize QString::compare_helper(QChar*, int, char*, int, cs)Marc Mutz2016-08-041-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... by using the recently-added QUtf8::convertToUnicode() and a QVarLengthArray instead of QString::fromUtf8(). Like elsewhere in QString, use a QVarLengthArray<ushort> instead of the more natural <QChar> to avoid instantiating another QVLA. Assume that length2 is usually set to a non-negative value. Not because that's necessarily the frequent case, but because a negative length2 leads to an expensive strlen, that usually dwarfs the additional branch cost. Check for data2 == nullptr early to avoid having to check it later twice. Change-Id: I04bda44ed857451efdf04c3283b5726480dd8c0d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Add missing include in qeventloop_p.hJędrzej Nowacki2016-08-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | The code depends on qApp to be visible in the scope Change-Id: Ibeb54c90f5a65f441e9eb90b848952b955c71f0d Reviewed-by: Jesus Fernandez <jesus.fernandez@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Cleanup QDBusVirtualObjectPrivateJędrzej Nowacki2016-08-041-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | The class doesn't exist and should not be forward declared nor declared as private of QDBusVirtualObject Change-Id: Icf3ca2b2be5ae0a8111785af485a0b6601002a25 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Fix grayscale painting regression in 64-bit raster engineAllan Sandfeld Jensen2016-08-033-3/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A new define for better vectorized compositioning had a mistake that caused some sources to be converted to grayscale when composited. Added two 10 bit per channel formats to the lancelot test to catch regressions in the future. Change-Id: I1c468e6b93d68185e517fc0d44c6c927f9f7135f Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
* | | Remove hiding of .main div in offline pagesKai Koehne2016-08-031-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The section got introduced in commit 93d35c07d06fcc, but was apparently ignored by browsers due to a non-blank space (0xc2 0xa0). In commit b3959b515fce the space was replaced, causing browsers to hide the content. Task-number: QTBUG-55115 Change-Id: I491f8721da5f2a964e450d4a0bee785a937ac7e4 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | Implement protocol upgrade for HTTP/2 enabled requestsTimur Pocheptsov2016-08-038-28/+149
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without ALPN/NPN (== without OpenSSL) we can negotiate HTTP/2 using the protocol upgrade procedure as described by RFC7540. Since there is no TLS handshake, after our http channel was connected we first send an 'augmented' HTTP/1.1 request - its header contains additional 'HTTP2-Settings' and 'Upgrade' (to 'h2c') fields. If we receive reponse 101 (switch protocol) we re-create a protocol handler and switch to HTTP/2. Task-number: QTBUG-50955 Change-Id: I36e9985e06ba76edaf7fdb22bb43770f8d593c61 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | | Add std::nullptr_t as builtin type in QMetaTypeJędrzej Nowacki2016-08-033-1/+10
| | | | | | | | | | | | | | | | | | Change-Id: If6c484bc89a2610c6a9e3e7bd54ef85ef40a783f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
* | | Add QtAndroidPrivate::context()Alex Blasche2016-08-032-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | This simplifies the retrieval of the correct Context object. Task-number: QTBUG-55102 Change-Id: I303bc5393a7900ceb4bde36e711938f3f49075c1 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | | Save QFont's style name if presentKonstantin Shegunov2016-08-032-2/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Font style names are quite irregular and the simplistic matching implemented in QFontDatabase::styleString(const QFont &) is unable to properly resolve the style name when font is recreated from a string. This causes the fonts before and after serialization to be considered different, even though they are not. The from/toString methods were made to write and respect the exact font style. [ChangeLog][QtGui][Important Behavior Changes] QFont::toString() and QFont::key() were modified to save the font's style name if one is set, invalidating any stored font identifiers. QFont::fromString() was also adjusted to accommodate the change. Task-number: QTBUG-54936 Change-Id: Ibc7c54119acdd8f0950d6049cc89f859bf981504 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | | Polish SCTP examplesAlex Trotsenko2016-08-0322-75/+329
| | | | | | | | | | | | | | | | | | | | | | | | | | | - Introduce a common header file for client and server; - Update license headers; - Fix minor issues. Change-Id: I3fc42fd5ba32141c702fc6679a27bf0b6a16fd26 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | | Fix some syntax issues in SCTP implementationAlex Trotsenko2016-08-035-20/+26
| | | | | | | | | | | | | | | | | | Change-Id: I718fd060e313d544a5470fa20183db04ef89b1ca Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | | QObject::connect: allow to disable narrowing of the connection argumentsGiuseppe D'Angelo2016-08-023-0/+569
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | One of the good features of the new connection style is that implicit conversion is performed for the connection arguments. However, this is also a bad feature when it comes to the old C remnants in the C++ language: for instance, doubles implicitly convert to ints, possibly losing precision (and GCC/Clang do not even warn about those under -Wall, only MSVC does) or even triggering undefined behavior. For this reason, when using braced initialization, C++11 disables narrowing conversions or floating/integral conversions. Use this feature when checking the arguments of a PMF-style signal/slot connection. Technically this makes the program ill-formed, however GCC still accepts it (but at least warns under -Wall). Hence, add a way to disable these implicit conversions. This is a opt-in and guarded by a macro, as it's a source incompatible change. [ChangeLog][QtCore][QObject] The QT_NO_NARROWING_CONVERSIONS_IN_CONNECT macro has been added. When using the new connection syntax (PMF-based) this macro makes it illegal to narrow the arguments carried by the signal, and/or to perform floating point to integral implicit conversions on them. When the macro is defined, depending on your compiler a QObject::connect() statement triggering such conversions will now fail to compile. Change-Id: Ie17eb3e66ce0cd780138e60d8bb7da815a4ada83 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Cleanup canonical font name lookupAllan Sandfeld Jensen2016-08-021-77/+136
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes the lookup of the canonical "english" font name, so that also corresponding style-name and preferred names can be found. This patch does not use that extra information, and should not change any behavior. Change-Id: I40805f81e6b35dcc98f9459c5cf96f13a8d789f2 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | | Fix grammar issues in SCTP documentationAlex Trotsenko2016-08-024-15/+15
| | | | | | | | | | | | | | | | | | Change-Id: I11bfb20dc3d4db98dccfd3bc680fb1ffbd522508 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | | Merge "Merge remote-tracking branch 'origin/5.7' into dev" into refs/staging/devLiang Qi2016-08-0296-789/+2147
|\ \ \
| * | | Merge remote-tracking branch 'origin/5.7' into devEdward Welbourne2016-08-0196-789/+2147
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure 5.7 now supports clang on android; but dev re-worked configure src/gui/kernel/qevent.h One side renamed a parameter of a constructor; the other added an alternate constructor on the next line. Applied the rename to both for consistency. tests/auto/tools/moc/tst_moc.cpp Each side added a new test at the end. .qmake.conf Ignored 5.7's change to MODULE_VERSION. configure.json No conflict noticed by git; but changes in 5.7 were needed for the re-worked configure to accommodate 5.7's stricter handling of C++11. Change-Id: I9cda53836a32d7bf83828212c7ea00b1de3e09d2
| | * | mimetypebrowser example: Add Generic Icon NameFriedemann Kleint2016-08-011-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Show QMimeType::genericIconName() to description pane. Change-Id: I698d07084b6396469686057ea53e2f497fdbe287 Reviewed-by: David Faure <david.faure@kdab.com>
| | * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-08-0130-184/+572
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/widgets/itemviews/qabstractitemview.cpp src/widgets/itemviews/qabstractitemview_p.h Change-Id: I54589b1365103cb1749186af92aab03a49c94b64
| | | * Fix for race condition in signal activationDenis Kormalev2016-07-292-1/+176
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | | * examples: use QSignalBlockerMarc Mutz2016-07-282-29/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Examples should show idiomatic Qt, and QSignalBlocker is idiomatic since it's inception in Qt 5.3. Just updating the examples was forgotten. This commit makes good for that. Fix coding-style issues as a drive-by. Change-Id: If138e87ea2ab7a444599734113f7cc6df11fb42d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>