summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ANGLE: d3d11: Do not register windows message hooks for d3d11 windowsOliver Wolff2020-04-022-2/+47
| | | | | | | | | | | | | | | | These message hooks are used to handle ALT+ENTER to enter/exit fullscreen mode and PRINTSCREEN to take screenshots. Qt is implementing these functionalities itself so we do not have to register these hooks. If too many of these hooks are registered, callbacks are no longer called and Qt's message queue is no longer handling messages. By saving these hooks we can make sure that more Qt windows at the same time are possible without getting unresponsive due to too many hooks being registered. Change-Id: I5354f91f08cbfeda5e8dc3ad7f824fbd5b3b2932 Reviewed-by: Dominik Holland <dominik.holland@qt.io> Reviewed-by: André de la Rocha <andre.rocha@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Speed up tst_QApplication::testDeleteLaterProcessEvents2()Friedemann Kleint2020-03-311-1/+2
| | | | | | | | Quit the event loop once the object is destroyed. Change-Id: I6df1cfe867daacb6af56eb84646be91d98a2f545 Reviewed-by: Alex Trotsenko <alex1973tr@gmail.com> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* tst_QApplication::testDeleteLaterProcessEvents(): Split the testFriedemann Kleint2020-03-311-69/+80
| | | | | | | The test can trigger timeouts in COIN, split into subtests. Change-Id: I1fa5d52422275f89b2858d90c5979632aa7058e2 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Send MouseMove events without buttons if the press closed the popupVolker Hilsheimer2020-03-301-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | With nested popup widgets, pressing a mouse button on the lower popup will close the active popup. MouseMove events that are generated before the button is released again should not have that button included, as it is likely to result in incorrect state handling in the widget. This change removes all buttons from the MouseMove event, which is the second best option. This is mostly consistent with the behavior when closing a popup and no other popup remains. The widget underneath will get MouseMove events without the respective button included. This change doesn't include a fix for the final release event, which should ideally also not be delivered to the remaining popup, as it never got a corresponding press event. Qt has already reset the states in which it stores which widget received the press event at the time the release is generated, such as qt_button_down and qt_popup_down. So we can't separate a release grabbed by a newly opened popup (which we want) from a release to the popup that became active after closing (which we don't want). However, widgets can more easily work around this issue, and the risk of breaking things by changing the code further becomes too high. Change-Id: I603bbdbc7e7355952d96ab77c5e2d2f1e6f94987 Fixes: QTBUG-82538 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* testlib: add QAbstractItemModelTester::verify()Liang Qi2020-03-301-0/+6
| | | | | | | | | | | | | | This amends b3e4be2d8b9debf217657436139da0152f6f8797. When building testlib with QtGui linked:(use "QT = core-private gui" in src/testlib/testlib.pro) Undefined symbols for architecture x86_64: "QAbstractItemModelTester::verify(bool, char const*, char const*, char const*, int)", referenced from: QTestPrivate::testDataGuiRoles(QAbstractItemModelTester*) in qabstractitemmodeltester.o Change-Id: Ideb10ddd6717fed8d9f91f75bbfc9d5a22104730 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* itemviews: Use the start of the current selection when getting the rangeAndy Shaw2020-03-302-3/+67
| | | | | | | | | | | | | | | When doing a shift-select while moving the mouse then the start point should be based on the start of the current selection and not the pressed position. If there is no current selection start index, then we can safely depend on pressed position as this will be the previous index pressed on. This resolves an issue introduced by e02293a76d21e7077f1952d4ed8af6c6d1970190 when fixing QTBUG-78797 Fixes: QTBUG-81542 Change-Id: Ia66c42b220452fdcbc8cfccc05dbc8a3911c3f5e Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* tst_QCborValue: Prepare for 64-bit QVectors in Qt 6Thiago Macieira2020-03-271-7/+15
| | | | | Change-Id: Ief61acdfbe4d4b5ba1f0fffd15fe1e921aab0a72 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* CBOR support: prevent overflowing QByteArray's max allocationThiago Macieira2020-03-279-51/+294
| | | | | | | | | | | | QByteArray doesn't like it. Apply the same protection to QString, which we know uses the same backend but uses elements twice as big. That means it can contain slightly more than half as many elements, but exact half will suffice for our needs. Change-Id: Iaa63461109844e978376fffd15f9d4c7a9137856 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* MinGW: Fix build with -angleKai Koehne2020-03-271-1/+2
| | | | | | | | Since Qt 5.14, debug libs for MinGW don't necessarily have a 'd' suffix anymore. Fixes: QTBUG-83087 Change-Id: Ia9f499ebed05e96fb056134681a2124c2262fb08 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* QCborValue: apply a simple optimization to avoid unnecessary allocationsThiago Macieira2020-03-252-28/+29
| | | | | | | | | If the map or array is known to be empty, we don't need to allocate a QCborContainerPrivate. Change-Id: Ief61acdfbe4d4b5ba1f0fffd15fe212b6a6e77c3 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QCborValue::fromCbor: Apply a recursion limit to decodingThiago Macieira2020-03-253-13/+84
| | | | | | | | | | | | | | | | | | | A simple 16k file can produce deep enough recursion in Qt to cause stack overflow. So prevent that. I tested 4096 recursions just fine on my Linux system (8 MB stack), but decided 1024 was sufficient, as this code will also be run on embedded systems that could have smaller stacks. [ChangeLog][QtCore][QCborValue] fromCbor() now limits decoding to at most 1024 nested maps, arrays, and tags to prevent stack overflows. This should be sufficient for most uses of CBOR. An API to limit further or to relax the limit will be provided in 5.15. Meanwhile, if decoding more is required, QCborStreamReader can be used (note that each level of map and array allocates memory). Change-Id: Iaa63461109844e978376fffd15fa0fbefbf607a2 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QCborValue: create a wrapper to set the QCborStreamReader error stateThiago Macieira2020-03-252-6/+12
| | | | | | | | The next commit will need to do so from outside QCborContainerPrivate, where QCborStreamReader::d can't be accessed (private). Change-Id: Iaa63461109844e978376fffd15fa0f6f04081bf2 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* macOS: Flush sublayers via separate IOSurface backingstoresTor Arne Vestbø2020-03-252-25/+68
| | | | | | | | | | | | | | | | | | | | | | | | Flushing sublayers via QImage copies of the root IOSurface was causing performance regressions due to the constant allocations of new images each frame. We now re-use the QCALayerBackingStore implementation for sublayers, which gives a dynamic swap-chain. We're still paying the CPU cost of the copy from the root backingstore to the layered backingstores, as well as the memory cost, but at least improves the situation. We do not try to be smart and paint directly into the sublayers, as that would leave the root backingstore stale, potentially causing glitches when views are repositioned. Investigating this is left for future work. Fixes: QTBUG-82986 Change-Id: I758a3d8e1e40e2ed4fe6bc590a4a5a988d87a3a7 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit ce2d68ebe1aefeae78ff2fd8ec5ff7e20790ef69)
* ANGLE: Fix resizing of windows (Take 2)Oliver Wolff2020-03-242-1/+28
| | | | | | | Task-number: QTBUG-62475 Change-Id: I0ea17e7875906508941ae64bb396a4236928b0f9 Reviewed-by: Miguel Costa <miguel.costa@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* xcb: Add support for XdndActionList propertyAlexander Volkov2020-03-234-7/+118
| | | | | | | | | | This allows to pass and receive possible drop actions from other processes, including GTK applications. Fixes: QTBUG-75744 Change-Id: I944edc6fa00f8801a25912e70eb104a647a9fc0e Reviewed-by: JiDe Zhang <zccrs@live.com> Reviewed-by: Liang Qi <liang.qi@qt.io>
* Doc: fix copy paste errors in border-*-style documentationJoni Poikelin2020-03-211-4/+4
| | | | | Change-Id: I442513ec87e25610898c2102170a5f2bfec5ee77 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* qtimezoneprivate_tz: Apply a cache over the top of timezone dataRobin Burchell2020-03-203-57/+222
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Constantly re-reading the timezone information only to be told the exact same thing is wildly expensive, which can hurt in operations that cause a lot of QTimeZone creation, for example, V4's DateObject - which creates them a lot (in DaylightSavingTA). This performance problem was identified when I noticed that a QDateTime binding updated once per frame was causing >100% CPU usage (on a desktop!) thanks to a QtQuickControls 1 Calendar (which has a number of bindings to the date's properties like getMonth() and so on). The newly added tst_QTimeZone::systemTimeZone benchmark gets a ~90% decrease in instruction count: --- before +++ after PASS : tst_QTimeZone::systemTimeZone() RESULT : tst_QTimeZone::systemTimeZone(): - 0.024 msecs per iteration (total: 51, iterations: 2048) + 0.0036 msecs per iteration (total: 59, iterations: 16384) Also impacted (over in QDateTime) is tst_QDateTime::setMSecsSinceEpochTz(). The results here are - on the surface - less impressive (~0.17% drop), however, it isn't even creating QTimeZone on a hot path to begin with, so a large drop would have been a surprise. Added several further benchmarks to cover non-system zones and traverse transitions. Done-With: Edward Welbourne <edward.welbourne@qt.io> Task-number: QTBUG-75585 Change-Id: I044a84fc2d3a2dc965f63cd3a3299fc509750bf7 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Doc: replace QFileInfo::created with birthTimeMauro Persano2020-03-201-1/+1
| | | | | Change-Id: Ia497febcbf28e4b3babe50fc6f05e12f3d686b91 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.14.2' into 5.14"Mitch Curtis2020-03-1910-24/+363
|\
| * Merge remote-tracking branch 'origin/5.14.2' into 5.14Mitch Curtis2020-03-1910-24/+363
| |\ | | | | | | | | | Change-Id: I34ca28c75b88e882c3f35f182bf01acb22b77637
| | * Android: Fix deployment on Windows hostEskil Abrahamsen Blomfeldt2020-03-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The paths in the build properties require forward slashes apparently. On Windows, we would default to native backslashes and they would be stripped from the path. Converting to forward slashes fixes the problem. Issue was introduced by dd04fb639bf357e66d0586faed78a3043a62819e, since before that, the NDK path was retrieved from the environment. Fixes: QTBUG-82944 Change-Id: I6c51113efcf671461a5871991b3225a52b95266c Reviewed-by: BogDan Vatra <bogdan@kdab.com>
| | * Add changes file for Qt 5.14.2Antti Kokko2020-03-171-0/+117
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I804e2f07ccbf077c443aef627854c6c411014269 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | * Fix potential out-of-bounds or nullptr accessVolker Hilsheimer2020-03-171-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This ammends change baed8534bc1dac36a9d0ef4240fc14398076a192, which might have introduced a hard to reproduce segmentation fault when the screen number is out of bounds, or when the QScreen object doesn't return a valid pointer for QScreen::handle. As the issue doesn't reliably reproduce, this is a speculative fix that adds bounds and nullptr checking. Change-Id: I0cec0a344e80159ee1723d840f207267a608cef4 Fixes: QTBUG-82807 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
| | * Do not crash on skipped Xlib visualsAllan Sandfeld Jensen2020-03-111-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | If XLIB_SKIP_ARGB_VISUALS is set, we might fail to find visuals for supported configurations. Task-number: QTBUG-81904 Change-Id: Ib0d26faabe430925881b7f2acfc5361df3af416b Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| | * Merge 5.14 into 5.14.2Kari Oikarinen2020-03-1036-158/+300
| | |\ | | | | | | | | | | | | Change-Id: Ib4b26bad47a850cde6253fb3422aae34b2cf622b
| | * | Windows QPA: Do not play sound for QMessageBox::NoIconFriedemann Kleint2020-03-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Amends 2f366a63b20a943ae3099605c2cdb34009ca5602. Task-number: QTBUG-82682 Task-number: QTBUG-81342 Change-Id: I30f465bf432e27828db460f6dbbb59eee0cca8f2 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: André de la Rocha <andre.rocha@qt.io>
| | * | Fix CVE-2020-9327 in SQLiteAndy Shaw2020-03-042-9/+225
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was taken from abc473fb8fb99900 in SQLite, ref: https://www.sqlite.org/cgi/src/info/abc473fb8fb99900 Fixes: QTBUG-82533 Change-Id: I9840e29f19a0b861229987f5b59d8585ba2e55dc Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * | QLibraryInfo: avoid unneeded conversion for path prefixKirill Burtsev2020-03-041-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ammends 4ac872639e. Change return type for getPrefix to eliminate toLatin1/fromLocal8bit conversion of initial value for relocatable prefix to preserve not-latin1 characters and return valid prefix path. Fixes: QTBUG-81462 Change-Id: I15cfa49e9e440e257b04dd31803cd1478f3b07f5 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| | * | Android: fix apk generation on Android API 23+BogDan Vatra2020-03-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Starting with Android API 23+ gradle enables uncompressed native libs by default. We must set android.bundle.enableUncompressedNativeLibs = false to gradle.properties, to force it to compress them and extract them on the device. Fixes: QTBUG-80766 Change-Id: Ia6d8d9179a341bbe7f8dc254a3b31d2ee8d7a5d7 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| | * | Android: Include the resConfigs so that the package can be uploadedAndy Shaw2020-03-031-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Google Play Store requires the resConfigs to be set to something valid otherwise it will not accept the package, so we default it to "en" to ensure it is valid. Fixes: QTBUG-81735 Change-Id: I1180481a1e5b88057aed2417716ca4d334080c00 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
| | * | Fix regression when doing a debug only build with MSVCKai Koehne2020-03-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qt helper libs for msvc will always get a 'd' suffix for debug builds. This is different than for MinGW, where it will only get a 'd' for mixed debug builds in -debug-and-release scenarios (see commit 1749f9184b97). This amends d32a679, which incorrectly removed the 'd' suffix when linking helper libs built for MSVC. Fixes: QTBUG-82620 Change-Id: I8097de0e1bab4d1e58fc37b0c50ee6b07650a626 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | | | q_getTimeFromASN1: fix invalid accessTimur Pocheptsov2020-03-191-1/+17
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | No sanitizer is needed, just looking at the code is enough. It was wrong. Change-Id: I9df417c137d6b3361c3161865e099a8be40860de Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* | | tst_QMenu: make QSKIP message truthfulTimur Pocheptsov2020-03-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the test was refactored and QCursor::setPosition() replaced with QTest::mouseMove(), the test is completely crippled on macOS, since it relies on the parts in widget's code, ifdefed with condition !Q_OS_OSX and commented as "Cocoa tracks popups". Yes it does, but not for "fake" events generated by QTest. The original test was introduced when fixing different problems on non-Apple platform(s) anyway. Let's make QSKIP message saying the truth. Task-number: QTBUG-63031 Change-Id: If54f195ccc0d4409cc2e7f4ae0b0fbf43989b286 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | | Fix JNI signature for the timezone getDisplayName callVolker Krause2020-03-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Due to the changes in 5.14.1 this code now actually seems to be hit here, throwing NoSuchMethodError exceptions all over the place and breaking date/time handling quite spectacularly. Change-Id: I9bee3de39ec98f86d7944b94e89119505f62dc6c Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | | QTreeView: don't call model.index(-1, 0) when using spanning itemsDavid Faure2020-03-162-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | drawTree() does QPoint hoverPos = d->viewport->mapFromGlobal(QCursor::pos()); d->hoverBranch = d->itemDecorationAt(hoverPos); and itemDecorationAt does const QModelIndex index = q->indexAt(pos); which might very well be an invalid index. Change-Id: I7db98871543bd7e1c57fcc475d2646757bf2bb42 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
* | | WinRT: Open the URLs via the XAML thread to enable them to be openedAndy Shaw2020-03-141-12/+21
| | | | | | | | | | | | | | | | | | | | | | | | UWP expects these functions to be opened via the XAML thread, so we ensure this is done by running those functions on that thread. Change-Id: I57ae3a7d9b45d0b1a00ac23b103386bd34b65c6d Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | Windows QPA: Fix broken frame geometry when moving windows with native menusFriedemann Kleint2020-03-135-10/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QWindowsWindow::updateFullFrameMargins() which is called from the screen changed handling does not take native menus into account. Since the size of the menu is not known when using EnableNonClientDpiScaling(), obtaining the correct frame size requires triggering a WM_NCCALCSIZE message. Extract the helper forceNcCalcSize() from QWindowsMenu and use that from updateFullFrameMargins() in case menus are present. Amends d2fd9b1b9818b3ec88487967e010f66e92952f55. Fixes: QTBUG-82580 Change-Id: I306f1faf84e26c88608cb22ffd42eccc848905c3 Reviewed-by: André de la Rocha <andre.rocha@qt.io>
* | | Fix double scaling of SVG icons on high DPI screensTor Arne Vestbø2020-03-131-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On a high-dpi screen and AA_UseHighDpiPixmaps set, QIcon will ask its engine for a scaled-up pixmap. When the icon has been created from a theme, the engine is a QIconLoaderEngine. For a SVG icon, that engine would recursively use QIcon to load the scaled-up pixmap, leading to double scale-up. Fix by bypassing the QIcon API in the SVG case, loading the SVG icon directly from the SVG icon engine. Done-with: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Fixes: QTBUG-73587 Fixes: QTBUG-75039 Change-Id: I7fba02b6454decb5fcbca9c5a092e75954261dfd Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | | wasm: support emsdk >= 1.39.4Morten Johan Sørvig2020-03-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Keep using the old/deprecated behavior for the Qt 5.14 series. Task-number: QTBUG-74601 Change-Id: Icee99803f300dfa0116a4de75f9fb26d1010625d Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* | | Stabilize and rename tst_qmessagebox::expandDetails_QTBUG_32473Shawn Rutledge2020-03-121-10/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This has been flaky on OpenSuSE; if the stored geom.topLeft() is 0,0 it apparently means the window manager (probably kwin) didn't get around to decorating and repositioning the dialog by the time qWaitForWindowExposed() returns. Because we check later to see whether it moved, we need to be certain of its initial position. Waiting for the extra "fleece" widget to be shown was based on the theory that by the time the X server has processed messages related to that new window, the WM should be done processing the consequences of the resized dialog window. But there's no such guarantee, so let's try removing that. On the other hand, removing the delay does open us up to miss a regression (maybe the dialog gets moved after we have checked that it didn't move). Rename because we don't name autotests after bugs. Amends 26ddb586acd49834c7cffac781ce504ec78635cc Task-number: QTBUG-32473 Change-Id: I6bbfe2b4baaee389db0d4112f0fec3b7cb9da554 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Liang Qi <liang.qi@qt.io>
* | | Fix QVarLengthArray documentationGiuseppe D'Angelo2020-03-121-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | QVLA *does* have iterators and *can* be used with foreach (... I didn't say it should). Move its description together with the other containers. Change-Id: Ib60d1f7b3dc0e8c7004991bd4fdff95b3f23af60 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | ANGLE: Fix severe performance regressionOliver Wolff2020-03-122-1/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The changed buffer usage priority that was introduced in our ANGLE update caused severe performance regressions for Qt applications. Fixes: QTBUG-73835 Change-Id: I49839bb272cdeec0027264f2751b88bc149665ad Reviewed-by: André de la Rocha <andre.rocha@qt.io> Reviewed-by: Miguel Costa <miguel.costa@qt.io>
* | | Fix 'out of process' autotestsTimur Pocheptsov2020-03-111-28/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We are, arguably, not testing QProcess and its ability to start or finish, we test QUdpSocket. If, for some reason (as we discovered on some specific machines recently) the process does not start or does not produce any output (canReadLine), we QSKIP instead of failing. Also, all those QCOMPARE will bypass the part there we stop processes - so must be RAII-protected. Fixes: QTBUG-82717 Change-Id: Idfb0d4a483d753f336b3827875eeaf51c79270e2 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | | winrt: Update capability management to include IOT namespaceAndy Shaw2020-03-112-1/+6
| | | | | | | | | | | | | | | Change-Id: Ib24ecb70454af5ab2e82ebbdc1fed9ef2a52bbb1 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | Fix non-trivial soft-hyphen line breaksAllan Sandfeld Jensen2020-03-102-26/+165
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | The effect of the soft-hyphen needs to be updated once the final the break point has been found. This change cleans the logic by using two variables keeping track of soft-hyphen at current evaluated position and at last confirmed break point. Also adds tests for supression of soft-hyphens in the tight WrapAnywhere case. Fixes: QTBUG-35940 Fixes: QTBUG-44257 Change-Id: I7a89a8ef991b87691879bb7ce40cec4a3605fdd5 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | QSortFilterProxyModel doc: do not mention deprecated function reset()Christian Ehrlicher2020-03-091-2/+3
| | | | | | | | | | | | | | | | | | | | QSFPM::reset() is deprecated and begin/endResetModel() should be used. Therefore adjust the documentation to reflect this. Fixes: QTBUG-82470 Change-Id: I786b3f25e5674d97d0ef6a0c91342973d5e952e9 Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | Port from deprecated std::is_pod to is_trivial + is_standard_layoutMarc Mutz2020-03-062-2/+4
| | | | | | | | | | | | | | | | The std::is_pod trait is deprecated in C++20; is_trivial and is_standard_layout exist since C++11. Change-Id: I4b901d8edf1a55001764445aee9c338d3dc23b21 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Fix QDeviceDiscoveryUDev on FreeBSDAllan Sandfeld Jensen2020-03-061-0/+4
| | | | | | | | | | | | | | Include input.h from the right path. Change-Id: I016027ab5d6372a8584e04043444a355e7e2d539 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | examples: Fix build for configurations that do not have printsupportOliver Wolff2020-03-056-17/+30
| | | | | | | | | | | | | | | | | | printsupport features are only available if the module is available for the configuration. Every printer feature check has to be coupled with a check for the module itself. Change-Id: Id2ca84e71d5d74463d0ff35e8b18b252a779a883 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Un-blacklist QElapsedTimer::elapsed testVolker Hilsheimer2020-03-041-3/+0
| | | | | | | | | | | | | | | | The test was fixed and metrics show no flaky failures anymore. Task-number: QTBUG-58713 Change-Id: I50c0844db099f45bb5b7ca51a510bf0318554c44 Reviewed-by: Lars Knoll <lars.knoll@qt.io>