summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* QFocusFrame: Don't crash on null d->widget.Morten Johan Sørvig2016-01-181-0/+4
| | | | | | | | | This can happen with a suitably complex use case (See QTBUG-50263) Change-Id: Ie8fa7b5872a902e802fda5795ade3369399ddb54 Task-number: QTBUG-50263 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
* QOrderedMutexLocker: use std::less to prevent undefined behaviorGiuseppe D'Angelo2016-01-181-2/+4
| | | | | | | | operator< between pointers is undefined unless the two pointers point in the same array, which is not what QOrderedMutexLocker does. Change-Id: Ia6594900cfa807a73f20e157ce896b4321a3d746 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Avoid checking the fb status in every bindLaszlo Agocs2016-01-181-2/+0
| | | | | | | | | | | | | | | | On some drivers (e.g. NVIDIA, tested on Windows) the status check is apparently expensive. A simple FBO test app rendering into the FBO on every frame (and thus calling bind()) shows a 19-21% CPU usage. With the patch this gets reduced to 0.8-1%. The check is fairly useless too - whenever creating attachments, the status is checked, so d->valid is up-to-date. Task-number: QTBUG-50496 Change-Id: Ie9f0db34e5c2bc1a1141c734ca0b318419013c0d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* Passing parameters to convertLineOffset by pointer instead of referenceFrederik Gladhorn2016-01-181-12/+12
| | | | | | | | | This is aligned with our coding style and it should have been this way from the start. Change-Id: I23a00eb220dd9f17d9239c811b556885a2c0186a Reviewed-by: Fredrik de Vibe <fredrik.devibe@theqtcompany.com> Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
* QHttpSocketEngine: ensure pending EOF triggers a notificationAlex Trotsenko2016-01-182-1/+51
| | | | | | | | | | | | When the remote peer closed the connection, a read notification needs to always be emitted, otherwise the higher layer does not get the disconnected signal. From the other side, underlying QAbstractSocket object could temporarily disable notifications from the engine at any time. To avoid possible blocking of the socket, take a pending EOF into account when the read notifications are re-enabled. Change-Id: Iac9d4e2f790530be3500baf5a2000f1f63df5cc2 Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
* Haiku: Fix compilation of corelibTobias Koenig2016-01-181-1/+1
| | | | | | Change-Id: I8f962ac7ee85af50a573a451f54931d6c0dd67eb Reviewed-by: Augustin Cavalier <waddlesplash@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Mirclient: update with upstream changesEirik Aavitsland2016-01-1818-374/+956
| | | | | | | Merge in the changes up to revision 306 of the lp:qtubuntu repo. Change-Id: I55dcb9e06e0a3503d6abe4b0894d5ef5a785b6bb Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* Promote backingstore image format to alphaLaszlo Agocs2016-01-172-4/+15
| | | | | | | | | | | | | | Like xcb does since 1bcfc3de7586ddb9f5d1b778b97b26ae3dc9584d. For TranslucentBackground (ARGB32_Premultiplied) there is no change in practice. For RGB32 we will promote to ARGB32_Premultiplied but everything should behave like before, except that we do not rely on undefined behavior anymore when QOpenGL/QuickWidget is in use. For RGB16 this will enable QOpenGL/QuickWidget since there the hole punching mechanism needs an alpha channel always. Change-Id: Id04ea548cee245ec91642f1358a5e501b62ff64c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* Android: fix native libs dir.BogDan Vatra2016-01-161-2/+2
| | | | | | | | | | On Andorid 64 bit O.S.s the libs are not located anymore on dataDir/lib/ but they are located on dataDir/lib/<arch>/. Using nativeLibraryDir instead of dataDir we'll get the right folder. Change-Id: I40ef9513eb5b51f81032bd41f9943ab7b959ad51 Task-number: QTBUG-50394 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* QFileDialog: Check whether sizeHint() is valid before resizing.Friedemann Kleint2016-01-151-1/+3
| | | | | | | | Fixes a regression appearing in 5.5 where QtWidgets-based file dialogs showed up too small on Windows. Change-Id: I5f74ab01d4368d67ab79d3a1b145fb63bdd69ca0 Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
* Lock qfontdatabase mutex in qt_fallbacksForFamilyAllan Sandfeld Jensen2016-01-151-6/+12
| | | | | | | | | | | When called from outside of qfontdatabase, the qfontdatabase mutex will not be locked upon entry to qt_fallbacksForFamily, so we need to add it to the exported version. Change-Id: I16a21708d7cca15730c12de3dbeeaab13ffbd315 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* Handle RGB30 formats in OpenGL backing-store integrationAllan Sandfeld Jensen2016-01-152-19/+83
| | | | | | | | Optimizes composition on platforms that may use 10-bit per color channel formats. Change-Id: Ib303c391d47795c79a4ba55d78dbb1c3c702d90a Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Doc: add missing semi-colonThiago Macieira2016-01-151-1/+1
| | | | | | Change-Id: I408dcb81ba654c929f25ffff14291c57198e7367 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
* Windows/Direct2D QPA plugins: Fix overrides.Friedemann Kleint2016-01-1411-93/+95
| | | | | | | Fix warnings found by clang. Change-Id: Ia8e7a271e9d33011eded1e63e61dbcaeaf692600 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Optimize OpenGL binding of ARGB32PM backing storeAllan Sandfeld Jensen2016-01-144-19/+60
| | | | | | | | | | Detect premultiplied backing store and upload it without conversion and adjust blend to not multiply alpha again. Task-number: QTBUG-50381 Change-Id: I51939c4f82fbb0c48eaca6e2475bf4cf3722bc2d Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* xcb: Don't clear alpha on every repaintBłażej Szczygieł2016-01-141-2/+7
| | | | | | | | | Since 1bcfc3de7586ddb9f5d1b778b97b26ae3dc9584d every image has alpha in XCB even if it is not used by window. This patch prevents clearing the alpha channel on every repaint when window is not transparent. Change-Id: Icfdd39f8636401906ace77ea3c2fa25386979d5f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* winrt: enable hardware buttons for Windows 10Maurice Kalinowski2016-01-143-37/+67
| | | | | | | | | | | | | | | | | | Previously the hardware and camera button handler were guarded inside a Q_OS_WINPHONE which does not apply to Windows 10. Instead use WINAPI_PARTITION_FAMILY like on other places, this covers Windows Phone 8.1 as well as Windows 10. To find windows.phone.ui.input.h at build time the Mobile Extension directory needs to be added to the include paths inside qmake. On runtime we need to check whether we have hardware buttons or not. In case they exist, register the handlers, otherwise skip registration. Skipping also helps to keep WACK succeeding. Task-number: QTBUG-50427 Change-Id: Ibeae15dbde12553cebd2b73b1a40b754c014f426 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* Replace QStringLiteral with QLatin1String in QFileSelectorAndré Klitzing2016-01-131-2/+2
| | | | | Change-Id: I5c109d26bf5252947ae016465db5675e38cd68c9 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* QtConcurrent: Avoid an allocation in ExceptionHolder if there is no ↵Volker Krause2016-01-131-1/+3
| | | | | | | | | exception to store. Qt3D hits this several times per frame. Change-Id: Iaadcfbe79f146bd73b36f01325580dc24a10225c Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* QtWidgets: Don't show window of native widget with WA_OutsideWSRangeBłażej Szczygieł2016-01-131-4/+9
| | | | | | | | | | | | | | | | This patch prevents visibility of native widgets which for some reasons has width or height of 0. Due to async expose event in Qt5 we must force "hide_sys()" during resizing for widgets with WA_OutsideWSRange flag. This avoid problems for non-native and visible widgets which are converted to native and then resized: child->winId(); child->resize(0, 0); Task-number: QTBUG-49445 Change-Id: Ied62a4f253f89447941b2dc03316db8c168f4bb5 Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
* xcb: Don't duplicate expose eventsBłażej Szczygieł2016-01-132-21/+18
| | | | | | | | | Use ExposeCompressor for mapping the window to prevent duplicating expose event when window is mapped. Remove sending expose event from configure notivy event. Change-Id: I6836c06047ffebd65775aa8aca90750afba6efe8 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* unbreak propagation of dependencies on private modulesOswald Buddenhagen2016-01-131-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | most module project files define two logical modules: a public one and the corresponding private one. these are really separate modules as far as qmake is concerned (even though the private one contains just headers), and consequently have separate dependencies - QT and QT_FOR_PRIVATE. as public modules cannot depend on private ones, all private dependencies would have to go to QT_FOR_PRIVATE, and a dependency on the respective public module would have to be added to QT. this would be a bit tedious, so we have a convenience feature which allows putting private dependencies into QT, but automatically "downgrades" them to their public counterpart when creating the public module's .pri file. however, we failed to put verbatim versions of these private dependencies into the private modules, which meant that these dependencies were not pulled in transitively by the private modules' users. note that this entirely unrelated to QT_PRIVATE - this one defines the private (non-propagated) dependencies of the module's implementation, i.e., the libraries (and headers) that are not part of the link interface. there is no QT_PRIVATE_FOR_PRIVATE, because there is obviously no point in assigning the dependencies to a particular logical submodule when neither one inherits them as far as the qt module system is concerned. Change-Id: Ib056b47dde3341ef9a52ffff13efaf8ef8e6817b Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* make module .pri files more flexibleOswald Buddenhagen2016-01-132-46/+62
| | | | | | | | | | | | save the actual library/framework name and framework paths in the .pri file instead of computing them again at use time in qt.prf. qt_no_framework_direct_includes inherently requires a use-time decision, so this ugliness remains. Change-Id: I09b2775e7d8e1d52e3af0d663e1babde10ae4814 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Correct floordiv() to cope with implementation-defined division.Edward Welbourne2016-01-131-2/+13
| | | | | | | | | | | | Irrelevant once we get to C++11 (so we can revert this in 5.7), but division's rounding direction is implementation defined when either operand is negative [0]. The prior code assumed C++11's truncation (a.k.a. round towards zero), but rounding may be downwards instead. [0] http://en.cppreference.com/w/cpp/language/operator_arithmetic#Multiplicative_operators Change-Id: I2b6b27e1cf629def48b25433e81b9ed8230d8795 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* eglfs: Round value returned from pixelDensity()Morten Johan Sørvig2016-01-131-1/+1
| | | | | | | | | Avoid returning fractional scale factors, which we do not support. This matches the pixelDensity() implementation for the Xcb and Windows platform plugins. Change-Id: I79156e802a0a436b9344f12d35d1f4861e20e7fa Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
* [Android]: Java uses some deprecated locale codes so account for theseAndy Shaw2016-01-132-1/+9
| | | | | | | | | | There are three deprecated language codes that Java still uses for the locale so we need to account for these inside QLocale by mapping them to the right language. Task-number: QTBUG-49632 Change-Id: Ib66b3f2763e085f7384228f2490b048bb56be259 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Add Qt6 TODO to remove copy-assign operator and copy-ctorSérgio Martins2016-01-121-1/+1
| | | | | Change-Id: I5d80b272f31ada58d4eb7c19051fe447d6241633 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Fix shortcut modifiers not being propagated after c7e5e1d9eTor Arne Vestbø2016-01-121-1/+3
| | | | | | | | | | | The code-path used by non-OSX platforms were not passing on the native scan-code, virtual key, and modifiers, breaking QKeyMapper::possibleKeys in the process. Task-number: QTBUG-50360 Change-Id: Idc36380a234f0a37d016dbeaca594aeb82c496d2 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com> Reviewed-by: Błażej Szczygieł <spaz16@wp.pl>
* Fix reentrancy regression in QShortcutMap after c7e5e1d9eTor Arne Vestbø2016-01-122-4/+27
| | | | | | | | | | | When closing a popup dialog using a shortcut, when the popup was originally opened using a shortcut, the closing-shortcut would interfere with the state of the first shortcut, and we ended up sending a key event for the original shortcut. Task-number: QTBUG-50360 Change-Id: I62e5ddb9ca43b28519ede629775bc0d7598dccc4 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Fix GCC 6 warning about placement-new operator on too little spaceThiago Macieira2016-01-121-18/+37
| | | | | | | | | | | | | | | | | | GCC 6 is able to detect when you use a placement new of an object in a space that is too small to contain it. qvariant_p.h: In instantiation of ‘void v_construct(QVariant::Private*, const T&) [with T = QRectF]’: qvariant_p.h:142:9: error: placement new constructing an object of type ‘QRectF’ and size ‘32’ in a region of type ‘void*’ and size ‘8’ [-Werror=placement-new] new (&x->data.ptr) T(t); ^~~~~~~~~~~~~~~~~~~~~~~ This happens even for the false branch of a constant expression (the enum). So split the v_construct function in two pairs, one pair for being able to use the internal space and one pair not so. Change-Id: Ibc83b9f7e3bc4962ae35ffff1425ed898f279dea Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
* QVariant: use v_construct instead of duplicating logicThiago Macieira2016-01-121-31/+4
| | | | | | | | | v_construct does what we want, so use it. This is required for the next commit, which solves a GCC 6 warning issue. Change-Id: Ibc83b9f7e3bc4962ae35ffff1425ed5f035f631a Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
* QVariant: make sure to default-initialize in v_constructThiago Macieira2016-01-121-1/+1
| | | | | | | | | | Otherwise it's possible to get garbage for primitive types (trivially constructible) under some conditions. Change-Id: I408dcb81ba654c929f25ffff142885fc62395948 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Append the environment's QT_PLUGIN_PATH to 'make check' targetsRomain Pokrzywka2016-01-121-0/+1
| | | | | | | | | | | | | | | | | | | | | Without this, any test executable requiring a plugin path from the environment's QT_PLUGIN_PATH will fail to run since the path is overwritten when generating the 'make check' command, for example: QT_PLUGIN_PATH=/path/to/qt/plugins \ LD_LIBRARY_PATH=/path/to/qt/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} \ ./test_foo A prepend config option is used for *PATH to preserve the envvar value, so use the same option for QT_PLUGIN_PATH. The command above then becomes: QT_PLUGIN_PATH=/path/to/qt/plugins${QT_PLUGIN_PATH:+:$QT_PLUGIN_PATH} \ LD_LIBRARY_PATH=/path/to/qt/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} \ ./test_foo Change-Id: I69b43327974915eae52f299fc4001effe93a491a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* disable install targets for non-prefix buildsOswald Buddenhagen2016-01-122-0/+18
| | | | | | | | | | | | | one reason to do that is some users' persistence in destroying their non-prefix builds by trying an installation. another reason is the fact that qt.pro's relative_qt_rpath is triggered by the presence of an install rule for the target, which is of course not helpful when the install dir is bogus. Task-number: QTBUG-48406 Change-Id: I75f3940be79fcb5b86e34b975b789692423c92cb Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* rework include path construction in the module systemOswald Buddenhagen2016-01-127-60/+81
| | | | | | | | | | | | | | | the main objective was to fix the bootstrap modules in framework builds. bootstrapped modules which "borrow" headers from "proper" modules can specify this in a clean way now. a side effect of this is that the bootstrap-dbus module now has its own syncqt call. most includepath-related setup from qt_module_pris.prf was moved to qt_module_headers.prf. Change-Id: Ie0d8192cfac1a8cdae0ddd0bc0cd8c3092b1e85b Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Don't pretend we know what DST to use for an offset date.Edward Welbourne2016-01-122-32/+38
| | | | | | | | | | | | | | | | When QDateTime::addDate() and friends sanitize their end-state, they were using the DST status of their start-state (if known) to control it. This lead to misguided results and, in particular, inconsistent results given that a raw-constructed QDateTime comes into being ignorant of its DST, while a .toLocalTime() one knows its DST. Furthermore, the code to do this was triplicated, tricky and poorly explained. So pull it out into a local static function and explain what it's doing, and why, more clearly and only once. Task-number: QTBUG-49008 Change-Id: Ia4bb3c5e9267fff8bb963ea705267998218ed623 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
* Revert "QString: preserve embedded NULs when converting from QByteArray"Marc Mutz2016-01-122-11/+46
| | | | | | | | | | | | | | | | | | | | | | This partially reverts commit e486d69133178ccce7c75cf48201ab28efb20e44. It broke too many users, even though all of them deserved to be broken. The new functionality will be provided by differently-named functions, where possible (problem: equality operators). I did not revert the fix for the off-by-one error in tst_qtextdocumentfragment.cpp. I also didn't revert the change in the inequality relational operators, since for all strings s1, s2 and s2' where s2' is s2 truncated at the first NUL, s1 < s2 ⟺ s1 < s2' (since NUL < c for any c != 0), and, trivially, for ≤, >, ≥, too. This does not hold for = and ≠, of course, since "foo\0bar" ≠ "foo". [ChangeLog][Important Behavior Changes][EDITORIAL] Reverted: All conversions from QByteArray to QString now preserve embedded NULs... Change-Id: If4b47048b39ae5be6ed08e6d91809626a67ea7f5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* 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>