summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Make qWaitForWindowActive more robust"Ville Voutilainen2018-03-071-2/+2
| | | | | | | | | | | | This reverts commit 2eec3272c78a3af1e362906654aa6d50b33a4c50. The change to qWaitForWindowActive causes regressions in qtdeclarative, so we need a better fix for the problems we have with window waiting. Task-number: QTBUG-66866 Change-Id: I8300dabc870d6aeaa9ba6bfcf3d64146b13c1955 Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Windows QPA: Fix scaling of tablet coordinates for High DPI scalingFriedemann Kleint2018-03-073-2/+16
| | | | | | | | | | Determine the virtual desktop geometry in native pixels from the QPlatformScreen siblings. Use the platform window to determine the local position. Task-number: QTBUG-36937 Change-Id: Ic250f1b41d8e74099558796112dbd70a7e1f6956 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Windows QPA: Fix sending of the mouse release in case of a DropFriedemann Kleint2018-03-071-1/+2
| | | | | | | | | | | | Use the new API of QWindowSystemInterface to send the release event which does not depend on the state of QGuiApplicationPrivate::mouse_buttons. Amends 1f6bd8bfb2206480ca5b5c267da38659e6cff20e. Task-number: QTBUG-66447 Change-Id: Iae889ea416b633c9307da9535dfb51ad1dbf288e Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* QHeaderView: fix inconsistent saved state, ignored during restoreDavid Faure2018-03-072-1/+58
| | | | | | | | | | | | | | The code that updates a section size must also update length, otherwise saveState can end up saving inconsistent state, and restoreState() goes to an early-return, not doing anything. The actual bug was fixed meanwhile because _q_sectionsChanged is called again, which recalculates length. I still see this only as a safety measure, every other code path that changes section sizes updates length right away. Change-Id: I6cc16261692d93b3640afafef600a5bdff8dca0c Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* Check for WindowActivation capability instead of platformJohan Klokkhammer Helsing2018-03-063-13/+14
| | | | | | | | | | | Before running tests that depend on QWindow::requestActivate Gets rid of several Wayland platform checks in tst_QWindow. Change-Id: I7a5e029044a968dfcf87ecbb5105c01d52852d35 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* Make platform checks for Wayland more readableJohan Klokkhammer Helsing2018-03-061-5/+10
| | | | | | | | And make it easier to fix if platformName == wayland-egl etc. Change-Id: Ia2d62ba003796e08f3e8a5bbfd0c3fd9d185e4e0 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Skip failing tests in tst_QWindow on WaylandJohan Klokkhammer Helsing2018-03-061-0/+6
| | | | | | Task-number: QTBUG-66824 Change-Id: I33b826c2a373b264cc9b66444c52070eac1cdd5c Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* cocoa: add qCDebug in QNSview::scrollWheelShawn Rutledge2018-03-061-0/+1
| | | | | | | | | If you enable both qt.qpa.input.touch and qt.qpa.cocoa.mouse you can see the order and interleaving of the touch and scroll events. Task-number: QBUG-66329 Change-Id: I8e1a63e2958b85f7964bb597e49cf8529cb3f32e Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* uic: Add the include for QIcon conditionallyJarek Kobus2018-03-067-7/+14
| | | | | | Task-number: QTBUG-66753 Change-Id: I31bd821396b59c8e83e19e02634cf1440a271215 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Android: add option `-mstackrealign` to clang-x86 mkspecVyacheslav Koscheev2018-03-061-1/+1
| | | | | | | Task-number: QTBUG-66770 Change-Id: I5e8ced0fa60c67d7908f21e5c486fea0d7a50004 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* Doc: Update example Embedded DialogsNico Vertriest2018-03-051-8/+8
| | | | | | | | Changed old signal/slot syntax to new version Task-number: QTBUG-60635 Change-Id: I7cbe8851d321b7632a08c098b69a96cc346d5f83 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Add WFD_DEVICE_CLIENT_TYPE attribute for INTEGRITY S820Am ADPKimmo Ollila2018-03-052-6/+20
| | | | | | | | | | | | | This is needed to be compatible with latest Qualcomm BSP releases. This patch also makes it possible to select HW layer via QT_OPENWFD_CLIENT_ID and QT_OPENWFD_PIPELINE_ID environment variables. Change-Id: Ie795b21afc61a1de7c1d0b52cdb30a754e3f8266 Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io> Reviewed-by: Timo Aarnipuro <timo.aarnipuro@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> (cherry picked from commit 00f693d3e5046999270c92731e34a3e7fcd01c6b) Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Document QFont::PreferNoShaping as being since 5.10Sergio Martins2018-03-051-1/+1
| | | | | | | "since format" copied from QEvent's documentation. Change-Id: Ib11609cd11f9cb9906d947f46c2cd61c7abd853a Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Make tst_QWindow::generatedMouseMove pass on WaylandJohan Klokkhammer Helsing2018-03-051-1/+1
| | | | | | | | By using qWaitForWindowExposed instead of qWaitForWindowActivated. Task-number: QTBUG-66824 Change-Id: Idf604157070731d9c92ccf64d8349c8571960b7c Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Don't skip tst_QWindow::windowModality_QTBUG27039 on WaylandJohan Klokkhammer Helsing2018-03-051-3/+0
| | | | | | | | The test actually passes, so there's no need to skip it. Task-number: QTBUG-66824 Change-Id: Id091776ff7ca7637fdcf0e0ced833982b5788d92 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Fix docs of QTextDocument::find with regards to default case sensitivitySimon Hausmann2018-03-051-3/+3
| | | | | | | | | | The default value for a default constructed FindFlags QFlag is zero and FindCaseSensitively is 0x2. Therefore the default behavior for find() is case insensitive. Change-Id: Id3419c3562fc6170fdb281098a22dd8205603847 Task-number: QTBUG-62660 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Remove unused variableAndré Klitzing2018-03-051-1/+0
| | | | | | | Found by spotbugs. Change-Id: I0aa81e45ced0a995adb5e4a45be925e5ef219a77 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Blacklist tst_QWindow::modalWindowEnterEventOnHide_QTBUG35109 on windows ciLiang Qi2018-03-051-0/+1
| | | | | | | Task-number: QTBUG-66756 Change-Id: I5a00625b73085a9ac2471b03bcc21db4b9a98962 Reviewed-by: Kari Oikarinen <kari.oikarinen@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Blacklist tst_QGraphicsView::itemsInRect_cosmeticAdjust on UbuntuKari Oikarinen2018-03-051-0/+3
| | | | | | | | | Has been flaky in CI. Task-number: QTBUG-66815 Task-number: QTBUG-66216 Change-Id: I2c3eb42507eae618486aa402474b4b3f85ff310e Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* moc: Don't error our when parsing "using namespace __identifier(...)"Andy Shaw2018-03-052-0/+4
| | | | | | | | | | This follows on from a2322519929bd36a90422dccc0310b8230729197 which covered a similar instance of this. As with that change, we should not abort the compilation, just ignore it. Task-number: QTBUG-63772 Change-Id: Ide958080a90f43ed19edd8a320e7d45de1c96821 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* QHeaderView: make use of LayoutChangeHint in _q_sectionsChanged()Christian Ehrlicher2018-03-043-22/+61
| | | | | | | | | When _q_sectionsChanged() is called from e.g. QSortFilterProxyModel the LayoutChangeHint is set which can be used to avoid useless work in this function. Change-Id: I034db3fcc7a5f9ea7ebc0fa3ffd7429edb154eb7 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* QHeaderView: fix indentation in setModel() and clear()Christian Ehrlicher2018-03-031-37/+37
| | | | | | | | | The indentation of large code blocks in setModel() and clear() are not correct. Needed for another change to avoid whitespace changeds in there. Change-Id: I620c8c5e83e98747f5c17469738722cf976fb467 Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* Avoid infinite recursive loopAndré Klitzing2018-03-031-1/+1
| | | | | | | | Looks like this should be "super." instead of "super_" Found by spotbugs. Change-Id: I83d096eee332361d62e783581bfa15017536081d Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* QLocale: Update the system private on QLocale default constructor if neededAlbert Astals Cid2018-03-022-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When first starting an Android app we have invocation order issue, to load the platform plugin we create the default QLocale (needed by the resource locator code to see if :/qt/etc/qt.conf exists) so when the android platform plugin loads and creates its own QSystemLocale, the QLocale defaultLocalePrivate is already created and pointing to globalLocaleData which means that systemData won't be called and thus the code that triggers the call to QLocalePrivate::updateSystemPrivate won't be called when calling QLocale(). I thought of two ways of fixing this, one was calling QLocalePrivate::updateSystemPrivatea() from the QAndroidSystemLocale constructor, but giving the responsibility to not break things to the plugin seems a little fragile, so making the check on QLocale() seems better. Without this patch an Android app doing QApplication app(argc, argv); qDebug() << QLocale().name(); qDebug() << QLocale().name(); qDebug() << QLocale::system().name(); qDebug() << QLocale().name(); would print "" "" "ca_ES" "ca_ES" now it correctly prints "ca_ES" the four times. Task-number: QTBUG-41385 Change-Id: I2cf419f59aa008fa3aca11295fe7d42c40bcc32e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Blacklist tst_QWindow::testInputEvents on WindowsKari Oikarinen2018-03-021-0/+2
| | | | | | | | | | Multiple recent failures on Windows 10. Task-number: QTBUG-66798 Task-number: QTBUG-66216 Change-Id: I9d23d0381dbe62eb5469863f14e1a05548ce7dfa Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* QTestlib/selftests: Fix failures due to logging system outputFriedemann Kleint2018-03-021-0/+1
| | | | | | | | | Silence debug output by setting QT_LOGGING_RULES to turn off all debug output. Task-number: QTQAINFRA-1631 Change-Id: I5c2366b4fe4bac341dcfd92f68b6da8071c5b089 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Android: Close the DataOutputStream when we are finished with itAndy Shaw2018-03-021-1/+7
| | | | | | Task-number: QTBUG-66769 Change-Id: I93c49baa0ccab4f853402d9be675af1c50b2e0c1 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* qstringapisymmetry: Fix XML parsing failing on invalid encodingsFriedemann Kleint2018-03-021-4/+18
| | | | | | | | | | | | Evaluating testlib's XML output in COIN would fail with: "XML syntax error on line 7520: invalid UTF-8" for the toLatin1() tests due to some Latin1/UTF8 mixup. Add a helper function to convert the data to plain ASCII. Task-number: QTQAINFRA-1797 Change-Id: I1c64878d4c2a67b8c2689905b5ffe6707b5963c1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Blacklist tst_QApplication::touchEventPropagation on openSUSEKari Oikarinen2018-03-021-0/+3
| | | | | | | | | | Has been flaky in CI. Task-number: QTBUG-66745 Task-number: QTBUG-66216 Change-Id: I985c67dc58704a43595a0657b06b6020fc08428a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* Remove tst_QGLThreads::textureUploadInThreadKari Oikarinen2018-03-022-134/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | The test has been crashing flakily recently. 1) It is creating a QGLWidget 2) It is stealing the QGLContext of that widget and moves it into a separate thread. 3) In that secondary thread it makes the context current. 4) Meanwhile the QGLWidget itself may receive for example a resizeEvent or other events and - since it assumes that it owns the context - attempts to make it current. 5) Attempting to call makeCurrent() on a QGLContext that is in a different thread than the current thread (via QObject thread affinity) will result in a call to qFatal() and consequently the test aborts. The conclusion from Simon Hausmann is that this test is testing a pattern from Qt4 times that may or may not have worked back then. Nowadays with the Qt5 QOpenGL* API we do support this properly and there appears little sense testing this. Therefore remove the test altogether. Task-number: QTBUG-66411 Task-number: QTBUG-66216 Change-Id: Ie2d66705bc7c3914ace6abcba9557c7c67ad4db3 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* tst_QLibrary: Ensure installation order of testdata libsKari Oikarinen2018-03-022-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This test executable was not flaky in the normal sense that when run, it sometimes passes and sometimes fails. Instead, in some builds it would fail consistently and in some builds it would pass consistently. The first test to fail was version(ok00, default to last version) which gives "mylib" as the library name and -1 as the library version. The description implies that QLibrary selects the biggest or last used version when given -1. However, versions less than 0 are not used at all. Instead the loading uses only the name to select the library. Change the description to match. So why did the test sometimes pass, sometimes fail? The test uses two library projects lib and lib2 which install two different major versions of libmylib. That includes the symbolic links: libmylib.so -> libmylib.so.1.0.0* libmylib.so.1 -> libmylib.so.1.0.0* libmylib.so.1.0 -> libmylib.so.1.0.0* libmylib.so.1.0.0* libmylib.so -> libmylib.so.2.0.0* libmylib.so.2 -> libmylib.so.2.0.0* libmylib.so.2.0 -> libmylib.so.2.0.0* libmylib.so.2.0.0* The key thing being that both set the libmylib.so symbolic link. In a multithreaded installation it's undefined which happens to set the link last. The test code expected libmylib.so to point to libmylib.so.2.0.0. Ensure that by building and installing lib2 after lib. Task-number: QTBUG-66722 Task-number: QTBUG-66216 Change-Id: Ic513c772902273049c28e43fc1d83d550aafcd23 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* JSON: remove braces from UUID text representationsThiago Macieira2018-03-022-0/+11
| | | | | | | | | [ChangeLog][QtCore][QJsonValue] fromVariant() conversion now converts from QUrl and QUuid using special encoding forms to ensure best JSON compatibility. Change-Id: I56b444f9d6274221a3b7fffd150cdc5ca1f87ff1 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* QJsonValue: use the fully-encoded form of a URL in fromVariant()Thiago Macieira2018-03-022-0/+31
| | | | | | | For compatibility with other parsers that may expect it to be so. Change-Id: I56b444f9d6274221a3b7fffd150cd66390f98fd5 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Add needsWorkaround for additional Adreno targetsHerman van Hazendonk2018-03-011-2/+6
| | | | | | | | | | | | | Seems this issue is still there with Adreno 5xx and 6xx is suspected to have it as well (no device to test though), so added both 5xx and 6xx to cover these. Updated 30x to 3xx in order to cover Adreno 320 and 330 as per https://en.wikipedia.org/wiki/Adreno. Amends 9ae028f507a22bd03c861e9d14c2efc4aa2efeda Task-number: QTBUG-66702 Change-Id: I6ce3f6499d3ff9da884be45039e5f5e0990f7e1f Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* qtestlib: fix support for pressing multiple mouse buttonsGatis Paeglis2018-03-016-29/+263
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After a37785ec7638e7485112b87dd7e767881fecc114 went in, it become apparent that multi mouse button state handling in qtestlib is non-existent, for details see QTBUG-64030 and QTBUG-63786. What happened behind the scenes often was not what one would expect based on the provided QTest::mouse* input sequence - events went missing, incorrect events were generated, each subsequent test function started with a state set from the function that run earlier. It is easy to see how a minor change in one test could easily affect outcome of other tests. With a37785ec7638e7485112b87dd7e767881fecc114, Qt platform plugins are now responsible for sending explicit mouse button type and state information; qtestlib should take full responsibility now as well. But using the new API from a37785ec7 alone in qtestlib is not sufficient. We need to reset mouse state between each new test function run (we do this at function scope as that fits with the current qtestlib API user expectations). This patch implements the necessary reseting logic. Updated tst_qwindow.cpp::generatedMouseMove() to use QTest::mouse* APIs. That test requires pressing multiple buttons, it was not possible with QTest::mouse* APIs before this patch. Added an auto test for multiple mouse button pressing/release in tests/auto/testlib/selftests/mouse/. And few other tests which are currently QSKIP-ed, but should be considered when re-designing qtestlib APIs. Task-number: QTBUG-64030 Change-Id: I39fdcbc73a467a7463ce2aed622bf22484095635 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Fix QXcbScreen::format() when rgb-swap is neededAllan Sandfeld Jensen2018-03-011-1/+3
| | | | | | | | | QXcbScreen::format() was producing console warning and returning invalid format if rgb-swap was necessary. Let it match possibly reversed formats since the backing-store will swizzle it anyway. Change-Id: I6a53cb8ceda029e9d708d25ad635832f1163ffe7 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* ToolTip/Windows: Fix wrong size when font is modified by widget stylesheetFriedemann Kleint2018-03-012-12/+62
| | | | | | | | | Factor out a function to calculate the size and update the size when a style sheet parent is set. Task-number: QTBUG-64550 Change-Id: I3afe997085eae3cd48b7fe0a4c98582a8f572260 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* Windows QPA: Fix setting the separator property on native menusFriedemann Kleint2018-03-011-0/+7
| | | | | | | | Apply the setting in QWindowsMenuItem::setIsSeparator(). Task-number: QTBUG-66642 Change-Id: I023fe88bd85ad82cfb4a80418a892dcf21853ba5 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* tst_QAbstractItemView: Wrap qWaitForWindowActive in QVERIFYKari Oikarinen2018-03-011-4/+3
| | | | | | | | | | | | | Return value of qWaitForWindowActive should be checked as it is marked Q_REQUIRED_RESULT. One of the calls was failing, so remove it and wait for the next condition instead. Amends d0dffdfc012574da4a75241097b667d09bb39ba2. Change-Id: I0c0b2bf11504730477158a5e1fb3018f359a6fb9 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* tst_QLocalSocket: Fix not showing error output in processConnectionKari Oikarinen2018-03-011-0/+2
| | | | | | | | | | The stdout of the processes used in the test was dumped if there was an error, but the processes write their error messages to stderr. Use MergedChannels process channel mode to dump both output streams. Change-Id: I1645fd31c394da0871ee6ae36d37ca9a04d86052 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Find PCRE2 via pkgconfigR.J.V. Bertin2018-03-011-0/+1
| | | | | | | | | | | This avoids issues when using dependencies installed in a custom or dedicated $prefix, when PCRE2 is configured to install its headers in their own directory under instead of directly in $prefix/include. Task-number: QTBUG-66355 Change-Id: Ia99464820600282d61237e5bcff38101d2c9684b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* QHeaderView: Fix crash in layout about to changeThorbjørn Lund Martsum2018-03-012-2/+5
| | | | | | | | | Before there was a risk looking up e.g index -1 if there were no visible sections in layoutAboutToChange. Change-Id: Ic911e4292e8e8c4892fef1c0f34cf7dccaad2bac Task-number: QTBUG-65478 Reviewed-by: David Faure <david.faure@kdab.com>
* windowsuiautomation: Lowercase windows header includesMartin Storsjö2018-03-012-2/+2
| | | | | | | | | This fixes cross compilation with mingw from a case sensitive filesystem. Change-Id: I0f5ba708b7138cae325ff564559d3e40eba4e714 Reviewed-by: Andre de la Rocha <andre.rocha@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* QHeaderView: skip dividing by 1, rather pointlessDavid Faure2018-02-281-1/+1
| | | | | Change-Id: I9a63810475d1f17d65e91c1f4d805a7e564ba686 Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* QMimeDatabase: fix regression in alias resolvingDavid Faure2018-02-282-2/+27
| | | | | | | | | | | | The refactoring to support multiple providers broke alias resolving (e.g. "text/directory" would be an invalid mimetype, instead of being resolved to "text/vcard"). The unittest didn't catch it because most of it was running with a single mime directory (and therefore a single provider, in the new model). Fixed by re-running a number of test methods once we have a second mime directory. Change-Id: Ib5da89ba79c11ed41813b2aff4bc71c30afcde7d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* syncqt: remove 'descend' parameter from findFiles()Oswald Buddenhagen2018-02-281-11/+5
| | | | | | | | that parameter is never set, and if it was, it wouldn't work: the recursively found files were not qualified with the subdirectory. Change-Id: I24a3f74de3545c19bcd175c24ad1daf2af77a720 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* syncqt: fix fallback of -builddirOswald Buddenhagen2018-02-281-3/+5
| | | | | | | | | | | | | | | | | it needs to fall back to -outdir if only the latter is specified, as otherwise funny things will happen. this didn't affect the calls in qt_module_headers.prf (both options used) and the unix configure script (neither option used), but it affected configure.bat, and possible callers outside qt's build system, which apparently includes our packaging scripts. amends ede6c44756. Task-number: QTBUG-66626 Change-Id: I08633033c04152616545501490c9b3fb939cab6c Reviewed-by: Lionel CHAZALLON <longchair@hotmail.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Update the Unicode BiDi algorithm to be compliant with Unicode 10Lars Knoll2018-02-287-535/+595231
| | | | | | | | | | | | | | | | The UBA in Qt was out of date, implementing the spec from pre Unicode 6.3 days. It missed handling of directional isolates and paired brackets. This adds a completely new implementation of the UBA, that is compliant with Unicode 10. Added the test data from Unicode 10 to the qcomplextext auto test and ensure that we pass the test suite. Task-number: QTBUG-57743 Change-Id: Ie2d957bc9775d82f0a51d1c78dc6bd154f22847c Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix ligature handling in QTextLine::cursorToX()Lars Knoll2018-02-281-1/+2
| | | | | | | | | | If the script item is rtl, we need to subtract the offset inside the ligature again, as the full width of the ligature would have already been added in the loop before. Change-Id: I544ac6fa19484b35335767e1ba1befc3dfa07693 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* macOS: Warn the user when KVO-observing QCocoaNSWindowTor Arne Vestbø2018-02-281-0/+5
| | | | | | | | | | | | | | | | | | | We recreate the window of our QNSView in various situation such as changing the styleMask, which results in either a new QNSwindow or QNSpanel being set as the window of the view. KVO-observing the window property of the view will fail we then have a new window instance, and will crash when trying to remove the observer from the new window. Unfortunately catching the NSRangeException that happens when removing an observer from a 'switched' window is not possible, so the user is left with: Terminating app due to uncaught exception 'NSRangeException', reason: Cannot remove an observer <Foo 0xabc> for the key path "bar" from <QNSPanel 0xdef> because it is not registered as an observer. Change-Id: Ib2adbb99f19303a054fb1eb65e959aecd32b1162 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>