summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix broken link in documentationFrederik Schwarzer2017-01-031-1/+1
| | | | | | | Task-number: QTBUG-57530 Change-Id: Iecb1a26f6b8a7e8a506d768668cde1c277d15dde Reviewed-by: Topi Reiniö <topi.reinio@qt.io> Reviewed-by: Martin Smith <martin.smith@qt.io>
* QDateTime::fromString(): improve performance by 33%David Faure2017-01-031-5/+15
| | | | | | | | | | | | | | | | getMaximum() and getMinimum(), called during parsing, create new QDateTime instances, which on Linux end up calling mktime(). Making these static (for the common case of LocalTime spec) improves performance dramatically, when parsing several date/times. tests/benchmarks/corelib/tools/qdatetime/ (after fixing it to actually parse a valid date/time) says: RESULT : tst_QDateTime::fromString(): - 36,742,060 instruction reads per iteration (total: 36,742,060, iterations: 1) + 24,230,060 instruction reads per iteration (total: 24,230,060, iterations: 1) Change-Id: I0c3931285475bf19a5be8cba1486ed07cbf5e134 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Partially revert "Windows: stop using _beginthreadex on regular builds"Thiago Macieira2017-01-031-0/+35
| | | | | | | | | | | | | | | | | This pertially reverts commit 3ec57107cedb154f256e3ad001ea5475cc64fa94 and brings back the hack to prevent the DLL from being unloaded. It should have been enough, but we've got reports that it's still causing trouble. Since it causes not much harm to keep the DLL loaded (worst case scenario is that QtDBus and QtCore remain loaded after a plugin gets unloaded), we'll keep it. Note: Microsoft is aware that their way of killing threads on process exit is a flaw. See https://blogs.msdn.microsoft.com/oldnewthing/20070502-00/?p=27023/ Task-number: QTBUG-53031 Change-Id: I2962773739e34633b033fffd1493dce695b008c0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* configure: make library sources fail more verboselyOswald Buddenhagen2016-12-302-0/+3
| | | | | | | | log a message in all unsuccessful exit paths. Task-number: QTBUG-57217 Change-Id: I8b0f2685d327da583c3e42c8149327e05b2a66cc Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QHeaderView: fix restoreState() on a model with more columnsDavid Faure2016-12-291-0/+14
| | | | | | | | | | | | | When saving state for a 3-columns headerview and then restoring that state onto a 5-column headerview, the headerview shouldn't suddenly think it has 3 columns. Rather than making restoreState() fail, we adjust for the additional columns, so that we can still apply the customizations from the user to all other columns (hiding, moving, etc.). Change-Id: I3f220aa322ea8b629d2fe345f8cde13e0ea615d6 Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* xcb: Ignore XI2 LMB mouse events from touch screensAlexander Volkov2016-12-284-14/+21
| | | | | | | | | | | | | | | | | | | | 157ee01a8d0be9a4dbac03883c9eaf3609fc1172 was trying to minimize some side effects of the bug in the evdev driver (https://bugs.freedesktop.org/show_bug.cgi?id=98188) by not changing mouse button state on motion. Unfortunately it resurrected bugs that were fixed by 76de1ac0a4cd384f608a14b5d77a8cf3ef1ec868. Filter out mouse events from touch screens instead. This change reverts 157ee01a8d0be9a4dbac03883c9eaf3609fc1172. Task-number: QTBUG-32609 Task-number: QTBUG-35065 Task-number: QTBUG-43776 Task-number: QTBUG-44166 Task-number: QTBUG-44231 Task-number: QTBUG-56156 Change-Id: Ie17710d94beabeb08681d669a9d8309be9b44e73 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Doc: add a quick note about unfixed Windows encoding bugThiago Macieira2016-12-281-0/+3
| | | | | | Task-number: QTBUG-49640 Change-Id: Icb0289e3118a41dd9438fffd1492925b03de62d6 Reviewed-by: David Faure <david.faure@kdab.com>
* Link QVariant class documentation to the Creating Custom Qt Types articleKavindra Palaraja2016-12-281-1/+1
| | | | | | | | The article does answer the questions asked in the bug. Task-number: QTBUG-56629 Change-Id: Ib8bac0acf45bc10598fc47feb6dd73005b5ad040 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Removed random notes in the documentation that should not be thereKavindra Palaraja2016-12-281-2/+0
| | | | | | | | Two sentences that read like author notes likely added by accident. Task-number: QTBUG-56630 Change-Id: I7a0b114e128f95e54e9e8f26b43493f67747d650 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* windows: use lowercase #includeAndrew Knight2016-12-281-1/+1
| | | | | | | | | MinGW's headers are lowercase, and MSVC is generally run on a case- insensitive file system. Including in the lowercase is the more compatible option. Change-Id: I288cecb77ddd8029bb3925e613a830dd9ce96a6c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix warning from MinGW/GCC 6.2Andrew Knight2016-12-281-2/+1
| | | | | | | | | | | | src/widgets/styles/qwindowsvistastyle.cpp: In member function 'virtual QSize QWindowsVistaStyle::sizeFromContents(QStyle::ContentsType, const QStyleOption*, const QSize&, const QWidget*) const': src/widgets/styles/qwindowsvistastyle.cpp:1872:9: error: this 'if' clause does not guard... [-Werror=misleading-indentation] if (!sz.isEmpty()) ^~ src/widgets/styles/qwindowsvistastyle.cpp:1874:13: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if' return sz; Change-Id: Ifd3faef8c93f12d5fadaf4edf875fbe0fc6fb785 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix typo in documentationAndré Klitzing2016-12-271-1/+1
| | | | | Change-Id: I86584392f2646e87f26bf6de725802e5c6a6c6e0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QMimeDatabase: fix handling of conflicting globsDavid Faure2016-12-276-51/+55
| | | | | | | | | | | | | | | | | | | This code always intended to follow the recommended checking order from the spec, which says "if multiple globs match, use file contents". But if the globs had different weights, it would discard globs with lower weights, and then wrongly conclude, if there is only one glob left, that there was no ambiguity. The correct way is rather: remember that multiple globs matched, do determination from contents, and if that didn't work, *then* use (one of) the highest-weight glob(s). This fixes PGP-encrypted *.asc files being detected as text/plain rather than application/pgp-encrypted. (https://bugs.kde.org/show_bug.cgi?id=346754) Change-Id: I734459daf9f502baa95ebb89432819964e0ce304 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QMimeMagicRule: endianness fixesDavid Faure2016-12-271-2/+12
| | | | | | | | | | | | | | | | | * apply endianness to the mask as well * do not apply endianness to "host" entries, they were wrongly behaving exactly like "big endian" entries. The issue with the mask was detected by the audio/aac magic <match type="big16" value="0xFFF0" mask="0xFFF6" offset="0"/> which failed to identify the test file ct_faac-adts.aac since it was applying the mask 0xFFF6 instead of 0xF6FF (on a little-endian machine). Not yet detected by tst_qmimedatabase which is based on shared-mime-info 1.0, will be covered by the upgrade to 1.8 in dev. Change-Id: I4fb7af2d367099817e712b14f2a031066d0ac432 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QMimeMagicRule: fix off by one in the number of bytes checkedDavid Faure2016-12-271-1/+1
| | | | | | | | | | | | | | | | | | | | | Since the loop says p <= e, no +1 should be added to e. Testcase: The magic for application/x-gameboy-rom says <match type="byte" value="0x0" mask="0x80" offset="323"/> and this code was checking both byte 323 and byte 324, finding a match at pos 324, returning application/x-gameboy-rom erroneously. Given the magic for application/x-gameboy-color-rom: <match type="byte" value="0x80" mask="0x80" offset="323"/> the expected result for game-boy-color-test.gbc is application/x-gameboy-color-rom Not yet detected by tst_qmimedatabase which is based on shared-mime-info 1.0, will be covered by the upgrade to 1.8. Change-Id: I2396cb1ccfb26db5a24d5551fef493cc0b98a247 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Optimize QtActivity's onCreate a little bitKonstantin Ritt2016-12-251-1/+3
| | | | | Change-Id: Iabb0f561d99f363dfe1dc206b3ad3e8f1a1d04c0 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* ... and so configureapp.exe disappearethOswald Buddenhagen2016-12-231-5/+2
| | | | | Change-Id: I3fd9f2b0d4cf05a625484fce21532da8563cd62c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* platform plugins: Remove unused former overridersAlexander Volkov2016-12-223-14/+0
| | | | | | | | They were implied to override QPlatformIntegrationPlugin::keys() but it was removed before releasing Qt 5.0. Change-Id: Ia1f1ad27b7511b1141887f5dcde0dadeb2e5cabf Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* fix sysrootification of install pathsOswald Buddenhagen2016-12-222-16/+15
| | | | | | | | | | | | | | | | | | | | | initially, the idea was that QLibraryInfo would receive a pre-sysrootified ExtPrefix from the builtin qt.conf. matching this against the sysroot would then tell us whether to sysrootify the Prefix from a "regular" qt.conf as well. however, this would have lead to some major ugliness and inconsistency between the code paths, so i changed my mind. unfortunately, i failed to adjust the remaining code, leading to 169a40d51 entirely breaking sysrootification ... the proper (and nicely consistent) solution is to introduce a SysrootifyPrefix key to qt.conf. this is user-accessible as well, so as a bonus it is now possible to adjust the setting at qmake installation time. incidentally, this omission was the last thing that prevented using the same qmake host build for any imaginable configuration of the same qt version ... i think. Change-Id: Ic0eebf21f93651f6374628c0ad8b206d696a4a7e Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Silence maybe_uninitialized warning with gcc -OgAllan Sandfeld Jensen2016-12-213-4/+4
| | | | | | | | | | GCC produces false positives for maybe_uninitialized when compiling with -Og in these three places. Simply initialize the variables to silence it. This should be entirely cost-free for normal compilation. Change-Id: Iab778a6ba25993f78f190e928c1fcc2dbd8b2fcd Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* macOS: Take DPR into account when creating CGContexts for a QPixmapTor Arne Vestbø2016-12-211-0/+2
| | | | | | | | | Missing logic when refactoring image manipulation methods into QtGui in c52bb030907. Task-number: QTBUG-57723 Change-Id: I7b55d4451d35faf5fd794daa0b80acbd712f30cd Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* QLockFile: make sure we encode the hostname as UTF-8 in the lock fileDavid Faure2016-12-211-11/+2
| | | | | | | | | | | | | | | | | | | | We chose to use UTF-8 as it allows us to ensure there's no mistaking the hostname in case the locale is changed, if the host name contains characters outside of US-ASCII. But this didn't work because the code that wrote the hostname always used the local 8-bit codec instead of UTF-8. On Unix, we used the result of gethostname(3) directly, which is supposedly on the locale codec. This commit doesn't fix Windows, which requires _wgetenv, the plan being to encapsulate that with a qEnvironmentVariable() method. [ChangeLog][QtCore][QLockFile] Fixed a bug that caused QLockFile not to recognize a stale lock file if the machine's hostname contained non-US- ASCII characters, on Unix. A Windows fix is still pending. Task-number: QTBUG-49640 Change-Id: Ib9d045544ff370ec901626658a84ec4e6575fe21 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QIPM: Persist model indexes after emitting layoutChange, not beforeStephen Kelly2016-12-211-9/+9
| | | | | | | | | | | | Callers can persist a QModelIndex which was not persisted before in a slot connected to the signal, and such a persisted index must be updated in the course of the layoutChange. Store the indexes to persist after emitting the signal. Task-number: QTBUG-32981 Change-Id: Ibee4c0d84817d72603a03fe5b22fdeefeac0695e Reviewed-by: David Faure <david.faure@kdab.com>
* QSFPM: Remove data manipulation from move handlersStephen Kelly2016-12-211-55/+12
| | | | | | | | | | | | Similar to the fix in the parent commit, incorrect updating of the internal data structures during layout changes can lead to dangling pointers being dereferenced later. Moves are treated as layoutChanges by this proxy by forwarding to the appropriate method. However, data is incorrectly cleared prior to that forwarding. Remove that, and let the layoutChange handling take appropriate action. Change-Id: Iee951e37152328a4e6a5fb8e5385c32a2fe4c0bd Reviewed-by: David Faure <david.faure@kdab.com>
* QSFPM: Fix handling of source model layout changeStephen Kelly2016-12-211-20/+11
| | | | | | | | | | | | | | | | | | | | | | | In sourceLayoutAboutToBeChanged the source model update is ignored if the affected parents are filtered out anyway. The same logic is attempted in the sourceLayoutChanged slot, but there the early-return logic is applied too late - the mapping is cleared before performing the early-return. Because pointers into the mapping are used in the internalPointer of QModelIndexes in this class, persistent indexes used later will segfault when attempting to dereference it. Additionally, if a parent becomes invalid as a result of the layoutChange, it would be filtered out by the condition in the loop, resulting in a different result in the comparison of emptiness of the parents container. Fix that by persisting the parent's container, and performing the test for early-return before clearing the mapping. Task-number: QTBUG-47711 Task-number: QTBUG-32981 Change-Id: If45e8a1c97d39454160f52041bc9ae7e337dce97 Reviewed-by: David Faure <david.faure@kdab.com>
* Doc: Updated code sample to match documentation of QCompleterSamuel Gaist2016-12-201-1/+1
| | | | | | | | | | The QCompleter documentation mentions QFileSystemModel while the code sample still uses QDirModel. This patch fixes this by updating the code sample. Change-Id: I99a0d2419efcf781af3e9530508df088d77fbbfa Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com> Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Avoid using QRgba64 for buffersAllan Sandfeld Jensen2016-12-201-33/+33
| | | | | | | | | | | | Benchmarking showed most time rendering in rgb64 mode was spend on memsetting the buffers because they were not declared with a primitive type. This patch changes the buffers to quint64, but leaves refactoring function arguments to a later patch in the dev branch. Change-Id: Iacc81b0d8e9570b1975dffb85c955b0aabb096a7 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* fix typos in "ras[p]berry pi"Oswald Buddenhagen2016-12-201-2/+2
| | | | | Change-Id: I2d8910df9266d9cbf2426e5f2ba2a88eb2e821ef Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Silence implicit-fallthough warningsAllan Sandfeld Jensen2016-12-192-2/+3
| | | | | | | Fixes Werror build with GCC 7. Change-Id: Ie0e9fb907af545b6c200558faaaf83b8ec058b7a Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Update model-view documentation about layoutChangedStephen Kelly2016-12-181-3/+16
| | | | | | | | | | | This has always been true, but hasn't been documented well enough, so triagers are giving incorrect information in bug reports (eg QTBUG-47711 and QTBUG-53221). That incorrect information is being treated as truth by Qt users which take action based on incorrect information. That is a problem, so try to make the documentation clear. Change-Id: I4e44a9a0675cdd7d9289ec209ae32d5a92899fc9 Reviewed-by: David Faure <david.faure@kdab.com>
* Make the bearer QFactoryLoader a member variable, not a staticThiago Macieira2016-12-172-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | Because it was a function-level static, the QFactoryLoader was getting destroyed out-of-sync with the bearer thread stopping. Under normal conditions, the thread stopped first (~QApplication / ~QCoreApplication via qAddPostRoutine), and the static got destroyed when the process exited. However, if QApplication leaked or if the destruction order is wonky (as seen in PyQt5), the thread could still be running when the plugins were already unloaded. With the loader a member variable, it gets destroyed when the thread stops. Note: in Qt 5.7, QFactoryLoader no longer unloads the plugins (since commit 494376f980e96339b6f1eff7c41336ca4d853065), so this crash cannot happen in that version. [ChangeLog][QtNetwork][Bearer management] Fixed a bug that could cause a crash on application exit, depending on the order of destruction of the QCoreApplication object and the QtDBus manager thread. Task-number: QTBUG-56228 Task-number: QTBUG-52988 Change-Id: I33dc971f005a4848bb8ffffd147853376f82de2a Reviewed-by: Lorn Potter <lorn.potter@gmail.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Fix build on Windows: winsock2.h requires WIN32_LEAN_AND_MEANThiago Macieira2016-12-173-0/+8
| | | | | | | | This is required for the next commit. Change-Id: I73fa1e59a4844c43a109fffd148c8c3e3a100c79 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix race condition in QFactoryLoader: lock the mutex we already haveThiago Macieira2016-12-171-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The process of loading a plugin is examplified by the qLoadPlugin function (though not all users of QFactoryLoader use this function, they all do something similar): const int index = loader->indexOf(key); if (index != -1) { QObject *factoryObject = loader->instance(index); if (FactoryInterface *factory = qobject_cast<FactoryInterface *>(factoryObject)) if (PluginInterface *result = factory->create(key, std::forward<Args>(args)...)) return result; } QFactoryLoader::indexOf already locked the mutex, but not QFactoryLoader::instance. This commit fixes that. Note that calling the virtual create() in the plugin's factory is not protected by the mutex. Each plugin's factory must be thread-safe and also create an object that works on any thread too. It's also the responsibility of the caller of qLoadPlugin to ensure that it's called thread-safely. Task-number: QTBUG-42855 Change-Id: I63e21df51c7448bc8b5ffffd148ebee33d4c47de Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* QTestLib: Add timestamp to mouse click eventsPeter Varga2016-12-161-2/+13
| | | | | | | | | | | Timestamp is necessary for testing custom mouse event handlers e.g. what Qt WebEngine uses for handling triple and quadruple mouse clicks. Based on commit 181ee8f9ffacc51265ccc3a0005bf146f230cf85 Task-number: QTBUG-56223 Change-Id: I2bf840f326255333eec83ca8c42f087cb7deb1fb Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Merge remote-tracking branch 'origin/5.8.0' into 5.8Liang Qi2016-12-1656-399/+808
|\ | | | | | | | | | | | | | | | | Conflicts: doc/global/qt-cpp-defines.qdocconf src/plugins/platforms/android/qandroidplatformopenglcontext.h src/plugins/platforms/android/qandroidplatformtheme.h Change-Id: I13d51cc66f708138ff4d667ceea7d515992e58a4
| * Silence platformheaders syncqt warning about qt_egl_p.hv5.8.0-rc1Laszlo Agocs2016-12-162-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Drop the include for qt_egl_p.h. For Qt itself this should have no effect since platform plugins including this header include EGL headers on their own anyway. Similarly, applications relying on such advanced functionality will likely include EGL/OpenGL headers on their own - the point is anyhow to interoperate with native, non-Qt EGL and GL code. This avoids a lot of hassle since normally no EGL (or other winsys interface API) bits are exposed in the public Qt APIs, and thus there are no public headers provided to set up EGL headers in the same way Qt does internally. Change-Id: Icdbc28811b753799abc06085bc8dff7f09bdbff9 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * fix directfb build without EGLOswald Buddenhagen2016-12-161-1/+2
| | | | | | | | | | | | Task-number: QTBUG-57176 Change-Id: I174828e0657e244b060df6223650091a06ecd980 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * QCocoMenu: Fix patch b2f78b796b5b73d4Gabriel de Dietrich2016-12-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | A null pointer check was accidentally removed while refactoring the code. Change-Id: I547936671bd134bb7df710a4b123a0d731076bf2 Task-number: QTCREATORBUG-17438 Task-number: QTBUG-57404 Task-number: QTBUG-57657 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| * Work around old Clang bug parsing of NSDMI referring to membersThiago Macieira2016-12-161-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | Clang pre-3.4 didn't like this and it's used in Xcode 5.1 (which we need to support for 5.8). error: 'this' cannot be implicitly captured in this context typename T::const_iterator i = c.begin(), e = c.end(); ^ Task-number: QTBUG-57488 Change-Id: I63e21df51c7448bc8b5ffffd148e688d7c9b89d6 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| * Re-fix build error with ICC 17 on WindowsThiago Macieira2016-12-152-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a repeat of ae880beb7d02141c5097ef61409fa66b2c910dd3, which had fixed the problem for ICC 16. That commit was a repeat of acf80b9a2b913e898ed4c4ed14d4ea79401484fe, which had fixed it for ICC 15. As reported in ae880beb7, ICC doesn't like polymorphic exported classes with inline constructors. That commit added the default constructor, but we forgot the copy constructor. This constructor should have been protected, so users are forced to use the virtual clone() function, but we can't make it so in Qt 5 because MSVC encodes the protection and has exported the inline function in debug builds. qsvgiconengine.obj : error LNK2001: unresolved external symbol "const QIconEngine::`vftable'" (??_7QIconEngine@@6) Change-Id: I427336c52fc342638c74fffd149033b990ea7ade Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * Update Ministro's urlBogDan Vatra2016-12-151-1/+1
| | | | | | | | | | | | Task-number: QTBUG-57645 Change-Id: I014b1926c9b91e085baa5df563dc4cc06fe0596c Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| * winrt: Check for removed timers after sending eventsOliver Wolff2016-12-151-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After all the check makes sense here. If a timer was removed as a result of sendEvent and it was not at the end of the list the list is not shrunk but the timer info's id is just set to INVALID_TIMER_ID. Additionally the timer's object should be fetched before we unlock the locker as timerIdToObject is changed in removeTimer and we might access a nullptr if the timer has been removed. Reverts c83ba01f7bc542368973f3f24dfb59c6052dd78a Task-number: QTBUG-56756 Change-Id: Ib1a04c02fbfcf4c939b4891d42f954dc9e87149e (cherry picked from commit 8f2088db171a6941feb1903a2912a8b7fdf3a9ec) Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
| * qdoc: Define Q_COMPILER_UNICODE_STRINGSTopi Reinio2016-12-151-0/+16
| | | | | | | | | | | | | | | | | | | | | | Some public functions in QString and QDebug are declared inside Q_COMPILER_UNICODE_STRINGS. This commit defines it for QDoc, and adds documentation for QDebug functions that are now visible to QDoc. Change-Id: Ia7f2501c1dc7b8244dcc3ce4adcd2019fdbffcb6 Reviewed-by: Martin Smith <martin.smith@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Fix qtlibpng being built despite system libpng being foundJames McDonnell2016-12-151-1/+1
| | | | | | | | | | | | | | | | | | | | 90eee08b made system-png a subset of png, which is strictly speaking a porting error. However, as this is a good idea as such, fix it by adding the missing !system-png check. Change-Id: I1557a2130a22ac668be315dc9aea67845928ff4c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
| * Android: fix (partially) text deletion when the cursor is movedBogDan Vatra2016-12-134-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - wait until the handle location changes the cursor position - don't update cursor position if: * a batchEdit is in progress * the UpdateSelection is blocked - finish the composing before update the cursor - add the missing .java files There are still corner situations when the text gets deleted/moved, but those are pretty rare and they will be fix in another patch. Task-number: QTBUG-57507 Change-Id: I230d7f64625fb556e1be3069694a71e9bc91323a Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * Fix gcc 6.4 buildsAllan Sandfeld Jensen2016-12-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | The builtins clzs and ctzs have been removed. Additionally they were never proper internal GCC builtins and shouldn't have been used in a constexpr function in the first place. This patch removes the assumption that they exist when BMI is available, and let GCC fall back to using __builtin_clz and __builtin_ctz. Change-Id: I3e0b4e246098bb9ce6ede28b311948260ef881b9 Task-number: QTBUG-56813 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Re-fix the build with ICC and cmath & math.hThiago Macieira2016-12-101-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit c35fef9d3b8bb77a7f303e3cd62c86cd00e57f5b wasn't sufficient. The problem is that there's a complex combination of libc headers (math.h), C++ headers (cmath), which may be provided by three different sources on Linux (glibc, gcc and ICC). On some combinations, the isnan macro leaks from math.h or cmath and that's what the the commit above tried to fix. On some other combinations, there's no macro but there's an ::isnan function defined. When we do "using namespace std; return isnan(x);", that causes a compilation error. This commit solves that by detecting whether there is a macro defined. error: more than one instance of overloaded function "isnan" matches the argument list function "isnan(double)" function "std::isnan(double)" argument types are: (double) Change-Id: Iaeecaffe26af4535b416fffd148bf71826541bdd Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Doc: QPointingDeviceUniqueId: Fix documentation warningTopi Reinio2016-12-091-1/+1
| | | | | | | | | | | | | | | | | | Fix the following warning by adding a const qualifier: warning: No documentation for 'QPointingDeviceUniqueId::isValid()' Change-Id: I1ebeda8f45e88efb7cb844b67409352c695e6354 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * Android: Add missing overrideAlexander Volkov2016-12-0921-142/+142
| | | | | | | | | | | | | | Change-Id: I70b802517d8f7d129ffb71dc3e92cb2458a55acc Reviewed-by: BogDan Vatra <bogdan@kdab.com> (cherry picked from commit e3ad43843a6ddb20c901b6fba85c12fb0e6c5651) Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| * Android: remove unused variableBogDan Vatra2016-12-092-3/+0
| | | | | | | | | | | | | | Fix compilation with -Werror Change-Id: Iae6068f9eeb92dd1a96b11f6bb7017b97a8486fb Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>