summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix build without features.actionTasuku Suzuki2019-07-062-1/+2
| | | | | Change-Id: Ia776cdcb36d07bb89f39c631029458adf2187d90 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* tst_QTcpSocket::hostNotFound Only expect failure for the http proxyMårten Nordheim2019-07-051-1/+2
| | | | | | | | | | When I added the QEXPECT_FAIL the http proxy was the only one. That's no longer true after fixing the SOCKS proxy, so let's make the condition more specific. Change-Id: I1eaa5117d5d0219e04cbd091ec54e522fe7b5509 Reviewed-by: Dimitrios Apostolou <dimitrios.apostolou@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Remove usages of QSysInfo's deprecated APIsSona Kurazyan2019-07-0512-12/+29
| | | | | | | | | | | | - Replaced QOperatingSystemVersion::WindowsVersion, QSysInfo::windowsVersion(), QSysInfo::macVersion(), QSysInfo::MacintoshVersion with QOperatingSystemVersion::current(). - Added QOperatingSystemVersion::WindowsVista for convenience, as it is used in lots of places. Change-Id: If9c4ac496005b2e70b5c70be160747afa74b98c1 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Remove usages of deprecated APIs of corelibSona Kurazyan2019-07-0520-71/+498
| | | | | | | | | | | | | | | | | | - Replaced the usages of deprecated APIs of corelib by corresponding alternatives in the library code and documentation. - Modified the tests to make them build when deprecated APIs disabled: * Made the the parts of the tests testing the deprecated APIs to be compiled conditionally, only when the corresponding methods are enabled. * If the test-case tests only the deprecated API, but not the corresponding replacement, added tests for the replacement. Task-number: QTBUG-76491 Task-number: QTBUG-76539 Task-number: QTBUG-76541 Change-Id: I62ed4a5b530a965ec3f6502c6480808f938921aa Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Initialize variables to make coverity happyLars Knoll2019-07-051-3/+3
| | | | | Change-Id: Id574a114cbed04927ae380c6d97027cf4b351032 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix qFindTestData() to work with relative resource pathsJan Arve Sæther2019-07-051-1/+1
| | | | | | | | | | | If the resource path 'base' was relative it would enter condition 3) in qFindTestData() and it would actually find the nonsensical "://data" as a viable candidate. We don't want to enter that case, but rather enter the subsequent ('Try resources') case Change-Id: I1928ba02c941e23fee4fec9052a1981e46fa59b7 Task-number: QTBUG-73512 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Do not access invalid QAccessibleInterfaceJan Arve Sæther2019-07-051-1/+1
| | | | | | | Noticed this when running Qt Creator against dev Change-Id: Ie75b2e0f2a77033ce0455d7ee3304193aa6e511c Reviewed-by: André de la Rocha <andre.rocha@qt.io>
* Fix build without feature.xmlstreamreaderTasuku Suzuki2019-07-053-37/+50
| | | | | | | | | | | | | This commit introduces a new feature called vkgen for the tool which depends on xmlstreamreader. Note that when features.vkgen is disabled, vulkan.pri will generate dummy qvulkanfunctions.h and qvulkanfunctions_p.h because buildsystem needs them. Task-number: QTBUG-76159 Change-Id: I03d526a0fd76a2d8b531940f37538cead109d9d3 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Fix build without features.inotifyTasuku Suzuki2019-07-051-1/+1
| | | | | | | -no-feature-inotify was ignored on Linux Change-Id: I65bab5b31740f10eacea6735119702a79df5c263 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Testlib: Reset the global benchmark data only if it matchesUlf Hermann2019-07-041-1/+2
| | | | | | | | | | | | | | You can create multiple instances of QBenchmarkGlobalData as the ctor is public. The qmltest plugin does create a static one, but only conditionally assigns it to the singleton pointer. On shutdown the plugin is removed and the QBenchmarkGlobalData::current should only be reset by the dtor if it's actually pointing to the same object. Change-Id: I616c1ccf6f7a00abf1de342094da88481510bc7b Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* QSet docs: don't use std::find for lookupsGiuseppe D'Angelo2019-07-041-4/+6
| | | | | | | | | | | | | | | | That code would normally call for QSet::find instead (Uniform Container Find cannot come soon enough). Since the code is showcasing a STL algorithm usage, port it to std::find_if to showcase a real use case. As a drive-by: fix the usage of endl with std::cout. (Ok, it's just a variable called "cout", and I'd argue that in example code "cout" is not the name of a QTextStream). Change-Id: I8686178b33c31552eb4d909a4089453d60994b79 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* QApplication::topLevelWidgets(): Avoid allocation of listFriedemann Kleint2019-07-041-6/+9
| | | | | | | | | Use the QSet QWidgetPrivate::allWidgets directly instead of calling QApplication::allWidgets(), which allocates a QList. Change-Id: I16d289030cecefae7811d4b2c94f865f46f700d5 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Fix build without features.cursorTasuku Suzuki2019-07-042-0/+6
| | | | | Change-Id: Id7617e03f86a4dd7d1ada37c91cf792bca7f1d6d Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Use QRegularExpression for filtering in QDirIteratorLars Knoll2019-07-031-10/+28
| | | | | | | | | | | | | Reduce our usage of QRegExp in preparation towards deprecating it. This also brings it in line with QDir that already uses QRegularExpression for filtering. Keep the old QRegExp based code around in bootstrapped mode, since qmake uses this functionality. Change-Id: I98b9d2875c30e17e406b6711dfe3265ba37624ac Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
* dumpcpp: Run dumpcpp if the generated files do not exist at qmake timeAndy Shaw2019-07-031-8/+8
| | | | | | | | | | | | | | | | | | | | | By running dumpcpp if the files do not exist at qmake time we enable the dependency finder to find these files and set up the dependencies as appropriate. Since other changes ensure that dumpcpp will be called at the right time when building if the typelib changes, we no longer need to have the generated files dependent on the objects. As a result, we are able to prevent it from unnecessarily rebuilding everything if certain files are updated. Change-Id: I334f48c7a980aa8b893c14cb2a4687d3b2b7a4b9 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* qtlite: Fix build with -no-feature-commandlineparserMikhail Svetkin2019-07-034-0/+10
| | | | | | | Change-Id: Ie7b7b119073691c0d3b6358f876298fc86cfe9e9 Reviewed-by: Tasuku Suzuki <tasuku.suzuki@qbc.io> Reviewed-by: Timo Aarnipuro <timo.aarnipuro@qt.io> Reviewed-by: Kari Oikarinen <kari.oikarinen@qt.io>
* Add QT_NO_JAVA_STYLE_ITERATORS and mark QtBase free of itMarc Mutz2019-07-0310-0/+26
| | | | | | | | | | ... except for tests, which manually undefine the macro. Like QT_NO_FOREACH, this is a technical way to keep JSI-free modules JSI-free going forward. Change-Id: Icf1342da00a700f42f9e32a253d1cdb94c38dd7e Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QFseventsFileSystemWatcherEngine: port some Java-style iterators to ranged-forMarc Mutz2019-07-031-15/+15
| | | | | | | | | | | | | | | | | | | | | | Amends b03385f9cff7acc2b37933f493e3eff2d8bbef59. Java-style iterators are scheduled to be deprecated. The general pattern used in the patch is that instead of copying an input list, then iterating over the copy with some calls to it.remove() (which leads to quadratic-complexity loops), we simply copy conditionally (a la remove_copy_if instead of remove_if). To make clearer what's going on, rename the outgoing list to 'unhandled'. To avoid having to touch too much of the loops' structure, which sometimes is quite convoluted, use qScopeGuard to do the append to 'unhandled', unless the original code removed the element. Change-Id: I808a939b9c816b329ee87620e0a3461fee6e3e40 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Fix a warning treated as error - 'importDevice not used'Timur Pocheptsov2019-07-031-0/+1
| | | | | Change-Id: Id48ff52d6532cf3585648addd498cdddccbcb994 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Optimize QSet set operationsMarc Mutz2019-07-031-16/+9
| | | | | | | | | | | Replace the identity check with a check for the underlying QHash objects being shared and replace backwards iteration, which is really forwards iteration with wrapping at bucket boundaries, with forward iteration. QSet cannot contain duplicates, so the order in which the RHS elements are presented to the algorithms does not matter. Change-Id: Iad8528e3a9501b14cb85601b221a848aad91480c Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QtWidgets: Fix wrong screen returned by newly added ↵Friedemann Kleint2019-07-031-2/+4
| | | | | | | | | | | | | | | QWidgetPrivate::associatedScreen() QWidgetPrivate::windowHandle() should not return nullptr from the WindowHandleMode::Direct branch in case WindowHandleMode::Closest was passed. Ameds eed9a8fbd300dafb2802b6c09c018fbda4e13ef1. Task-number: QTBUG-62094 Task-number: QTBUG-73231 Change-Id: Ia55fff15f0a499cef9525e53111ddd55b2e012d0 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Fix 'make check' for android-mingw32Jan Arve Sæther2019-07-031-1/+1
| | | | | | | | | | | | | | | | | | | g_options.buildPath did not have native separators. This caused INSTALL_ROOT to not have native path separators, which again made 'mingw32-make check' fail to deploy the .apk. (The actual failure was that mkdir failed because it did not accept paths with forward-slashes, so the install_target rule failed. For the record, the command of that rule had the following call to mkdir: mkdir $(INSTALL_ROOT:@msyshack@%=%)\libs\x86 Change-Id: Id792c36986b52a527546d48aa9f7d9587e7a18d9 Reviewed-by: BogDan Vatra <bogdan@kdab.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* QPainter: mark obsolete RenderHints as deprecatedChristian Ehrlicher2019-07-039-17/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RenderHint::HighQualityAntialiasing and NonCosmeticDefaultPen are obsolete since Qt5 but not marked as such. Therefore add Q_DECL_ENUMERATOR_DEPRECATED_X now so those two enumerations can be removed with Qt6. [ChangeLog][QtGui][QPainter] HighQualityAntialiasing and NonCosmeticDefaultPen are marked as deprecated and don't have an effect anymore Change-Id: Ib0c966a078a1d23d492d0255288e2066c50e87b6 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* tst_QShortcut: Remove test widget and other member variablesFriedemann Kleint2019-07-021-184/+189
| | | | | | | | | | | | | | | | | | | Remove the mainW, edit widget member variables from the test and use widgets instantiated on the stack in the tests. For the data-driven tests, use a static QScopedPointer, which is reset by a newly introduced TestEnd action. The book-keeping logic maintaining a list of shortcuts can then be removed. The setupShortcut() helpers are simplified and the special case TestWidget::SendKeyEvent is replaced by a lambda in keypressConsumption(). Task-number: QTBUG-76493 Change-Id: I15dfa86dfa0666ed8288b7190e37cdb862c261c8 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* QShortcut: Brush up the code, preparing the extraction of a base class to QtGuiFriedemann Kleint2019-07-021-37/+31
| | | | | | | | | | | - Use member initialization - Introduce nullptr - Use auto where applicable - Use range-based for Task-number: QTBUG-76493 Change-Id: Ic4dbee2d76a65be1f8a4c25f4ca7e4f032443579 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* RHI/D3D11: Remove hard dependency on D3DCompiler libraryFriedemann Kleint2019-07-022-2/+21
| | | | | | | | | | Varying versions of the library may be available depending on build tool chain or Windows version. Try to dynamically resolve the D3DCompile function. Fixes: QTBUG-76845 Change-Id: Ib7eb3b8c454e9c25731eb2ba9ba45e54fe3f1283 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* qlalr: replace QLinkedList with std::listMarc Mutz2019-07-025-37/+27
| | | | | | | | | | | | | | | | | | | This is in preparation of deprecating QLinkedList. Most is straight-forward, except where operator+ was used on linked-list iterators. In one case, replaced this with std::next, in the other, with prefix increments, since the advancement was always equal to the loop control variable. Since advancing a linked-list iterator is a linear operation, this removes a source of quadratic complexity. Another obstacle was the overloaded op< set, which was in the Qt namespace while the iterator is from std and the payload, as before, was global. This breaks ADL, so move these operators to namespace std. This violates the standard, but the functions are tagged with our distinct types, so it shouldn't cause any trouble. Change-Id: Ifec0a927bfdabb002838cdf86fb8d23b32a38ff7 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Remove QWindowsDirect2DEventDispatcherJoerg Bornemann2019-07-022-16/+0
| | | | | | | | | | | | This class was introduced to modify the hook handling of QWindowsGuiEventDispatcher. As the hook handling code is removed now, we can remove QWindowsDirect2DEventDispatcher entirely. Change-Id: I56491a67f163784f43b1025225e536d386cead1d Reviewed-by: Alex Trotsenko <alex1973tr@gmail.com> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* QCoreWlanEngine: port away from Java-style iterators (and other fixes)Marc Mutz2019-07-022-49/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | The main goal of this patch was to port away from Java-style iterators, to make QtBase QT_NO_JAVA_STYLE_ITERATORS-clean. And this the patch achieves. But I couldn't resist a few drive-by fixes, too, to wit: - Use qDeleteAll() instead of while(!isEmpty()) delete takeFirst() - Use QMap::last() instead of iterating to the end, remembering the last-seen value - Use QMap::contains() instead of QMap::keys().contains() - Use qExchange() instead of copy+clear - Make some functions const (requires the mutex member to be marked as mutable, which is common for mutex members) I am almost certain that getSsidFromNetworkName() cannot work correctly. But this patch does not attempt to change the algorithm. Change-Id: Ifa04d7837bdc0837036c3a7a73f8c51f4e681f42 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Remove hook handling code from QEventDispatcherWin32Joerg Bornemann2019-07-023-47/+1
| | | | | | | | | | | Since commit 6a7cea64 qt_GetMessageHook is effectively a no-op, and we can remove the complete hook handling code. Change-Id: I90383c0c09c2b0f1d715872de5f9519a879d9bae Reviewed-by: Alex Trotsenko <alex1973tr@gmail.com> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* tst_QShortcut: Brush up the code, preparing the extraction of a base class ↵Friedemann Kleint2019-07-021-230/+183
| | | | | | | | | | | | | | | | | | | | | to QtGui - Use nullptr - Fix static method invocations - Use QString() instead of QString("") - Use override - Use member initialization - Remove unimplemented code related to status bars - Use Qt 5 connection syntax - Fix apparent oversights in ambiguousItems() and unicodeCompare(),where the 2nd shortcut was assigned to the wrong button - Use Q_ENUM for the enumerations which will output the value in QCOMPARE and automatically declare them to be a metatype - Use enums in helper function signature for clarity Task-number: QTBUG-76493 Change-Id: I0ed6ee7ee8dc2dbb48160a8383e6ed29164c3449 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
* Remove usages of deprecated APIs from QDateTimeSona Kurazyan2019-07-027-10/+40
| | | | | | | | | | | | | | | | | | - Replaced the usages of: * QDateTime::toTime_t() -> QDateTime::toSecsSinceEpoch(). * QDateTime::fromTime_t() -> QDateTime::fromSecsSinceEpoch(). * QDate::shortDayName() -> QLocale::system().dayName(). * QTime by QElapsedTimer, where the deprecated methods of QTime were used. - Modified the tests for the deprecated methods to be enabled only when the corresponding methods are enabled: when the deprecated APIs are disabled, the tests will be also disabled, and the compilation won't be broken. Task-number: QTBUG-76491 Change-Id: I4d565db2329e580c567aae511696eb1efe120843 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Make the default ctor of QVarLengthArray implicitUlf Hermann2019-07-022-1/+10
| | | | | | | | | Otherwise "QVarLengthArray<Foo> x = {};" gives a warning. Also, some compilers get confused about "QVarLengthArray()" this way. Task-number: QTBUG-76199 Change-Id: I4296586c0181d3e6e82ca8b7b79aeb9a21645d1f Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* uic: Implement form window setting to disable QObject::connectSlotsByName()Friedemann Kleint2019-07-026-4/+21
| | | | | | Task-number: QTBUG-76375 Change-Id: I16ad147366aa7d52b7a0e17ae240127d8ac34b3c Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* Fix build without feature.tabbarTasuku Suzuki2019-07-028-35/+61
| | | | | Change-Id: I0891f8f6054382407f5ce2fdb3ead0203d255945 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Fix build without feature.dockwidget and tabwidgetTasuku Suzuki2019-07-022-4/+11
| | | | | Change-Id: I621664f646475c1b5cfde47b7087c0c9f5ad8e4d Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.13' into dev"Liang Qi2019-07-0140-128/+327
|\
| * Merge remote-tracking branch 'origin/5.13' into devLiang Qi2019-07-0141-129/+328
| |\ | | | | | | | | | | | | | | | | | | | | | Conflicts: src/network/ssl/qsslsocket_openssl.cpp src/platformsupport/vkconvenience/qvkconvenience.cpp Change-Id: I97ce6ed185f7fdad8102cc58d3cfec0119fd7bb4
| | * QTranslator: simplify QString byte-swapping codeThiago Macieira2019-06-281-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | No need to check QSysInfo, just use qFromBigEndian. On big-endian systems, it does the memcpy for us. Change-Id: I1004b4b819774c4c9296fffd158fe3aa5ff0a287 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Move the Item typedef to public in the associative Java iteratorsThiago Macieira2019-06-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | The documentation talks about them. They're just iterators. Fixes: QTBUG-75123 Change-Id: I194d3f37471a49788a7bfffd15956064b42383b7 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * Document OOM conditions in the QArrayData-based containersThiago Macieira2019-06-283-0/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The other containers probably don't handle as well, so I just documented the ones that I know how they work. Fixes: QTBUG-75470 Change-Id: I95ecabe2f50e450c991afffd159a0483aac35a79 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Albert Astals Cid <aacid@kde.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Work around Apple Clang's -Wshadow warningThiago Macieira2019-06-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Well, yeah, it technically does... qcborstream.h:245:15: warning: declaration shadows a typedef in the global namespace [-Wshadow] /usr/include/libkern/OSTypes.h:36:26: note: previous declaration is here Fixes: QTBUG-75825 Change-Id: Idce141629dd34287808bfffd159ee2a75428bf12 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| | * QTransposeProxyModel: include the moc in the .cppThiago Macieira2019-06-281-0/+2
| | | | | | | | | | | | | | | | | | | | | All the other QtCore files do. Change-Id: Ie7ae7616eadf4035bec6fffd15ac3b5479716ff3 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| | * Fix Clang warning about applying operator|| to non-booleanThiago Macieira2019-06-281-2/+2
| | | | | | | | | | | | | | | | | | | | | qmetatype_p.h:111:412: error: use of logical '||' with constant operand [-Werror,-Wconstant-logical-operand] Change-Id: Iac6ae11e29bd4169bae9fffd15a117d576a95adb Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
| | * Merge "Merge remote-tracking branch 'origin/5.12' into 5.13"Qt Forward Merge Bot2019-06-295-11/+47
| | |\
| | | * Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-06-295-11/+47
| | |/| | | | | | | | | | | | | Change-Id: I4cb91777e7ae9f462fa219d5b9ebeb277fde49c3
| | | * Fix build with Android NDK's make on WindowsJoerg Bornemann2019-06-281-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The make executable that comes with Android's NDK tries to execute the shell-builtin "move" as a stand-alone executable unless you trick it to execute "move" through the shell by surrounding one argument with double quotes or such. Force the execution of "move" through shell by altering QMAKE_MOVE for Android on Windows. Change-Id: I5b1490ad0606960dbd06a4cafb0b0b983e265159 Fixes: QTBUG-35713 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| | | * QAndroidInputContext: Generate a QInputMethodEvent in reset()Vova Mshanetskiy2019-06-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Although QPlatformInputContext::reset() documentation says that reset() should not send any QInputMethodEvents, implementations on Windows, macOS and iOS do send a QInputMethodEvent which clears preedit text in their reimplementations of reset(). Text editing controls depend on that and may not clear preedit text if such event is not sent. Change-Id: I75ab73946cb06e93e5fc5e98e0cc503a7de5c2e0 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
| | | * QAndroidInputContext: Do not stop composing when user taps the cursorVova Mshanetskiy2019-06-281-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no need to tell the editor to stop composing if user taps so close to the cursor position that the cursor will not move anyway. If we do stop composing in such case, then since there will be no cursor position change notification, we will never start composing again (before the cursor is actually moved), and the current composing region will remain being displayed as normal text instead of being displayed as composing text. Change-Id: I4ebe6442e1ba8c365d6754c1a8487235d177c732 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
| | | * QAndroidInputContext: Consider preedit text in getCursorCapsMode()Vova Mshanetskiy2019-06-281-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes auto-capitalization in AnySoftKeyboard. It was typing the whole first word in a sentence in upper case. Change-Id: I605a1aee39d432a3474c0bf706445d354562285f Reviewed-by: BogDan Vatra <bogdan@kdab.com>