summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/windows/qwindowskeymapper.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Windows: use MSG timestamps for input eventsGiuseppe D'Angelo2024-04-031-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Input events have a timestamp. When dispatching an event through QPA, a platform plugin can either provide it, or QPA will use an internal QElapsedTimer to provide a timestamp. Windows input messages do come with a timestamp already, so we can use that instead of the QPA. The two methods are not equivalent. For instance: for various reasons, Qt does not honor Windows' "double clicked" message, but uses the delta between two mouse events to establish if the second click is actually a double click. Now suppose that the user double clicks on a widget. On the first click, the application does something that freezes it for a bit (e.g. some heavy repainting or whatever). Does the second click register as a double click or not? * If we're using Qt's own timer, the answer is NO; the event is pulled from the WM queue after the freeze, given a timestamp far away from the last click, and so it will be deemed another single click * If we use the OS' timestamps, then the second click will be seen as "close" to the first click, and correctly registered as second click. This reasoning can be extended to many other QPA events, but looks like the APIs for some are missing (e.g. enter events), so I'm not tackling them here. This commit reverts ade96ff6446d4b0977d4e5f03b96b77ff8223b8b. Task-number: QTBUG-109833 Task-number: QTBUG-122226 Change-Id: I5f3fba029b44c618ef622bacdc4bcc3928e04867 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Yuhang Zhao <yuhangzhao@deepin.org>
* Windows QPA: Omit native virtual key in WM_CHARJohannes Grunenberg2023-12-151-1/+1
| | | | | | | | | | | | WM_CHAR doesn't send the native virtual key in wParam, but it sends the generated UTF-16 code unit, so no assumptions can be made about the pressed key. lParam still contains the scancode. Fixes: QTBUG-117903 Pick-to: 6.5 6.6 6.7 Change-Id: Iedc5936118936009db8f6b0c1ce6147db2739422 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Implement QWindowsKeyMapper in terms of QPlatformKeyMapperTor Arne Vestbø2023-10-091-38/+14
| | | | | Change-Id: I060ca9613d49bb85a2cf8d4f808b2b5b1c0bdcd5 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Fix wrong scan code values in key events obtained on WindowsLi Yefeng2023-07-171-5/+13
| | | | | | | | | | | The scan code (Windows) value depends on the extended-key flag (KF_EXTENDED 0x0100) in the key message. This flag was kept in scan code value, which is wrong. It is not part of scan code, and when it's on, another byte 0xE0 should be prepended to scan code. See: https://learn.microsoft.com/en-us/windows/win32/inputdev/about-keyboard-input#extended-key-flag Change-Id: Iddcabb0aae92bb784883bddc9a34fe134d787b32 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Revert "Windows: use MSG timestamps for input events"Oliver Wolff2023-01-301-13/+13
| | | | | | | | | | | | This reverts commit baa5888807d3db57603398ae7aa27866efdbd711. The change caused breakages in qtdeclarative's auto tests. Current assumption is that we need the system timestamps for other events as well. Reverting now to unblock CI. Fixes: QTBUG-110596 Change-Id: I9583627bc058ff0d6cadfa622eed119fb41ca4a1 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Windows: use MSG timestamps for input eventsGiuseppe D'Angelo2023-01-231-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Input events have a timestamp. When dispatching an event through QPA, a platform plugin can either provide it, or QPA will use an internal QElapsedTimer to provide a timestamp. Windows input messages do come with a timestamp already, so we can use that instead of the QPA. The two methods are not equivalent. For instance: for various reasons, Qt does not honor Windows' "double clicked" message, but uses the delta between two mouse events to establish if the second click is actually a double click. Now suppose that the user double clicks on a widget. On the first click, the application does something that freezes it for a bit (e.g. some heavy repainting or whatever). Does the second click register as a double click or not? * If we're using Qt's own timer, the answer is NO; the event is pulled from the WM queue after the freeze, given a timestamp far away from the last click, and so it will be deemed another single click * If we use the OS' timestamps, then the second click will be seen as "close" to the first click, and correctly registered as second click. This reasoning can be extended to many other QPA events, but looks like the APIs for some are missing (e.g. enter events), so I'm not tackling them here. Task-number: QTBUG-109833 Change-Id: I149361a844feac86cafa885c109a1903b1e49545 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Yuhang Zhao <yuhangzhao@deepin.org> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* QWindowsKeyMapper: make the code locale-independentMarc Mutz2023-01-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | The C toupper function is locale-dependent. Given the right locale (Türkiye, e.g.), toupper(i) is either - İ (LATIN CAPITAL LETTER I WITH DOT ABOVE; if representable) or - i (unchanged; if it isn't) The latter is clearly wrong. The former might be what is wanted, but since most locales these days are UTF-8, Í will be unlikely to be representable in char. So I conclude that what's intended here is that i gets mapped to I, even in the Türkiye locale, so use the new QMiscUtils::toAsciiUpper() instead of <ctype.h> toupper(). Fixes: QTBUG-109520 Pick-to: 6.5 6.4 Change-Id: I6fee2fb15c2facae79f1727455180567698fed80 Reviewed-by: Samuel Ghinet <samuel.ghinet@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* WindowsKeyMapper: Fix unsigned/signed mismatch errorMårten Nordheim2022-10-101-1/+1
| | | | | | | | | | error C2220: the following warning is treated as an error warning C4018: '>': signed/unsigned mismatch Pick-to: 6.2 6.4 Change-Id: I4ba59f3aa6bbd7b37fe469e6271df207a7d11c99 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QWindowsKeyMapper: simplify the code a bit (2/2)Yuhang Zhao2022-10-081-5/+1
| | | | | | | | | The default menu item will appear in bold font, and calling SetMenuDefaultItem() can do the job for us. Use it instead of calling SetMenuItemInfo() to save some typings. Change-Id: Ifa834adc45f3aafd67077c089fb4e7b5d3fd3e02 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QWindowsKeyMapper: replace legacy values with new oneYuhang Zhao2022-10-081-2/+2
| | | | | | | | | Replace the legacy MF_ constants with the new MFS_ constants, MFS_ENABLED is the same (0x0), and MFS_GRAYED is equal to (MF_DISABLED | MF_GRAYED) Change-Id: Ib0bf166d9c7f09d38026c9bf01d8bf05982f88c4 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QWindowsKeyMapper: simplify the code a bit (1/2)Yuhang Zhao2022-09-301-6/+2
| | | | | | | Use HiliteMenuItem() can do the same thing but code less. Change-Id: I53510668a9bed25bdb7db8a0225a165322b8959c Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QWindowsKeyMapper: make one variable constYuhang Zhao2022-09-231-1/+1
| | | | | | | It won't change, so make it const. Change-Id: I7ac828baca5340125be2d095ddfa69900543f002 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* QWindowsKeyMapper: whitespace fixesYuhang Zhao2022-09-191-5/+6
| | | | | | | Code style fix, add some necessary whitespaces. Change-Id: Ib6c5bf503faacec5dad804154ae992b2b0a49162 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Windows QPA: Don't highlight the first entry of the system menu if not ↵Yuhang Zhao2022-09-061-0/+6
| | | | | | | | | | | | | | | | | appropriate Only menu brought up by keyboard should highlight the first entry, if the system menu is triggered by right clicking the title bar, there should be no highlighted menu items. What we do in QWindowsKeyMapper is not temporary changes, the first entry will always be highlighted unless we unhighlight it manually. Amends commit 64d65a645c3f64c6b317aed571366bc049c1cd25 Pick-to: 6.4 Change-Id: I22c887478fd928264bfa35b9b3a8b67e16a6c649 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Use SPDX license identifiersLucie Gérard2022-05-161-38/+2
| | | | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Task-number: QTBUG-67283 Change-Id: Id880c92784c40f3bbde861c0d93f58151c18b9f1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Windows QPA: fix the FullScreen standard keyYuhang Zhao2022-04-231-1/+0
| | | | | | | | | | | | | If you try to use the QKeySequence::FullScreen as a shortcut for your Qt applications, you'll find it's not working. This is due to this key combination is being skipped by Qt and it's being passed to Windows's default handling procedure. This is wrong because Windows doesn't provide any default action for this shortcut so nothing will happen. Change-Id: Id73b7275764fe63c119a6d673a665b0090944fef Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Windows QPA: Add some offset to the system menu when appropriateYuhang Zhao2022-03-011-1/+23
| | | | | | | | | | | | | | | | Before this patch, the system menu will always appear on the top-left corner of the window if the window doesn't have the standard window frame. However, this doesn't look very good on most situations, especially when the window has a homemade title bar. This patch adds an extra check for this kind of situations. This patch will automatically apply an appropriate offset for the system menu if the user is trying to use a self-made title bar for their frameless or customized windows. Pick-to: 6.3 6.2 Change-Id: I55e1c4ac26a4051ca48928d4a2ac3456dce117d1 Reviewed-by: André de la Rocha <andre.rocha@qt.io>
* Windows QPA: Highlight the first entry in the system menuYuhang Zhao2022-02-251-1/+9
| | | | | | | | | This is what native Win32 applications usually do. Pick-to: 6.3 6.2 Change-Id: I19f1170113b4064f1d683dbd13b7de7d263105f0 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: André de la Rocha <andre.rocha@qt.io>
* Send Qt::Key_MediaTogglePlayPause for VK_MEDIA_PLAY_PAUSEAllan Sandfeld Jensen2021-01-081-1/+2
| | | | | | | | | | Speculative fix to get the right keys in WebEngine Pick-to: 6.0 5.15 Fixes: QTBUG-89915 Change-Id: I79519b715a1415dccfc4601aae5025b3222a79ae Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Windows QPA: Fix a warning about deprecated conversion of keysFriedemann Kleint2020-11-121-1/+1
| | | | | | | | Use QKeyCombinaton::toCombined(). Change-Id: I829f4e88ad316a6f4f5165c1d929f2dcc83f83de Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Windows QPA: Fix warnings about deprecated operator + for keysFriedemann Kleint2020-09-221-2/+2
| | | | | | Pick-to: 5.15 Change-Id: I48bd41465e62fef6f5ddcf235716a4be5eff46d4 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* QWindowsKeyMapper: fix mixed math between int and enum/flagsGiuseppe D'Angelo2020-09-051-3/+3
| | | | | | | | | Either do it between ints, or cast to the right types before doing it. This should enable removing operator+ and - between int and QFlags. Change-Id: I30ecc03566cff8ce880b048ba3a9d7d50f3c8509 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Port Q_STATIC_ASSERT(_X) to static_assertGiuseppe D'Angelo2020-06-191-1/+1
| | | | | | | | | | | | | | | | | There is no reason for keep using our macro now that we have C++17. The macro itself is left in for the moment being, as well as its detection logic, because it's needed for C code (not everything supports C11 yet). A few more cleanups will arrive in the next few patches. Note that this is a mere search/replace; some places were using double braces to work around the presence of commas in a macro, no attempt has been done to fix those. tst_qglobal had just some minor changes to keep testing the macro. Change-Id: I1c1c397d9f3e63db3338842bf350c9069ea57639 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Move the Windows Event Dispatcher into QtGuiFriedemann Kleint2020-06-091-1/+1
| | | | | | Task-number: QTBUG-83255 Change-Id: Ida86f27d7f52b9be48fbea909979320866ff8dae Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* qpa: Remove references to lighthouseTor Arne Vestbø2020-04-031-1/+0
| | | | | Change-Id: I37646113f626c878883cff49f4e186ec71bcfa15 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Avoid initializing QFlags with 0 or nullptr in further casesFriedemann Kleint2019-11-221-2/+2
| | | | | | | | | Amends qtbase/af2daafde72db02454d24b7d691aa6861525ab99. Where applicable, port over to member initialization, thus also fixing nullptr warnings. Change-Id: Iaaf2dbbbcf2952253390b8839fd15a1b17be32c0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Windows QPA: Port from QList to QVectorFriedemann Kleint2019-11-201-1/+1
| | | | | | | | Use a QVector where possible. Otherwise, try to introduce auto to make migration easier. Change-Id: I9deadb363fabd1755deca180ed5cb771390fcb30 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Merge remote-tracking branch 'origin/5.13' into devLiang Qi2019-07-301-1/+17
|\ | | | | | | | | | | | | Conflicts: qmake/generators/win32/mingw_make.cpp Change-Id: I2f790bc8572bd22fea01edf7ca74595b29f063eb
| * Windows QPA: Fix detection of the Surface Pen eraser buttonAndre de la Rocha2019-07-291-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The Surface Pen eraser button generates Meta+F18/19/20 keystrokes, but when it is not touching the screen the Fn WM_KEYDOWN message is eaten and only a Fn WM_KEYUP message with the previous state as "not pressed" is generated, which would be ignored. With this patch we detect this case and synthesize the expected key events to allow the button to be used in applications. Fixes: QTBUG-77153 Change-Id: I075f5cbb903cb36c9ec241ee1bb31d436b725e3a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Windows QPA: Fix clang warnings about repetitive type namesFriedemann Kleint2019-06-131-3/+3
| | | | | | | | | | | | | | | | | | | | Fix warning like: warning: use auto when initializing with new/reinterpret_cast to avoid duplicating the type name [modernize-use-auto] Change-Id: Ieb7f052919173f6923e68de9f9e849dee45e36e7 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Prefix textstream operators with Qt::Lars Knoll2019-05-021-3/+3
|/ | | | | | | As the non prefixed variants are deprecated Change-Id: I2ba09d71b9cea5203b54297a3f2332e6d44fedcf Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Windows QPA: fix media keys losing autorepeat/keycode informationAndre de la Rocha2019-04-181-12/+8
| | | | | | | | | | | For WM_APPCOMMAND messages that also trigger WM_KEYDOWN/WM_KEYUP, let the latter messages be handled, instead of stripping them and synthesizing a press/release from the command code, in order to get the correct scan codes and autorepeat info. Fixes: QTBUG-73879 Change-Id: I936cd76be87a76dc6b6223eeb246e4e7aee3a4ac Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Windows/Direct2d QPA: Use nullptrFriedemann Kleint2019-01-281-8/+10
| | | | | Change-Id: I6ce01caa58de78e0eb61e243ee1e7b05cc1f5568 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* win32: Fix text prediction with on screen keyboardMaurice Kalinowski2018-11-111-0/+7
| | | | | | | | | | | | | | | When the on-screen keyboard completes a word via text prediction, the message contains VK_PACKET as identifier for a character sequence. While each character is send, the code only contains the first character of the sequence. Hence, resolve the actual code manually in case of a sequence. This does not modify the virtual key, so that users are able to distinguish between manual and predictive input. Fixes: QTBUG-71210 Change-Id: I787f1f2d83acaf124dfbbab6c4614a1bfe7bb2eb Reviewed-by: Andre de la Rocha <andre.rocha@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Windows QPA: Fix programmable keyboard shortcuts being triggered twiceFriedemann Kleint2018-09-281-2/+18
| | | | | | | | | Suppress keyboard events following a WM_APPCOMMAND except for APPCOMMAND_BROWSER_HOME, which does not trigger two events. Task-number: QTBUG-62838 Change-Id: If04206c9ef9409224b4cbc96190792b9be4f656d Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Windows QPA: Add option to detect AltGr key pressesFriedemann Kleint2018-08-211-9/+44
| | | | | | | | | | | According to MSDN, AltGr key presses are sent as a sequence of SYS left Ctrl + right Alt. Add an option to detect AltGr as modifier key. Task-number: QTBUG-69317 Change-Id: I30ce169d2e6dbbae194ff714abfbc732b53652ce Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Windows QPA: Fix clang-tidy-warnings about class definitionsFriedemann Kleint2018-08-061-3/+1
| | | | | | | | | | - Use ' = default' for trivial constructors/destructors - Remove unneeded destructors - replace virtual by override or add override where applicable - Add Q_DISABLE_COPY Change-Id: Ic7a61579dbc845769beada4fc79bb5dd310e5e52 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Windows QPA: Fix some clang-tidy-warningsFriedemann Kleint2018-08-061-3/+4
| | | | | | | | | | | | | | | | - Replace index-based loops by range-based for - Change else if to if after return/break/continue or simplify - Fix indentation - Do not check for non-null before invoking delete on pointer - Use isEmpty() instead size() to check for empty containers - Remove C-style casts - Use raw string literal - Do not repeat type in return, use {} instead - Reference local variables by const ref where applicable Change-Id: I5cc4b4026a10bddb561ba1ba8ec137e0d4119f94 Reviewed-by: Miguel Costa <miguel.costa@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Windows QPA: Fix Qt include statementsFriedemann Kleint2018-05-231-3/+3
| | | | | | | | | | | | Change #include <QtCore/QDebug> to #include <QtCore/qdebug.h> according to the coding style. Change-Id: I6ba8a7424c548ddde1d18f3f6f4f87e30973d710 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-05-081-0/+4
|\ | | | | | | | | | | | | | | Conflicts: src/plugins/sqldrivers/sqlite/qsql_sqlite.cpp tests/auto/corelib/io/qresourceengine/qresourceengine_test.pro Change-Id: I3169f709cc2a1b75007cb23c02c4c79b74feeb04
| * Fix building with -no-feature-shortcutJoni Poikelin2018-05-081-0/+4
| | | | | | | | | | Change-Id: I7576055a6d81d6a7a075ebff16ca6b0ced4e984e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | Windows QPA: Improve debug output of keyboard shortcut handlingFriedemann Kleint2018-05-081-16/+59
|/ | | | | | | | Add a debug operator for KeyboardLayoutItem and output keys in QWindowsKeyMapper::possibleKeys(). Change-Id: I28215f44da2a9c08a27541ef0e906d37be2bad72 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Windows QPA: Add missing calls to keyboard initializationFriedemann Kleint2018-04-251-1/+2
| | | | | | | | | Add calls to changeKeyboard() to the QWindowsKeyMapper constructor and the handling of WM_INPUTLANGCHANGE so that the locale is correctly initialized and changes are processed. Change-Id: Ia30d8c6434ca85165e4882240ae16f9a75dcf4ff Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Windows QPA: Fix handling of VK_DECIMAL/VK_SEPARATORFriedemann Kleint2018-04-251-2/+2
| | | | | | | | | Remove the hardcoded mapping from the key table for fallback keys since the keys are locale-dependent. Task-number: QTBUG-57992 Change-Id: I016ab5f7f7e8abfd30f6416d2e7597db7deecb9b Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Windows QPA: Fix ambiguous shortcut overload warnings for ALT-keysFriedemann Kleint2018-04-201-2/+13
| | | | | | | | | | | Use the match with the least modifiers (prefer Shift+9 over Alt + Shift + 9) resulting in more missing modifiers. Task-number: QTBUG-67200 Change-Id: I90463c0dfaadda29dcd24a08ba35c91fac8bd04c Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Windows QPA: Fix duplicate/missing native eventsFriedemann Kleint2018-04-201-2/+6
| | | | | | | | | | | | | | | | | | | Add utility functions to QWindowsContext input messages sent to native event filters (event dispatcher and window system interface). Do not send input and similar events to the event dispatcher since QEventDispatcherWin32::processEvents() also sends them. Note though that QEventDispatcherWin32 does not receive all windows messages. In QWindowsKeyMapper, send the WM_CHAR/WM_IMECHAR events from where the messages are removed. Task-number: QTBUG-67095 Change-Id: I5f61294fcb3aee7e0eacd840a2010d128cd02a5d Reviewed-by: Andre de la Rocha <andre.rocha@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-07-041-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qprocess_unix.cpp src/plugins/platforms/xcb/qxcbconnection.cpp src/plugins/platforms/xcb/qxcbwindow.cpp src/widgets/util/util.pri tests/auto/corelib/thread/qthread/qthread.pro tests/auto/corelib/thread/qthread/tst_qthread.cpp Change-Id: I5c45ab54d46d3c75a5c6c116777ebf5bc47a871b
| * Windows code: Add Q_FALLTHROUGH or break to unmarked fallthroughs seen by GCC 7Friedemann Kleint2017-06-281-0/+1
| | | | | | | | | | | | | | Rearrange code handling QtWindows::DisplayChangedEvent. Change-Id: If9f32516108fb64c4a252c84392f2fd7f1872bf1 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-06-071-2/+1
|\| | | | | | | | | | | | | Conflicts: src/widgets/widgets/qmenu.cpp Change-Id: I6d3baf56eb24501cddb129a3cb6b958ccc25a308
| * Revert "Win: If the combined key is unknown then fall back to the original ↵Friedemann Kleint2017-05-311-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | key pressed" The change has been found to break Ctrl+C/V shortcuts when using a Russian keyboard layout. This reverts commit c6ecbd4762dd753d34a8ed36bbb4ef3885a2f0fe. Task-number: QTBUG-61086 Change-Id: I0dce708b1a65b08ea10317d723c38b0414cbac7f Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Andy Shaw <andy.shaw@qt.io>