summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2017-10-0410-24/+371
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qconfig-bootstrapped.h src/corelib/global/qglobal.h src/corelib/tools/qcryptographichash.cpp src/corelib/tools/qcryptographichash.h src/corelib/tools/qmessageauthenticationcode.cpp src/plugins/platforms/windows/qwindowswindow.h tests/auto/gui/kernel/qwindow/BLACKLIST tests/auto/widgets/itemviews/qitemdelegate/BLACKLIST Change-Id: Ib68112de985a3d714c2071f47c10e907e4f0229a
| | * tst_QSsl(longlongnamefollows) - fix a flakey auto-testTimur Pocheptsov2017-10-031-21/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The original test was using QSslSocket::waitForEncrypted function, which is apparently a bad idea on Windows: connecting to 'www.qt.io' we have to verify certs and there is no guarantee a given Windows VM has the required CA certificate ready in its cert store. In such cases we start a background thread (aka CA fetcher's thread) and it calls a (potentially blocking for a significant amount of time) function (CryptoAPI). When finished, this thread reports the results via queued connection, which does not work if we are sitting in a tiny-loop inside waitForEncrypted. Re-factor the test to use signals/slots and a normally running event loop. Also, the last test makes a wrong assumption about Windows - fixed. Task-number: QTBUG-63481 Change-Id: I4abe9cda2a6c52d841ac858cccb6bf068e550cb8 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| | * Fix cookies not being applied on redirectMårten Nordheim2017-09-291-0/+28
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-63313 Change-Id: I5245fc837557f19062cbbf0f1dfb86353c85229f Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | * Fix crash when reparenting window containerPaul Olav Tvete2017-09-281-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QWindowContainer assumed that a widget could never change from native to non-native. This is not a fact when the window container is reparented to toplevel and back. In this case, usesNativeWidgets would be stuck at true, and parentWasChanged() would go down the native widget path, triggering an assert. The solution is to always recalculate the usesNativeWidgets bool. Task-number: QTBUG-63168 Change-Id: I88178259878ace9eb5de2ee45ff5e69b170da71c Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: Błażej Szczygieł <spaz16@wp.pl>
| | * Blacklist tst_QWindow:testInputEvents on RHEL 7.4Tony Sarajärvi2017-09-271-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Swapping from RHEL 7.2 to 7.4 produces new autotest failures. Task-number: QTBUG-63433 Change-Id: I3e59aa73b5874cfec06e166f521e06b0c7829743 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| | * Return focus to correct widget after showing menuPaul Olav Tvete2017-09-261-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By the time we call setKeyboardMode(true), the menu may already have taken focus. This change sets keyboardFocusWidget before opening the popup, and makes sure that keyboardFocusWidget is not set to the popup. (We cannot remove the assignment from setKeyboardMode(), since it's called from several places.) [ChangeLog][QtWidgets] Fixed widget losing focus after showing menu second time. Task-number: QTBUG-56860 Change-Id: Ic01726bf694e6f365dd7b601ad555156e0fdf6c5 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| | * QCompleter: Send activated() signal only once on return keyGabriel de Dietrich2017-09-221-0/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to the complex event forwarding logic between QCompleter, QComboBox, QLineEdit and QWidgetLineControl, in some cases the same single user return key press could result in duplicated activated() signals being emitted by QComboBox. The first one would be emitted because QLineEdit emitted editingFinished() as a result of QCompleter::eventFilter() having forwarded the return key press event to QComboBox. The second one, would happen right after, as QCompleter::eventFilter() would process the same event on behalf of its popup. (We recall that QCompleter is installed as its own popup event filter. That's also the case for the completer's widget, although the purpose there is limited to focus-out events). The current fix consists on skipping the emit as a result of QLineEdit::editingFinished() if the completer's popup is still active. For this to be accurate, it helps to test whether the completer's popup is visible, so we will not be hiding it in QWidgetLineControl::processKeyEvent() anymore. Indeed, we know that if the popup is visible, that means that processKeyEvent() was called after being forwarded by the completer's popup event filter. Furthermore, the popup will be hidden by its event filter shortly after it returns from said event forwarding call. Based on a patch by Alexey Chernov <4ernov@gmail.com>. Task-number: QTBUG-51858 Task-number: QTBUG-51889 Change-Id: I013f6c3000ae37b5b0ec20eaf5cf7746c9c903e3 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| | * Restore compatibility with pre-5.9 Keccak calculationThiago Macieira2017-09-211-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 12c5264d9add1826d543c36d893db77262195fc6 fixed the calculation of SHA-3 in QCryptographicHash: we were previously calculating Keccak. Unfortunately, turns out that replacing the algorithm wasn't the best idea: there are people who need to compare with the result obtained from a previous version of Qt and stored somewhere. This commit restores the enum values 7 through 10 to mean Keccak and moves SHA-3 to 12 through 15. The "Sha3_nnn" enums will switch between the two according to the QT_SHA3_KECCAK_COMPAT macro. [ChangeLog][Important Behavior Changes] This version of Qt restores compatibility with pre-5.9.0 calculation of QCryptographicHash algorithms that were labelled "Sha3_nnn": that is, applications compiled with old versions of Qt will continue using the Keccak algorithm. Applications recompiled with this version will use SHA-3, unless QT_SHA3_KECCAK_COMPAT is #define'd prior to #include <QCryptographicHash>. [ChangeLog][Binary Compatibility Note] This version of Qt changes the values assigned to enumerations QCryptographicHash::Sha3_nnn. Applications compiled with this version and using those enumerations will not work with Qt 5.9.0 and 5.9.1, unless QT_SHA3_KECCAK_COMPAT is defined. Task-number: QTBUG-62025 Discussed-at: http://lists.qt-project.org/pipermail/development/2017-September/030818.html Change-Id: I6e1fe42ae4b742a7b811fffd14e418fc04f096c3 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * Fix #if-ery and accompanying commentEdward Welbourne2017-09-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | The comment was back-to-front on the meaning it needed to address; and the #if-ery used a deprecated define, now changed to match what sanity-bot asked for. Change-Id: I0a971ab2e405e5908066da86964d67c8b852f114 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| | * Blacklist tst_QItemDelegate::testLineEditValidation in openSUSE 42.3Tony Sarajärvi2017-09-201-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | This autotest is blacklisted as it is deemed flaky. Task-number: QTBUG-63262 Change-Id: I216985e81d1c1cb3528fd8a005be48cad2a31ab7 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| | * Blacklist flaky QItemDelegate tests in openSUSE 42.3Tony Sarajärvi2017-09-201-4/+2
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-62967 Change-Id: I05cbf06f068701ee16b54e7052e02becc0c47702 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
| | * Itemviews: Set the WA_InputMethodEnabled attribute correctlyAndy Shaw2017-09-201-0/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When focus is put back onto an itemview and the current item is editable then the WA_InputMethodEnabled attribute should be set. Likewise this should be set/unset when the current index changes too, depending on whether the index is editable or not. Change-Id: Iaea075e669efd21bdaa89a49c500c449272d098b Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | | Widgets: change QWidget::setTabOrder to understand compound widgetsRichard Moe Gustavsen2017-10-041-1/+93
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A "compound widget" is a widget that has a focus proxy set to an inner child. This is normal for complex black-box components where focus handling is delegated to the children. Since the compound can have several children, a local tab order might exist between them. The current implementation of setTabOrder had no idea about compound widgets. As such, when connecting two compounds in the tab chain, it would just break up their inner tab order and cause tabbing to ignore children other than the proxy. The new implementation recognizes compound widgets, and add some extra code to figure out the correct tab targets. This way, the local tab order between the children will be preserved. This implementation was inspired by the patches of Marek Wieckowski posted in the linked bug report, and later modified by Nikita Krupenko. [ChangeLog][Widgets] QWidget::setTabOrder() will now preserve the local tab order inside a widget if it has a focus proxy set to an inner child. Task-number: QTBUG-10907 Change-Id: I0673d39d70ec8c6bf64af30bf978d67c651b2f3c Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | qmake: Allow non-bundle apps and libs to have an Info.plistTor Arne Vestbø2017-09-291-1/+1
| | | | | | | | | | Change-Id: I5fe5c8d3214876520b5259d478ac9ef887c61e95 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Clean up OS version checks for Apple platformsJake Petroules2017-09-293-4/+4
| | | | | | | | | | | | | | | | | | | | Convert QSysInfo/QOperatingSystemVersion to __builtin_available where required or possible, or to QOperatingSystemVersion where __builtin_available cannot be used and is not needed (such as negated conditions, which are not supported by that construct). Change-Id: I83c0e7e777605b99ff4d24598bfcccf22126fdda Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Improve qustrlen further by avoiding the alignment prologueThiago Macieira2017-09-261-6/+31
| | | | | | | | | | | | | | | | | | | | | | This avoids looping prior to the main 16-byte loop, by performing one load that may include bytes prior to the start of the string. This is guaranteed not to fault, since str points to a valid character, but it may cause Valgrind to print warnings. Change-Id: I6e9274c1e7444ad48c81fffd14dcae854bba24b2 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | macOS: Deliver NSWindow notifications to all windows, not just top levelTor Arne Vestbø2017-09-262-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Child QWindows (or in the case of QWindows embedded in native applications: top level QWindows where the corresponding NSView is a child of another view, so not being the contentView of its window), still need some of the NSWindow notifications to e.g. update their exposed state when the window becomes visible. We make sure to send the notification to all QCococaWindow children of the relevant NSWindow, and let each callback decide if it should only apply to content views. This fixes an issue where a QWindow would never be exposed if the window was a child NSView and added to a NSWindow that was yet to be shown. Change-Id: I7f7df8bc5f4ca3ac553a2c146f8c3229b197c059 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | tests: make exposeEventOnShrink_QTBUG54040 not flakey on xcbGatis Paeglis2017-09-261-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From: https://tronche.com/gui/x/xlib/events/exposure/expose.html "The circumstances in which the X server generates Expose events are not as definite as those for other events." On windows with XCB_GRAVITY_NORTH_WEST flag set we should not get expose events according to e2665600c09358854bb0b29389cc873a2684f77b, but as stated earlier this might not always be true. Nevertheless, sometimes we get expose event from X server when shrinking window, but most of the time we don't. Make the test not flakey by checking that we get at least 1 expose event, instead of exactly 1. Now running test 500 times in a loop does not fail. Task-number: QTBUG-63424 Change-Id: I8004e622020cc09e11b7d592faf6d9ee1b9cfee2 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Widgets: be able to tab to a widget that has a focus proxyRichard Moe Gustavsen2017-09-251-41/+154
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When tabbing/searching for the next focus widget, the current code would check if the next widget in the focus chain had a focus proxy, and if so, ignore it. The exact reason for this behavior is not clearly understood, but some widgets (e.g QSpinBox) has children (a QLineEdit) that sets the parent as focus proxy. If we didn't ignore children with focus proxy, tabbing from a QSpinBox would lead us to find the inner QLineEdit, which (because of its proxy), would lead us back to the QSpinBox. And therefore not be able to tab out. But ignoring the focus proxy has other problems. Normally a focus proxy is the next sibling to the widget it acts as a proxy for, and tabbing to the widget will therefore appear correct. But if the focus proxy is not the next sibling, the logic will fail, since the tab would anyway give focus to the next sibling. This becomes very apparent if the focus proxy is a child of the widget, since then its likely that the focus proxy is not the _first_ child among all the children. So tabbing to the parent would not give focus to the proxy. This patch will change this logic so that you are allowed to tab to a widget with a focus proxy. But we check that if you do so, you actually end up moving focus in the right direction. If not, we ignore it like before. This will ensure that we tab correctly when dealing with focus proxies, and especially when focus proxies are used to construct compound widgets. [ChangeLog][Widgets] When tabbing to a widget with focus proxy, focus will now be given to the proxy rather than just being ignored. Task-number: QTBUG-10907 Change-Id: I66d1da5c941fdd984bb2783cc355ca65b553b5dd Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* | Autotest: centralize the detection of IPv6 supportThiago Macieira2017-09-251-12/+12
| | | | | | | | | | | | | | I'll need it again in the next commit. Change-Id: I209fcd5dbc2b4e5381cffffd14df65dcee71ca7e Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | QRandomGenerator: update API to better nameThiago Macieira2017-09-221-28/+28
| | | | | | | | | | | | | | | | | | | | | | | | "generate" is better than "get", and we already have "generate(it, it)" which uses std::generate(). This changes: - get32() → generate() - get64() → generate64() and QRandomGenerator64::generate() - getReal() → generateDouble() Change-Id: I6e1fe42ae4b742a7b811fffd14e5d7bd69abcdb3 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Blacklist tst_QItemDelegate::enterKey tests on openSUSE 42.3Shawn Rutledge2017-09-221-3/+1
| | | | | | | | | | | | Task-number: QTBUG-62967 Change-Id: Ifce1c8732e126e26636057de29e1fe6348c914bb Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | Merge "Merge remote-tracking branch 'origin/5.9' into 5.10" into ↵Liang Qi2017-09-2115-38/+64
|\ \ | | | | | | | | | refs/staging/5.10
| * | Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2017-09-2015-38/+64
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/styles/mac/qmacstyle_mac.mm src/widgets/util/qcompleter.cpp src/widgets/widgets/qmainwindowlayout.cpp src/widgets/widgets/qmdisubwindow.cpp Change-Id: If0e96981af07ce36ac68f2e69211bc2120f93973
| | * Fix recordOCI() test to treat clob/nclob as QByteArrayAndy Shaw2017-09-181-2/+2
| | | | | | | | | | | | | | | Change-Id: I0315b23dad66f98fc681c624d4afa8b5abb54a7b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * OCI: Use correct type for getting doublesAndy Shaw2017-09-181-1/+7
| | | | | | | | | | | | | | | | | | | | | Change-Id: Iffb81a37a517e58d48757d82f93f20e8c5100033 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io> Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * Remove unnecessary VxWorks ifdefJake Petroules2017-09-181-2/+0
| | | | | | | | | | | | | | | | | | Change-Id: Ie655bdff9a09c6060f66e4346b94ba52443241f4 Reviewed-by: Tuomas Heimonen <tuomas.heimonen@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Exclude QSystemSemaphore test with -no-feature-systemsemaphoreJake Petroules2017-09-181-0/+3
| | | | | | | | | | | | | | | Change-Id: I9db6b68c3d26b27a0203c68c48ab73602eb15095 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
| | * Use QT_LSTAT instead of lstat directlyJake Petroules2017-09-152-4/+6
| | | | | | | | | | | | | | | | | | | | | Not all platforms (such as VxWorks) have lstat. Change-Id: If42f0041f9a6d9bec0a355173c88f28f1819bd57 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * Exclude tst_QDir::mkdirOnSymlink on Unix platforms without symlinksJake Petroules2017-09-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | One example is VxWorks. Change-Id: I253df715a9417c1f9cede79b1e1860924e0da8a9 Reviewed-by: Tuomas Heimonen <tuomas.heimonen@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * Exclude DBus performance test with -no-feature-processJake Petroules2017-09-151-1/+3
| | | | | | | | | | | | | | | | | | Change-Id: I3e650b21139bd59b1f8386f4abb39aadf85e412f Reviewed-by: Tuomas Heimonen <tuomas.heimonen@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * Fix convertToFormat with color-tablesAllan Sandfeld Jensen2017-09-141-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | The function was only well defined from RGB32 and ARGB32PM formats, this patch fixes it so it behaves well from all formats. Task-number: QTBUG-63163 Change-Id: Id892531d9aaf997b707b430196c1166493792a2a Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
| | * Autotest: when using libproxy, QNetworkProxyFactory isn't genericThiago Macieira2017-09-133-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Looks like whoever created the blacklist never tried to figure out why it happened. Change-Id: I84e45059a888497fb55ffffd14d2fb29e32a4521 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| | * Workaround for proxyChange failing when run aloneMårten Nordheim2017-09-131-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The issue itself is not really worth fixing (the very first request being supposed to have a different proxy than any of the other following requests before a session has been initiated), but we can at least make the test pass when it is run alone. Task-number: QTBUG-63134 Change-Id: I6c7df5c5653541031811e6bff562572061afae0f Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| | * Convert features.sizegrip to QT_[REQUIRE_]CONFIGStephan Binner2017-09-121-8/+8
| | | | | | | | | | | | | | | Change-Id: Ieac4ae1f0b8b84e943c00da9903346a44e57138c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| | * Blacklist tst_QOpenGL autotest in Windows 7Tony Sarajärvi2017-09-121-0/+2
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-63122 Change-Id: Idb4c84800265c2e446d27516261fcc418be7863b Reviewed-by: Joni Jäntti <joni.jantti@qt.io> Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
| | * Use QTRY_COMPARE in tst_qwidget::activation() (Windows only)Friedemann Kleint2017-09-061-15/+6
| | | | | | | | | | | | | | | | | | | | | Speeds up the test from approximately 770ms to 180ms. Change-Id: I2e5479fd5190b841b44d4a66380d27b1c3b55162 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Blacklist tst_QGraphicsScene::isActive in openSUSE 42.3Tony Sarajärvi2017-09-201-0/+2
|/ / | | | | | | | | | | | | | | This autotest is blacklisted as it is deemed flaky. Task-number: QTBUG-63260 Change-Id: I3e83bcb0dbbe4fbf9d5c16f764fbeeca2b52d10c Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
* | Autotest: use QUdpSocket instead of QTcpSocket in tst_QNetworkInterfaceThiago Macieira2017-09-141-7/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | We don't need to bother the network test server with a TCP SYN packet. All we need is for the local operating system to figure out the IP address it would use to send a packet to the test server. We can do that with QUdpSocket. Also, the network test server hasn't been called "fluke.troll.no" for almost a decade. Change-Id: I209fcd5dbc2b4e5381cffffd14df65ccc7133247 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | QStringView: De-inline the length calculation so we can use SSE2Thiago Macieira2017-09-131-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Performance is more important in this case than the theoretical benefit of constexpr. This commit implements the SSE2 search for 16-bit null and it might be possible to implement the equivalent for AArch64 (investigation required). It also adds a fallback to wcslen() for systems where wchar_t is short (non-x86 Windows or 32-bit x86 build with -no-sse2). We can re-add the constexpr loop once the C++ language has a way of overloading constexpr and non-constexpr. GCC has a non-standard way to do that with __builtin_constant_p, which is also implemented in this commit, but note that the inline function is still not constexpr. Change-Id: I6e9274c1e7444ad48c81fffd14dcaacafda5ebdc Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | macOS: Detect use of heap-allocated QMacAutoReleasePoolTor Arne Vestbø2017-09-083-0/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QMacAutoReleasePool is backed by an NSAutoreleasePool, which documents that "you should always drain an autorelease pool in the same context (invocation of a method or function, or body of a loop) that it was created". This means allocating QMacAutoReleasePool on the heap is not a supported use-case, but unfortunately we can't detect it on construction time. Instead we detect whether or not the associated NSAutoreleasePool has been drained, and prevent a double-drain of the pool. Change-Id: Ifd7380a06152e9e742d2e199476ed3adab326d9c Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | tests: fix and un-blacklist tst_qgraphicsview::hoverLeaveGatis Paeglis2017-09-072-31/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tests should not use QCursor to emulate mouse move, see QCursor::setPos() docs. The flakiness of the test on XCB is not surprising when the test queries geometry even before the window has been shown. With the re-factored version I could not reproduce flakiness anymore. Removed Q_OS_MAC and closed QTBUG-26274 as test passes on macOS from which I assume that the underlying issue has been fixed. Removed Q_OS_QNX ifdef as test does not rely on QCursor anymore. This patch also fixes the issues on minimal / offscreen platform plugins. QCursor::setPos() is evil for auto test purposes. Note: We intentionally use QTest::mouseMove(QWindow *window, ..), not the QWidget overload. The QWindow version gets routed through QWSI, which ensures that all necessary events are generated as expect. In QWidget code path this is currently disabled by QTEST_QPA_MOUSE_HANDLING. Change-Id: I285c26cff09e3f2750f8c2abbb1f46c8f7be984a Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2017-09-0610-14/+51
|\| | | | | | | | | | | | | | | | | | | Conflicts: examples/opengl/qopenglwidget/main.cpp src/3rdparty/pcre2/src/pcre2_printint.c src/plugins/platforms/cocoa/qnsview.mm src/widgets/widgets/qcombobox.cpp Change-Id: I37ced9da1e8056f95851568bcc52cd5dc34f56af
| * Convert features.socks5 to QT_[REQUIRE_]CONFIGStephan Binner2017-09-063-6/+6
| | | | | | | | | | | | | | | | The sources were already added conditionally in the project file since 179fe5981fa. Change-Id: I0baaec2e772f3e596d311c1973b9745aa2b80423 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Extend blacklisting of tst_QWidget::maskedUpdate to openSUSE 42.3Tony Sarajärvi2017-09-041-0/+1
| | | | | | | | | | | | Task-number: QTBUG-51399 Change-Id: I7fcc52da2ce539251f6bad0394c4580dd76439a7 Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
| * Blacklist tst_QItemDelegate::enterKey tests on openSUSE 42.3Tony Sarajärvi2017-09-041-0/+4
| | | | | | | | | | | | Task-number: QTBUG-62967 Change-Id: I42f25120f1a9e2ef6a9a147e4f36edcdff2922a6 Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
| * Convert features.completer to QT_[REQUIRE_]CONFIGStephan Binner2017-09-042-5/+5
| | | | | | | | | | Change-Id: If45a46c08b37d245229a39f3d6ffbb34154934f2 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Fix resolution of relative links on WindowsOrgad Shaneh2017-09-041-3/+9
| | | | | | | | | | | | | | | | | | | | [ChangeLog][QtCore][QFileInfo] Relative symbolic links on Windows are now resolved to their absolute path by symLinkTarget(). Task-number: QTBUG-62802 Change-Id: I5826517130bd389aef994bf3f4b6d99b2a91b409 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * tst_QMutex: produce less noise with MSVCThiago Macieira2017-09-011-0/+3
| | | | | | | | | | | | | | | | | | | | Since MSVC doesn't have <chrono> (according to QT_HAS_INCLUDE), the QSKIP in the test was printed for every line in the table. Instead, add the skip in the _data() function. Change-Id: I6e9274c1e7444ad48c81fffd14dbcee5e5a322aa Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * Forward the readChannelFinished from the plain socket to the ssl socketAlbert Astals Cid2017-09-011-0/+23
| | | | | | | | | | | | Task-number: QTBUG-62257 Change-Id: I12632b7ffd2012adc99b4784892cbb6f79e065f7 Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io>