summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fixed qtbase tests to pass with updated license headerJani Heikkinen2016-01-212-16/+16
| | | | | Change-Id: I996a1c3713d0799504bd98ffcdfdc7841c88182a Reviewed-by: Antti Kokko <antti.kokko@theqtcompany.com>
* Document qAsConst(), turning it into public API.Marc Mutz2016-01-211-0/+65
| | | | | | | | | | [ChangeLog][QtCore] Added qAsConst(). Task-number: QTBUG-50548 Change-Id: Id25592c821808596c6a5768a42b76c1db569f490 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com> Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
* Move QIpPacketHeader to the header where QNetworkDatagramPrivate will beThiago Macieira2016-01-213-27/+72
| | | | | Change-Id: I14839ba5678944c2864bffff1417a1d4b790f9c3 Reviewed-by: Richard J. Moore <rich@kde.org>
* QWidget: fix expensive iteration over QMap::keys()Marc Mutz2016-01-201-2/+7
| | | | | | | | | | | | | | | | | | | ... with iteration over the hash itself. Can't keep the call to ungrabGesture() in the loop, because it removes the current element from the very hash being iterated over. Instead, inline the call and optimize based on the context: - don't remove element by element, but clear the hash completely at the end. - drag the check for QGestureManager::instance() out of the loop. - drop the check for presence of the key in the hash, since it would be always true. Change-Id: I6bf7cc8a59a51ccc8046a5b6d1cab5784e79fd55 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* Add manual test for shortcut using implicit shiftRobert Loehning2016-01-201-6/+11
| | | | | | | | | In German layout, "Ctrl+/" is "Ctrl+Shift+7". Change-Id: I50f3d77c4c76e7eb7cffe31283a3b73074324fea Task-number: QTBUG-47122 Task-number: QTBUG-50360 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* Android: Fix some QGraphicsScene testsEskil Abrahamsen Blomfeldt2016-01-203-4/+48
| | | | | | | | | | | | | | | | | 1. Use qrc for test data so that it can be found on all platforms. 2. Skip a test which does not work on platforms where show() implies showMaximized(), as it depends on the window size being 150x150. 3. Skip test for hover event which depends on having a valid mouse cursor position. 4. Skip a couple of tests that fail on some Android devices. It's not worth spending a lot of time investigating this at the moment. Change-Id: Icb2b7f1d82981546a2154a76535b95606d7f40da Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* QSslContext: provide sharedFromConfiguration()Marc Mutz2016-01-203-2/+11
| | | | | | | | | | | | | | | It's a version of fromConfiguration() that returns the QSslContext instance in a shared instead of a naked pointer. Use it in QSslSocketBackend. The idea here, of course, is to use QSharedPointer<T>::create(), which co-locates the refcount with the payload in a single memory allocation, instead of QSharedPointer<T>(new T), which causes two allocations. Change-Id: Ia5396fb3b291f2912fca5cd97e0aa1e45e065e55 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Force inclusion of <atomic> on QNX systems.Thiago Macieira2016-01-191-1/+3
| | | | | | | | | | It's documented to exist in QNX 6.6, which is the minimum required version for Qt 5.7 anyway. http://www.qnx.com/developers/docs/660/index.jsp?topic=/com.qnx.doc.dinkum/topic/cpp11/index.html Change-Id: I7e6338336dd6468ead24ffff141133a2d524f148 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove all the atomic code besides MSVC and std::atomicThiago Macieira2016-01-1949-3685/+5
| | | | | | | | | | | | | | [ChangeLog][Important Behavior Changes] Starting with Qt 5.7, Qt requires a C++11 compiler with support for C++11 atomics. This affects user code too: Qt headers no longer compile with a C++98 compiler. The minimum compiler versions for this release are: * Clang 3.4 (found in XCode 5.1) * GCC 4.7 * Microsoft Visual Studio 2012 Change-Id: Ib056b47dde3341ef9a52ffff13ef1f496ea9363f Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
* QGraphicsAnchorLayout: remove a misguided use of QLinkedListMarc Mutz2016-01-191-24/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QSimplexConstraints are held in QList everywhere, yet one single function, getGraphParts(), used a temporary QLinkedList. It did so because the function repeatedly walks the list, erasing elements from it until no more elements have been removed. Thus, in O-terms, QLinkedList is the correct choice here. Sadly, O-notation completely ignores the per-element cost, and this is where QLinkedList suffers. By the time a QList has shifted all of its elements left once, the QLinkedList probably has just finished allocating its first node. So, use a QList instead. That, however, turns the it = erase(it) loop quadratic, so re-formulate the processing part as a lambda and use std::remove_if. Don't even erase until we know how many items to erase. As a benefit, we save the final conversion of the remaining items back to a QList, and we can use QList::op+ to build the initial list, reducing the number of allocations performed by that container to one. Also saves ~770b in text size on optimized GCC 5.3 Linux AMD64 builds. Change-Id: Iecf9e7961dd2b6b20039b9b0d472e32b3fae6994 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QSslContext: separate creation and initializationMarc Mutz2016-01-192-10/+17
| | | | | | | | This is in preparation of providing a named constructor that returns a shared instead of a naked pointer. Change-Id: I23aed950facac9d0b053321e75b61df7df8a6605 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* CMake: Pass -std=gnu++0x to generated tests in CI.Stephen Kelly2016-01-191-0/+23
| | | | | | | | | | | Add -stdlib=libc++ when using AppleClang. If CMP0025 is OLD, the compiler id is 'Clang' for backward compatibility. So, if on a CI machine running 'Clang', and on APPLE, use the -stdlib=libc++ flag too. Change-Id: I4910000ce08bae1201f7fa0e0eb46622bedd5c4f Reviewed-by: Kevin Funk <kfunk@kde.org> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Replace ffsll with new qCountTrailingZeroBitsTobias Koenig2016-01-191-32/+2
| | | | | Change-Id: I44898909181e25247bf96cf4462971ac23c2a3ac Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QtWidgets: replace uses of inefficient QList<QPair>s with QVectorsMarc Mutz2016-01-185-12/+14
| | | | | | | | | | | | These QPairs are larger than a void*, so holding them in QLists is needlessly inefficient. Worse, the code could come to depend on the fragile property of (inefficient) QLists that references to elements therein never are invalidated. Fix by holding them in QVector instead. Change-Id: I3c205f5326cfd96482563078bdca1747d718457f Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* eglfs: use QGenericUnixTheme if requestedShawn Rutledge2016-01-182-0/+7
| | | | | | | | | | | | | | | | | | | | | | We need to have reasonable paths for loading icons and such things, just as in any other Unix GUI environment. However there is some concern that it would be too much of a behavior change if there was a theme by default, so for now it's required to set the env var: QT_QPA_PLATFORMTHEME=generic That works because QGuiApplicationPrivate::createPlatformIntegration() reads the env variable and passes platformThemeName to init_platform(). Step 3 in init_platform() does not find a theme plugin by that name (because QGenericUnixTheme is statically linked via libQt5PlatformSupport.a). Then in step 4 it iterates the given platformThemeName plus any which were returned from QPlatformIntegration::themeNames() (which in our case will be an empty list) and calls createPlatformTheme() with each of those, until something is returned. So, QEglFSIntegration::createPlatformTheme() will be called with the value of the QT_QPA_PLATFORMTHEME env var, and QGenericUnixTheme::createUnixTheme() will create the generic, KDE or Gnome theme depending on that value. Change-Id: Id16b881819ba872830b019ab147b32fbc2156520 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* QFileSystemModel: replace inefficient QList<Fetching> with QVectorMarc Mutz2016-01-172-6/+3
| | | | | | | | | | | | | | | | | | The type Fetching is larger than a void*, so holding it in QList is needlessly inefficient. Worse, the code could come to depend on the fragile property of (inefficient) QLists that references to elements therein never are invalidated. Fix by holding it in QVector instead. Also optimize the append site by liberal use of std::move(). This code would greatly benefit from emplace_back(), but we can neither assume it's present in std::vector nor do we require the necessary C++11 features that would allow us to implement it in QVector, yet (uniform init and, less so, variadic templates). Change-Id: I50da0ffd557adff57477245d0e8c1fc1fec1ebc1 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* QGraphicsView: Graph: don't allocate QHashes on the heapMarc Mutz2016-01-171-26/+23
| | | | | | | | | | | | | ... just so you can observe their absence with QHash::value() returning nullptr. Instead, use find() + comparison to end() to detect presence or absence. Simplifies quite a bit of code. Change-Id: Ifd7921bfc8102677ea345ae37d38da31b8105426 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* QGraphicsView: Graph: remove faulty const_iterator::op=Marc Mutz2016-01-171-1/+0
| | | | | | | | | It failed to copy 'g'. Fix by letting the compiler generate one. Change-Id: Ie19fdacb8f27aef821be58c0b727c802d71bfe64 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* QGraphicsView: Graph: don't compare pointers with op<Marc Mutz2016-01-171-2/+3
| | | | | | | | It's undefined behavior. Use std::less, which has defined behavior. Change-Id: I990d197590cf535c1cb5c055d0b6798e602446dc Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* QHttpThreadDelegate: use default ctor instead of QSharedPointer(0)Marc Mutz2016-01-171-3/+3
| | | | | | | | | Code like this makes it impossible to provide a templated QSharedPointer<T>(X*) ctor, so proactively rewrite to use the proper default ctor, which has the same effect. Change-Id: I2572e92b12804f873fac4927e93db83f796729f5 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* qdbuscpp2xml: Fixed wrong filename being reported in messagesSwen Kooij2016-01-161-1/+1
| | | | | | | | | | | | This caused the filename in messages to be one of the other arguments that were specified instead of the actual filename. Caused by the fact that mutations are possibly made to `args` in `parseCmdLine` and thus the amount of items in `args` does not always match the amount of items in `argv`. Change-Id: Ief3716dde39dfdc949a5192e7f83d93cf90130f0 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* QtCore: replace uses of inefficient QList<QPair>s with QVectors [itemmodels]Marc Mutz2016-01-152-2/+2
| | | | | | | | | | | | These QPairs are larger than a void*, so holding them in QLists is needlessly inefficient. Worse, the code could come to depend on the fragile property of (inefficient) QLists that references to elements therein never are invalidated. Fix by holding them in QVector instead. Change-Id: Ie8d8eff3448ada7aef5dfba7fc701a59821f5b54 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* QAbstractSocket: remove redundant handling of recursive callsAlex Trotsenko2016-01-152-27/+2
| | | | | | | | | | | | | | | | Recursion is alredy prevented by the emittedReadyRead member. Disabling the read notifications also occurs when: - a new chunk of data has arrived on an unbuffered socket; - the buffer size limit has been reached on a buffered socket; - pauseSocketNotifiers() has been called Subsequent calls to read() or resumeSocketNotifiers() should re-enable the notifications independently from possible nesting. Change-Id: I4587265b8d3ed137516e08fbe92dce2f5eab508c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Markus Goetz (Woboq GmbH) <markus@woboq.com>
* Helper function needed to run Runnables on Android UI thread easily.BogDan Vatra2016-01-153-25/+56
| | | | | | | | Add a function to allow the users to easily run asynchronously Runnables for any thread directly on Andoroid UI thread. Change-Id: I631bf8a2c602e038039fec621ec01272af20a400 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* Updated license headersJani Heikkinen2016-01-153199-44442/+63636
| | | | | | | | | | | From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new LGPL header instead of LGPL21 one (in those files which will be under LGPL v3) Change-Id: I046ec3e47b1876cd7b4b0353a576b352e3a946d9 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Add new license header templates and license fileswip/liteJani Heikkinen2016-01-1413-20/+2108
| | | | | | | | | | | | | | From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Added new header templates and corresponding license files. Unnecessary ones will be removed later when license header change is done to all Qt modules Change-Id: I8c482d81e40c03f0c6395e437f55527617aa6b58 Reviewed-by: Tuukka Turunen <tuukka.turunen@theqtcompany.com> Reviewed-by: Iikka Eklund <iikka.eklund@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* QHttpNetworkRequestPrivate: perform init by init-list in ctorAnton Kudryavtsev2016-01-141-15/+15
| | | | | Change-Id: I2a8ced0eff726911daa71eb11e135f69612a9090 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* QXcbXSettings: don't construct a QByteArray just to append itMarc Mutz2016-01-141-2/+3
| | | | | | | | | | | | ... use QByteArray::append(char*,int) instead. Also cache the return value of the out-of-line function xcb_get_property_value_length(). Saves ~120b in text size, and a heap allocation. Change-Id: I4d1deafdcd3345f2b7dfbf8c45702cfee733a269 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* QXcbXSettings: replace a QLinkedList with a std::vectorMarc Mutz2016-01-141-19/+16
| | | | | | | | | | | | | | | Required to change an erase() loop into std::remove_if to avoid running into quadratic behavior. While at it, made QXcbXSettingsCallback a proper struct, used aggregate initialization, and ported another loop to C++11 range-for. Saves ~0.5KiB in text size on optimized GCC 5.3 Linux AMD64 builds, and a lot of heap allocations. Change-Id: I228bb853519ed2590375dc511e527f47bb8daa34 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* QPathSegments: set pathId to zero in ctorAnton Kudryavtsev2016-01-141-1/+2
| | | | | Change-Id: Iaa4349914fbeca9c64863addb9892412e1bad65b Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* QDataStream: handle incomplete reads from QIODeviceAlex Trotsenko2016-01-1313-129/+435
| | | | | | | | | | | | | | This adds a way to resume reading from a stream after a ReadPastEnd error. This is done by introducing a stream read transaction mechanism that keeps read data in an internal buffer and rolls it back on failure. [ChangeLog][QtCore] Added QDataStream startTransaction(), commitTransaction(), rollbackTransaction(), abortTransaction() functions to support read transactions. Task-number: QTBUG-44418 Change-Id: Ibf946e1939a5573c4182fea7e26608947218c2d9 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* write all properties to qt.conf when -external-hostbindir is usedOswald Buddenhagen2016-01-131-0/+17
| | | | | | | | | | | the presence of a [Paths] section causes QLibraryInfo to derive all property values according to the Qt default directory layout, disregarding the compiled-in paths from configure. consequently, we need to write them all to qt.conf as well. Change-Id: I3558e9aef1fce956812ea91e216f53bf7934c285 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
* write [Paths] to qt.conf only if -external-hostbindir is usedOswald Buddenhagen2016-01-131-2/+6
| | | | | | | | | there is no point in overriding the built-in defaults with the same values. Change-Id: I24f66b86f751f7044625b5256f3d979ece782cf7 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
* ARMv8: Update qHash for strings to use the CRC32 instructionErik Verbruggen2016-01-131-0/+49
| | | | | | | | | | | | Same as the SSE4.2 implementation: use the (optional) ARMv8 crc32[bhwd] instruction to calculate hashes for strings. For Aarch64, support for the instruction is dynamically detected. For a 32bit ARM binary, dynamic detection is only done when the compiler is explicitly told to target ARMv8. When telling the compiler to target an other/older version, the crc32 code is not compiled. Change-Id: I51ebc1a4545dede4988247e75043f29a64c2a6c5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* ARMv8: add crc32 feature detection.Erik Verbruggen2016-01-133-7/+66
| | | | | Change-Id: I3cfac90dfa137d0bf3d124d87262eb2dbb56459c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge "Merge remote-tracking branch 'origin/5.6' into dev" into refs/staging/devSimon Hausmann2016-01-1356-266/+341
|\
| * Merge remote-tracking branch 'origin/5.6' into devSimon Hausmann2016-01-1256-266/+341
| |\ | | | | | | | | | Change-Id: I5839bded07e23af65ced9491c4f50242f964dd31
| | * iOS: fix crash on iOS 8 due to unsupported selectorRichard Moe Gustavsen2016-01-112-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It turns out that f558bde was not enough to stop a crash when trying to access forceTouchCapability of traitCollection. The reason is that traitCollection is available on UIScreen starting from iOS 8, while forceTouchCapability is available on UITraitCollection starting from iOS 9. So only checking the former will cause a crash when running on iOS 8. Change-Id: I44f9fb785349694004fbf2f48fe3b85bb01d9a5a Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
| | * Doc: mention that Qt::AA_X11InitThreads isn't used anymoreDavid Faure2016-01-112-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | Whether or not to call XInitThreads() doesn't apply since Qt-5.0's switch to XCB. Change-Id: I5f1e5e664a251c98af6357c87fc9a6bb03a46ce3 Reviewed-by: Martin Smith <martin.smith@theqtcompany.com> Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
| | * Fix documentation for ReuseAddressHint on Unix.David Faure2016-01-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code says (for Q_OS_UNIX) if ((mode & QAbstractSocket::ShareAddress) || (mode & QAbstractSocket::ReuseAddressHint)) socketEngine->setOption(QAbstractSocketEngine::AddressReusable, 1); so clearly ReuseAddressHint does the same as ShareAddress, which is: setting SO_REUSEADDR. Change-Id: Ic2ab4d139c3f58c3c63723fc609a9d4f71bac97a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * winrt: Flush the system event queue when adding/removing windowsMaurice Kalinowski2016-01-111-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This has only been identified by WACK for Windows 10. QWinRTWindow::setVisible adds a Window to the screen and immediately tries to set the native visibility. This only works when the system events are handled immediately. While this is the case most of the time, certification tests revealed that this is not always the case. We have to flush before setting the element visibility. Change-Id: Ifce4c045c185c57bc386a4e832074fb84f5d0053 Reviewed-by: Andrew Knight <andrew.knight@intopalo.com> Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
| | * winrt: Fix API usage certificationMaurice Kalinowski2016-01-111-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to MSDN Tls* is inline replaced by Fls* on Windows (Phone) 8.1 and beyond. However, this does not seem to be the case for Windows 10. An application links against Tls* and the certification step fails due to using non-allowed APIs. Hence we do the inline replacement manually. QThreadStorage and QThread tests continue to work, so it seems to be an oversight by Microsoft. Task-number: QTBUG-50292 Change-Id: Ice1b6e54fcee238c94af5c6fb1753d903db7476d Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
| | * winphone: Properly close the applicationMaurice Kalinowski2016-01-113-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When shutting down an application on Windows Phone the SceneGraph tries to create an offscreen surface to render into. If there is no offscreen surface available, it creates a new native window and tries to hide it. As the native event loop is about to shut down, creation fails and exceptions are raised. Instead we create a vanilla QPlatformOffscreenSurface. The SceneGraph recognizes it as such and can handle a proper cleanup on its own. Furthermore removing the suspend/resume handler in the destructor of QWinRTIntegration fails for Windows Phone as the application object itself does not accept this anymore. Hence skip this part for this platform. Task-number: QTBUG-49310 Change-Id: I02acdd5a635ef0b9d6ef8199376537b8f0f1a8fb Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
| | * WinRT: Invoke correct remove handlerMaurice Kalinowski2016-01-111-1/+1
| | | | | | | | | | | | | | | | | | | | | Probably a typo when moving to Xaml. Change-Id: I0739f4561912e1e16df7b124d6d187cd0f60f657 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
| | * WinRT: Fix application shutdownMaurice Kalinowski2016-01-111-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not create a dummy eglDisplay when the global static is constructed. This causes ANGLE to wrongly set some internals, which breaks usage of EGL_PLATFORM_ANGLE_ENABLE_AUTOMATIC_TRIM_ANGLE as the attribute map might be empty after calling eglGetPlatformDisplayEXT. Furthermore initialize() assigns a new display to it without terminating the old one. This way, the internal suspend handler in ANGLE (Trim11.cpp) will be added to the application. The suspend handler is not invoked when an application suspends though. Reason being that the handler needs to be added from inside the Xaml thread. As we cannot control this inside ANGLE, we will call eglInitialize inside the Xaml thread and hence get the suspend event properly. Task-number: QTBUG-50337 Task-number: QTBUG-50292 Change-Id: I3867377254c37084bf24f18e78af467f6237db57 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
| | * CMake: Ensure that -fPIC is passed in tests.Kevin Funk2016-01-112-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | CMake newer than 2.8.12 automatically adds the appropriate flag, but CI still runs 2.8.11. Change-Id: Ie61375f2feb54a92c9d8f0ed6ad5227a67343bc5 Reviewed-by: Stephen Kelly <ske@ableton.com>
| | * CMake: Fix qt5_use_modules macro for CMake 2.8.11Kevin Funk2016-01-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Note the excessive escaping around "GNU". Otherwise this leaks the -fPIE flag to the target. Change-Id: I340df5d5bce00ebec4e1ff3a557ade67022ba23b Reviewed-by: Stephen Kelly <ske@ableton.com>
| | * Diaglib: Fix and extend dumping of native windows (Windows).Friedemann Kleint2016-01-111-8/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When recursing over the windows, the code did not take into account that EnumChildWindow enumerates grand children as well. Exclude those by checking for the direct parent in the recursion so that the hierarchy is printed correctly. Add more information about class and module and rearrange the output a bit so that the window title is more prominent. Task-number: QTBUG-50206 Change-Id: Iffb12c44eda9d09da5eb14a8405aee52ed3aa849 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
| | * Make DST-transition test more general.Edward Welbourne2016-01-111-17/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Widen its interval (to work in more TZs) and test spring as well as autumn. Anywhere that does have a DST transition probably has it between August and December; and there's no benefit to using a narrow window. There's also no sense skipping the test if we don't know there's a DST transition: the test should still work, it just won't be testing anything (about DST transitions). Combine date and time checks into date-time checks, so that, when one of them fails, QCOMPARE lets us know how the other changed, too. Task-number: QTBUG-49008 Change-Id: I145b939ffef0dd0b54fd0e3cdf72a159c57ec00b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * QVariant: make sure two floating points compare equal if they are equalThiago Macieira2016-01-112-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not just fuzzily equal. The fuzzy comparison fails for infinities, since the expression p1 - p2 where p1 = p2 = infinity is NaN. And NaN comparisons are always false. As a nice side-effect, we don't do the more expensive computation of a multiplication if the two numbers really are equal. Task-number: QTBUG-50036 Change-Id: I11f559ef75544c50b3f8ffff1420cec7c7273295 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>