summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add accessors for QWindow and QScreen to QWidgetPrivateFriedemann Kleint2019-06-1813-92/+72
| | | | | | | | | | | | | | | | | Rewrite the existing accessor QWidgetPrivate::windowHandle() to accept a mode enumeration that has an "Any" convenience. Based on that, add QWidgetPrivate::associatedScreen(), which is seful in many places where scaling is performed. Prototypically simplify the code. Task-number: QTBUG-62094 Task-number: QTBUG-73231 Change-Id: I516288363d329bce9bc94e4951106f9357bc6cde Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* QNetworkConfiguration: remove unused member 'serviceNetworkMembers'Marc Mutz2019-06-142-35/+1
| | | | | | | | | It's never set anywhere, neiher in QtBase nor in any other Qt module. So, remove. Change-Id: If616d350a1c1c74f6f3e87f8cd98ccb3bff5cf70 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* QString: towards QStringView::arg() pt.2: port internal machinery to QStringViewMarc Mutz2019-06-061-24/+24
| | | | | | | | | | | | | | | This involves replacing the use of QStringRef with QStringView and replacing int indexes and sizes with qsizetype ones. Since we use QStringView now, where mid() is cheap and well-defined, remove the offset and length parameters that used to be Part ctor arguments, and use mid() in the caller. Change-Id: I08f3cd467b7b935f734b73d15eb8564b7deaa87e Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QString: towards QStringView::arg() pt.1: modernize some codeMarc Mutz2019-06-061-14/+13
| | | | | | | | | | | | Replace explicit iterator loops with ranged for loops. Also remove the pointless detach() of the QString result, caused by calling mutable data() instead of using the old trick of const-casting constData(). Change-Id: Ia7e2cb2926dc30b4dba33200b17697fd33d22446 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Make QIPAddressUtils::toString() const-correct for IPv6Marc Mutz2019-06-152-2/+2
| | | | | | | | | | | | | | | | | | | | The IPv4 overload takes a IPv4Address, which is just an quint32, so it doesn't matter whether clients call it with a const or a mutable argument. The IPv6 overload, OTOH, took a IPv6Address, which is a typedef for quint8[16]. This allows users to pass a quint16[16], but not a const quint8[16], because that would lose the const. The function, however, doesn't modify the argument, so it could be const. Make it so, even though, due to the typedef, it looks like a redundant top-level const. Change-Id: I0506f6f9026ad616c4450fceb45fea137ac27692 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix deep-const-correctness of qGetPtrHelper() for smart pointersMarc Mutz2019-06-151-1/+1
| | | | | | | | | | | | | | | | | | | The function qGetPtrHelper() is mainly used to implement d_func() within the Q_DECLARE_PRIVATE() macro. The whole purpose of d_func() is to propagate const deeply. But if a smart pointer implements this by itself, then the old version of qGetPtrHelper(), by taking the Ptr as a const-&, would always return a const payload pointer, which would fail in the following reinterpret_cast in d_func() to mutable payloads. This was found while experimenting with making QExplicitlySharedDataPointer deep const-correct, and I have no explanation why it seems to have worked with QSharedDataPointer, which is deep-const-correct already. Change-Id: Iee2e8fcce89c58ba2af7818de6f79ed39c5a4030 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Run prebuilt android test APKsBogDan Vatra2019-06-139-22/+143
| | | | | | | | | | | | androidtestrunner now checks is the apk is build and if it is, it will skip the build phase. Now we can build the apks in parallel (which takes most of the time) and run them sequentially. This way running tests on Android is much faster. Change-Id: I82f34723ac08f7728cc0daab3366e03821335eed Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* QObject/QWidget::setParent: add assertions to prevent loopsGiuseppe D'Angelo2019-06-073-0/+45
| | | | | | | | | | | | | | | | | | | | | | | It is perfectly possible to accidentally create a parent/child loop. This can happens by direct means (a->setParent(b); b->setParent(a);), or some more subtle means, e.g. class MyClass : public QObject { MyClass() : QObject(this) {} }; Since this is UB, add a few robustness checks to make sure the code above crashes right away (at least in debug builds). Change-Id: I6583c8514b4c1f8a90677b04c77b8e8f0c15dba3 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
* Say hello to $ make apkBogDan Vatra2019-06-061-0/+18
| | | | | | | | | | | | | Now creating an .apk it's easier than ever. "$ make apk" is all you need to run to create an apk for your application. [ChangeLog][Android] Introduce "make apk" target, an easy way to create an apk. Change-Id: I12565e7ed32beb42da40d8ce42a52339038be950 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Android: Nuke ant supportBogDan Vatra2019-06-062-128/+10
| | | | | | | | | | | | | Ant is history for so many years, yet we forgot to remove it from androiddeployqt. [ChangeLog][Android] Remove ant support from androiddeployqt Change-Id: I093295e18e8710c565e9d101e21c49b3c62f6322 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Say hello to androidtestrunnerBogDan Vatra2019-06-066-556/+505
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | androidtestrunner is a tool needed to run qt tests on Android. Now you can run tests as simple as you run them on Linux, macOS, Windows. "$ make check" it's all you need to run tests on the default android device. ANDROID_DEVICE_SERIAL env variable can be used to use a specific android serial. Use cases: $ make -j1 check -j1 is needed to make sure we don't run multiple tests in parallel. $ ANDROID_DEVICE_SERIAL="emulator-5554" make check Run the test on "emulator-5554" $ make TESTARGS="-- -xml" check Switch to xml output. All params after -- are passed to test application. $ make TESTARGS="-- -o out.xml,xml -o out.txt,txt -o -,tap -vs" check Create two files out.xml and out.txt in the current folder and print "tap" format to stdout and enable logging of every signal emission. [ChangeLog][Android] Make it easy to run Qt tests on Android. "$ make check" is all it's needed to run a test on an Android device. Change-Id: I1a7f64b62608f7367b5a6aabf5d6c6e7e50242e6 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
* Replace QPainter::initFrom() with begin()Christian Ehrlicher2019-06-132-11/+18
| | | | | | | | | | | | | | | | | | | It's deprecated since e56401818b1aae9856a5334f530c4eda33788429 but still needed for QWidget rendering - therefore move it to QPainterPrivate. Change-Id: I35880ffa22830c2921c6675b1acf7e4ca38601db Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* QEvdev: remove m_deviceDiscovery membersMarc Mutz2019-06-138-24/+16
| | | | | | | | | | | | | | | | | | | They were never referenced outside the classes' ctor and, worse, remained uninitialized if the specification string contained devices. Change-Id: I977a156acf10190428da00fe128fee70cff8f98d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QEvdev: Extract Method parseSpecification()Marc Mutz2019-06-137-56/+174
| | | | | | | | | | | | | | | | | | | | | | | | | All four manager classes contained roughly the same code in their ctors that parsed out devices from a colon-separated string. Extract shared code, and port the parsing to QStringRef (later to be ported to QStringView). Saves ~2.4KiB on optimized Linux GCC 9.1 AMD64 builds across all .so's that link to libQtInputSupport.a. Change-Id: I3db826ee2b422cfc02f8d49bd21985a03b6c0935 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QMimeType: towards re-entrancy: do not cache iconName made from mimetype nameMarc Mutz2019-06-161-6/+9
| | | | | | | | | | | | To not write into a shared object without mutex protection. If the stored icon name is empty, just calculate a new one on each call. Task-number: QTBUG-45684 Change-Id: I01dfb6697b5275e69451da91fdc7346f40bc424e Reviewed-by: David Faure <david.faure@kdab.com>
* QEvdev: Replace manual memory management with unique_ptrMarc Mutz2019-06-1214-58/+145
| | | | | | | | | | | | | | | | | | | | | | | | | | Make create() return, and m_mice/m_keyboards/etc store, handlers by unique_ptr. In most cases, we can't use qt_make_unique(), since the ctor we're calling is marked as private. Since QHash can't hold move-only types, use a std::vector<{QString, unique_ptr}> instead. As this pattern repeats in all four QEvdev*Manager classes, create a small class template. Saves almost 6KiB on optimized Linux AMD64 GCC 9.1 builds across all .so's that link to QtInputSupport.a. Change-Id: I8f62b6b629d6e1855314c0a4fb4fc069db9ae0ce Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* QMimeType: make deep const breakages explicitMarc Mutz2019-06-161-9/+10
| | | | | | | | | | | | | QExplicitlySharedDataPointer is propagating const in my tree, and I will be proposing this for inclusion into Qt 6, so proactively fix the breakage here. QMimeType is known to be non-reentrant (QTBUG-45684), and this patch doesn't fix it. Change-Id: If68b148c44439d76ab1d95e8db93b90d12650e51 Reviewed-by: David Faure <david.faure@kdab.com>
* QGradient: add a last-enum enumerator to the presetsGiuseppe D'Angelo2019-06-141-0/+2
| | | | | | | | | | | It's needed to prepare qtdeclarative for the upcoming patch that won't make QGradient accept illegal presets any more. Change-Id: I4ca929e75214ebe24c7d762d0c37ca254c640c57 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* AtSpiAdaptor: eradicate remaining Q_FOREACH loopsMarc Mutz2019-06-131-5/+4
| | | | | | | | | | | | | | | | | ... and replace them by C++11 range-for loops. Change-Id: I6975121f606ec1fcda7a624b02a68edf829bb70b Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* QEvdev: Extract Method updateDeviceCount()Marc Mutz2019-06-116-12/+29
| | | | | | | | | | | | | | | | | | | The code is noisy and repeats, so wrap it in a function. Change-Id: I5e6e924e22b0bc631eb8176de96c49066b1c9029 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* QUrl: replace manual memory management of QUrlPrivate::Error with unique_ptrMarc Mutz2019-06-121-11/+8
| | | | | | | | | | | | | | | | | | | Change-Id: I837866dbeff4b3f4ba4eb5b564041fecbd59e70e Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QMessagePattern: replace manual memory handling with std::unique_ptrMarc Mutz2019-06-131-25/+12
| | | | | | | | | | | | | | | | | | | | | | | | Dealing with 'tokens' is straight-forward. With 'literals', it is not quite so straight-forward, because the ownership chain here is two levels deep. But it's still worthwhile, because it replaces quite error-prone code with code which may be a bit more verbose, but is totally safe. As a drive-by, moved initialization of the fromEnvironment member to the body of the ctor in order to avoid code-churn (I needed to touch the ctor-init-list anyway). The QMessagePattern dtor is now empty and consequently defaulted. Change-Id: Iadb25e7aba1c5a94fd9068be7ae03f17e975328b Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QFuture: Wait for result on iterator advanceMorten Johan Sørvig2019-05-132-18/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Wait for the result at the target index if the future is running and the iterator index is past the current result count. Determine if there is a result at the target index after waitForResult() returns, and return -1/end if not. Also support decrementing the end iterator. In this case wait for the future to finish in order to get the final result count. Task-number: QTBUG-59811 Change-Id: I8fcc711bab2e72c3c5196a55b794d25e18bb324d Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* constify, and micro-optimize not detachingAndreas Hartmetz2019-06-101-2/+2
| | | | | | | | | | | Change-Id: I08c3c35e27a2b5e816a1532d0bd7cc09459800ab Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Merge "Merge remote-tracking branch 'origin/5.13' into dev"Liang Qi2019-06-14130-4566/+7012
|\
| * Merge remote-tracking branch 'origin/5.13' into devLiang Qi2019-06-14130-4566/+7012
|/| | | | | | | | | | | | | | | | | | | Conflicts: qmake/generators/makefile.cpp qmake/generators/unix/unixmake2.cpp src/corelib/thread/qthread_unix.cpp tests/auto/corelib/tools/qsharedpointer/tst_qsharedpointer.cpp Change-Id: I1df0d4ba20685de7f9300bf07458c13376493408
| * Merge "Merge remote-tracking branch 'origin/5.12' into 5.13"Qt Forward Merge Bot2019-06-145-6/+10
| |\
| | * Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-06-145-6/+10
| |/| | | | | | | | | | Change-Id: I53a50669face6f68ddc046fd2102de8c1f888b4b
| | * Android: Fix build with NDKr20BogDan Vatra2019-06-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In NDK r20 clang adds -lc++ library automatically which leads to link fails. [ChangeLog][Android] Fix NDK r20 linking. Task-number: QTBUG-76293 Change-Id: I6675180a3555d1ad9047d7a9ce1c03333cf0ab35 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
| | * Windows: Call ReleaseDC for the private's displayContextAndy Shaw2019-04-101-0/+2
| | | | | | | | | | | | | | | Change-Id: Ib5ee1bbe9037ceb13562eadb754c2a5f095b7f87 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * Add neglected connect()s to Q{Date,Time}Edit constructorsEdward Welbourne2019-06-111-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Pointed out by Daniel Teske. This amends commit c3e1abad4e141e6e9d876e5cff194c473a2654eb. Change-Id: Ia6c6f41bf28e846152f9f86322f20a1b99e57201 Reviewed-by: David Faure <david.faure@kdab.com>
| | * Don't count all engines as "in use" in cacheEskil Abrahamsen Blomfeldt2019-06-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Back in 36cb3f3f655a9090c82de609010cbfb88651a0f3, we started properly reference counting font engines as they were entered into the font cache. Prior to this, ref.load == 0 would mean that the engine was essentially owned by the cache. When the change was made, the condition that an engine must be in use if its reference is != 0 remained, and the result of this was used to calculate the limit for when the cache should be flushed. Since this limit was miscalculated, the cache would keep growing, even if it only contained unused font engines. [ChangeLog][QtGui][Text] Fixed a bug which could cause the font cache to grow larger than it was supposed to. Task-number: QTBUG-76219 Change-Id: I4d1541756f3bdf5bd9b0301bf47c6db2e220716a Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
| | * Doc: Fix typos in QDateTime docsTopi Reinio2019-06-071-2/+2
| | | | | | | | | | | | | | | | | | | | | Change-Id: Ibff4555cbd1e980333acd88c697021b4a74998a8 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| * | wasm: handle mouse events even when not over a windowLorn Potter2019-05-301-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the mouse button is held and mouse moves from over the window, that window would never register the button up event, and cause issue like being able to move a dialog around by simply moving the mouse around. Change-Id: I1363ac9c9f4113a79bf6863668ba74b90b1cea4a Fixes: QTBUG-75951 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| * | doc: Fix tr() documentation issueMartin Smith2019-06-132-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The declaration of tr() in the Q_OBJECT macro interferes with the tr() declaration in the QObject class. This update fixes that bug by resetting QT_TR_FUNCTIONS to be empty and by ensuring that the tr() declaration in class QObject is seen by clang when qdoc is running. Change-Id: If55339fc417f3eee1a1e1ce3df75a18af443d630 Task-number: QTBUG-75864 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| * | wasm: fix crash in case network js event becomes null or undefinedLorn Potter2019-05-271-10/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | also fix data progress Task-number: QTBUG-75489 Change-Id: I5222fda64d258a6ae78ba0ca20194b81c289c27e Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| * | Fix printing of table headers in multi-frame QTextDocumentsEirik Aavitsland2019-04-111-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The calculation of page position of table headers would only work correctly for tables in the root frame of a QTextDocument. Fix by including the relative positions of subframes. Fixes: QTBUG-59000 Change-Id: I2cc7e21bddf806f7f5f9b0675ac014c339ba2453 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| * | Merge "Merge remote-tracking branch 'origin/5.13.0' into 5.13"Liang Qi2019-06-1135-3938/+5494
| |\ \
| | * | Merge remote-tracking branch 'origin/5.13.0' into 5.13Liang Qi2019-06-1135-3938/+5494
| |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/wasm/qwasmintegration.cpp src/plugins/platforms/wasm/qwasmintegration.h Change-Id: Idf4c7936513fb1f21daa8f6105b8545f13447bb8
| | * | Doc: Add Q_OS_WASM documentationPaul Wicking2019-06-071-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: QTBUG-76264 Change-Id: Ie167a64e0c84375012e8b1056eaae2243b09bf5d Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
| | * | Update SQLite to 3.28.0v5.13.0-rc2Andy Shaw2019-06-054-3846/+4910
| | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][Third-Party Code] Updated bundled SQLite to version 3.28.0 Change-Id: If2a893c1dd5d5f97032a0a9b1f7ff78b9e715038 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
| | * | tst_qnetworkreply - QSKIP/disable tests that deadlock on WindowsTimur Pocheptsov2019-06-041-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We use global object to store errors found by q_X509Callback. Thus, we also use a lock/mutex. It would appear all tests involving in-process server and QNAM are prone to intermittent failures on our Windows VMs - it's always about timeouts due to the client socket (QNAM) locking and the server socket blocking main thread while trying to acquire the same lock. The real fix is to re-write our verification callback so that it does not need locking/does not block the main and 'http' threads as a result. But such change is too dangerous for 5.13.0 so we instead have a somewhat handicapped/reduced test on Windows. The fixed QSSlSocket will go into 5.13. Task-number: QTBUG-76157 Change-Id: Ia54701bcb3f6f079a69e52c8904ac3efcee4a787 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
| | * | Update documentation regarding import/export restrictions for OpenSSLVolker Hilsheimer2019-06-041-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From Qt 5.12.5 and 5.13.0 on we ship OpenSSL 1.1.x libraries with Qt through the binary installers, as Qt is a general purpose toolkit and as such not subject to import/export restrictions. However, application developers still have to take care of the relevant requirements and compliance before distributing OpenSSL. Change-Id: I1c3622116eadda270d638becfa23a5493976e919 Fixes: QTBUG-75814 Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Akseli Salovaara <akseli.salovaara@qt.io>
| | * | Add changes file for Qt 5.13.0v5.13.0-rc1v5.13.0-beta4Antti Kokko2019-05-201-0/+301
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Edited-By: Thiago Macieira <thiago.macieira@intel.com> Change-Id: I9d681de1716965342fb1635c8d018dde22fe2c98 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | Fix QMAKE_PRL_INSTALL_REPLACE for macOSJoerg Bornemann2019-05-221-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The regular expression with the alternative is not portable. Use a separate QMAKE_PRL_INSTALL_REPLACE item. This amends commit f00de33. Fixes: QTBUG-75950 Change-Id: I78e172053f8b05be7d595a1c9e1695ea658b0547 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| | * | Replace absolute Qt lib dir in .prl filesJoerg Bornemann2019-05-201-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the case of building a Qt module repository against an installed qtbase the .prl files contain absolute paths to Qt dependencies e.g. '/install-prefix/lib/libQt5Core.so'. Those must be replaced with $$[QT_INSTALL_PREFIX]. The .prl replacement code however only takes $$MODULE_BASE_OUTDIR/lib into account. Fixes: QTBUG-75804 Change-Id: I5ea5623ca7396b672fded3f1b9434b9ad5ed12ec Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| | * | QComboBox: add QT_DEPRECATED_X() for deprecated functionsChristian Ehrlicher2019-05-093-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QT_DEPRECATED_X() was not added with d6d33f0b80dd85043c71f71a3ed5485d6014e6c4 for the deprecated QComboBox functions - Add them now. Change-Id: I8d4ea08766ae6ff052dfccac6c3f35ecf34affb7 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| | * | Revert "macOS: disable threaded OpenGL (unconditionally)"Eskil Abrahamsen Blomfeldt2019-05-141-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit fc3e8514144535db22c431251bc0feea99cf72e2. The patch introduces a crash in Qt Quick in the test tst_QQuickWindow::multipleWindows() on macOS 10.12. Reverting this will cause dead locks on older macOS versions for users who opt in to using layer backed mode, so we should bring this back as soon as a fix can be found for the crash. But in order to proceed with qt5.git integration, we revert it for now. Task-number: QTBUG-75782 Change-Id: I57f6b2918c3fc4b4e58a8c39b24a19e2d796a4f4 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | * | QOpenGLWindow: set QOffScreenSurface screenMorten Johan Sørvig2019-05-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Required by QWasmOpenGLContext. Task-number: QTBUG-75463 Change-Id: Ie3cb80b50d7c909e6f46a6dec19644bf27cd41e7 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
| | * | wasm: rewrite/simplify OpenglContextMorten Johan Sørvig2019-05-142-35/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don’t need the contextLost callback since we can poll for the “lost” status in isValid() Recreating the native context is not very helpful, since it destroys all current context state. Remove this logic. Support makeCurrent() on different surfaces, as long as they refer to the same screen. Create the native context (and record which screen) on the first call to makeCurrent() Task-number: QTBUG-75463 Change-Id: I6eb830df14578ffdbed5b0505fe860ce433e4f9b Reviewed-by: Lorn Potter <lorn.potter@gmail.com>