summaryrefslogtreecommitdiff
path: root/src/compositor
Commit message (Collapse)AuthorAgeFilesLines
* Doc: Add CMake build sectionsAndreas Eliasson2023-05-022-11/+25
| | | | | | | | | | | Only qmake instructions exists as of today. Add CMake instructions and make use of the global include snippets. Fixes: QTBUG-113023 Pick-to: 6.5 Change-Id: I50d5f503b5f0c116bc9c1d48b6e09ad2de45a3bb Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io> Reviewed-by: Safiyyah Moosa <safiyyah.moosa@qt.io>
* compositor: adapt to new QXkbCommon::modifiers()Mario Roessel2023-04-241-1/+1
| | | | | | | | Pick-to: 6.5 Fixes: QTBUG-111503 Done-With: Liang Qi <liang.qi@qt.io> Change-Id: Ib6adb03575c06f667ec5d7a0139b4396888d4010 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Doc: Use correct CMake component namePaul Wicking2023-04-241-1/+1
| | | | | | | | | | | | | | The documentation wrongfully states that the name of the CMake component for Qt Wayland Compositor is `Waylandcompositor`. The correct component name is `WaylandCompositor`, see e.g. qtwayland.git/src/compositor/CMakeLists.txt. This change corrects the typo. Fixes: QTBUG-113022 Pick-to: 6.5 Change-Id: I158c8d93e664bd729c912d2f7424a99ea3713ab8 Reviewed-by: Andreas Eliasson <andreas.eliasson@qt.io>
* Document sendFullKeyEvent() and sendKeyEvent() limitationsPaul Olav Tvete2023-04-181-0/+8
| | | | | | | Pick-to: 6.5 Task-number: QTBUG-112853 Change-Id: I5ae7ee194e8415c5e34ecde2d93086885866abfd Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* tests: fix tst_WaylandCompositor::simpleKeyboard()Andrey Butirsky2023-03-311-1/+1
| | | | | | | | | | | | | since the default value of superAsMeta and hyperAsMeta in QXkbCommon::keysymToQtKey() were changed in qtbase 610bafdfc58e90f24e3908e1a5932e2f510eac7e. And Qt Wayland Compositor needs to distinguish Super/Hyper/Meta keys. Fixes: QTBUG-111423 Change-Id: I531c4f6adc019e59d4a7d57853a459ea512028a2 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Forward active focus to clients immediatelyBernd Weimer2023-03-162-2/+13
| | | | | | | | | The acitve focus has only been set in clients when a key was pressed. This caused Qt clients to miss the pressed key event. Fixes: QTBUG-108645 Change-Id: Ie277d64e4e707533d84179c01a69a745cb4da950 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Rename pure-qml to fancy-compositorEskil Abrahamsen Blomfeldt2023-03-061-3/+3
| | | | | | | | | | | | | | | The pure-qml name made sense when the example was made, but since then we have added a lot of examples that are all in Pure QML. Minimal QML covers the basics of how to set up a compositor in QML, but Pure QML shows a more advanced use case, with animations, windowing system features, virtual keyboard support, etc. To make it clear what the example is demonstrating, we call it Fancy Compositor instead. Task-number: QTBUG-110993 Change-Id: Iad1cfb11b6461858ebcdaa388ed16e1fd3ec8805 Reviewed-by: Liang Qi <liang.qi@qt.io>
* doc: Remove category from examples docsEskil Abrahamsen Blomfeldt2023-02-287-13/+11
| | | | | | | | | | | | | | Remove redundant categorization from example title as according to example guidelines. The examples are already categorized under Qt Wayland Compositor Examples, so adding it to the title makes the list a bit cluttered. Pick-to: 6.5 Task-number: QTBUG-110993 Change-Id: I91ad127611c7b1e4d8c558377bc5f46e0ec28a41 Reviewed-by: Inho Lee <inho.lee@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Disambiguate static variablesFriedemann Kleint2023-02-133-9/+9
| | | | | | | | | They cause clashes in CMake Unity (Jumbo) builds. Pick-to: 6.5 Task-number: QTBUG-109394 Change-Id: Ia6e293fa30d788f8abd52bf675f11d7d0151259f Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Doc: Fix documentation warningsTopi Reinio2023-02-071-1/+1
| | | | | | | | | | | * Wiggly example has been removed. * Remove broken link to 'macros' from QWaylandQuickExtension header reference as unnecessary. Pick-to: 6.5 Change-Id: I17c9db09e7d0a649ab3a37ed867d4f81e039d485 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* compositor: Fix crash when raising shell surface itemEskil Abrahamsen Blomfeldt2023-01-301-4/+7
| | | | | | | | | | | | | | | | This was introduced by d89c8920f3b82dd2098971b5a66c4b9c75da5af0. The raise() function would search for a suitable surface, but failing to find one, it would search past the end of the childItems list and cause memory corruption. [ChangeLog][QtWaylandCompositor] Fixed an issue where the compositor would sometimes crash if a shell surface item was brought to front. Pick-to: 6.4 6.5 Fixes: QTBUG-109051 Change-Id: I2249f0881b90fc05b5f0292cd35c6524db4663c5 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Add WL_SHM_FORMAT_RGB888 to supported shm formatsThomas Senyk2022-12-131-0/+1
| | | | | | | | | | In addition a new entry in QWaylandCompositor::ShmFormat allows compositors to enable that format at runtime Pick-to: 6.5 Change-Id: I0f894adb3f688458a65713e343127fbcb26f8b65 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* compositor: fix build without quickLiang Qi2022-12-095-0/+21
| | | | | Change-Id: Ic9ff039028e509c3e09d446f85648fe063f4749f Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* compositor: Support touch interaction with client decorationsEskil Abrahamsen Blomfeldt2022-12-072-13/+33
| | | | | | | | | | | | | | | | | | | | The client tells us when the title bar has been pressed and it has started a move, but we only actually updated the position of the window for mouse events. This adds touch event support for this, but only for a single touch point. Since there is no way of knowing which touch point actually triggered the move, we just assume it is the first. This could cause some odd behavior if you try interacting with the window frame with two fingers at the same time, but not beyond what you would expect. [ChangeLog][QtWaylandCompositor] It is now possible to move windows using client-side decorations with touch input as well as mouse input. Fixes: QTBUG-108690 Change-Id: I23ce1e39a26be5b1b5a5ac93d8f38cc59685aa96 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* compositor: Fix warning on damage/damage_buffer mixEskil Abrahamsen Blomfeldt2022-12-072-27/+22
| | | | | | | | | | | | | | | | | The damage() request has been deprecated in favor of the damage_buffer() request, which is the one we use in Qt 6 as long as the version is 4 or higher. See change: 314fd6db51277224cdc799b039ef79db1101f5cd. However, eglSwapBuffers() will in some drivers still send the old request, causing us to get a mix of incompatible requests, since they are in different coordinate systems. We need to store these separately so that we can apply them both correctly once we get a commit. Fixes: QTBUG-108765 Change-Id: I9bbe0c87731847a4fa1927957dfd8945bd49c474 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Compositor_api: delete TexProvider properlyInho Lee2022-12-072-2/+21
| | | | | | | | | | | If a QuickItem used in a compositor has a texture provider, it is not destroyed before deleting QRhi. It makes a warning of unreleased resources. Fixes: QTBUG-108767 Pick-to: 6.4 Change-Id: Id86839f1de1ff4f374170627d9c1e02c4afb7301 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Improve examplesBernd Weimer2022-11-251-2/+4
| | | | | | | | | Updated signal handlers to new syntax to reduce noise (warnings). Allowed to build examples with subfolders in one step, updated from deprecated WlShell to XdgShell, etc. Change-Id: If821363ffd1b38ea1d152f5a044b0609cf739014 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Add dependencies of wayland protocolsInho Lee2022-11-071-0/+4
| | | | | | | | Some macros are missing DEPENDS for add_custom_commands Fixes: QTBUG-108142 Change-Id: Ifacb2ea9bf3003c10dd407a8c77fc06b893b6a65 Reviewed-by: David Edmundson <davidedmundson@kde.org>
* Replace usages of Q_CLANG_QDOC with Q_QDOCLuca Di Sera2022-10-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | To allow the user to customize the C++ code that QDoc sees, so as to be able to work-around some limitations on QDoc itself, QDoc defines two symbols: Q_QDOC and Q_CLANG_QDOC, both of which are "true" during an entire execution of QDoc. At a certain point in time, QDoc allowed the user the choice between a custom C++ parser and a Clang based one. The Q_QDOC symbol would always be defined while the Q_CLANG_QDOC symbol would be defined only when the Clang based parser was chosen. In more recent times, QDoc always uses a Clang based parser, such that both Q_CLANG_QDOC and Q_QDOC are always defined, making them equivalent. To avoid using different symbols, and the possible confusion and fragmentation that derives from it, all usages of Q_CLANG_QDOC are now replaced by the equivalent usages of Q_QDOC. Change-Id: I7b606de94889497a7ee7daebd01e6443a89a60d5 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Adapt module to work with the new syncqtAlexey Edelev2022-10-122-0/+8
| | | | | | | | | Add dependencies to WaylandCompositor_sync_headers for the qml plugin targets. Add deprecation macros. Fix syncqt warnings. Task-number: QTBUG-87480 Change-Id: I0e169344c9a8186484fbb36f5ec1e03cd38ea19b Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Add private header filters to the qt_interal_add_module callsAlexey Edelev2022-10-121-0/+2
| | | | | | | | | | This is required to filter the generated wayland files when syncing headers. Task-number: QTBUG-103196 Change-Id: I86d440bf8b56802dff2fa75ba621c37a8daa8bbf Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Port from qAsConst() to std::as_const()Marc Mutz2022-10-105-14/+14
| | | | | | | | | | | | | | We've been requiring C++17 since Qt 6.0, and our qAsConst use finally starts to bother us (QTBUG-99313), so time to port away from it now. Since qAsConst has exactly the same semantics as std::as_const (down to rvalue treatment, constexpr'ness and noexcept'ness), there's really nothing more to it than a global search-and-replace. Task-number: QTBUG-99313 Change-Id: Ia64c6615ee81f7ad5d0658449b0ee347c3db8c29 Reviewed-by: David Edmundson <davidedmundson@kde.org>
* Port from container::count() and length() to size()Marc Mutz2022-10-105-10/+10
| | | | | | | | | | | | | | | | | | | | | This is a semantic patch using ClangTidyTransformator as in qtbase/df9d882d41b741fef7c5beeddb0abe9d904443d8: auto QtContainerClass = anyOf( expr(hasType(cxxRecordDecl(isSameOrDerivedFrom(hasAnyName(classes))))).bind(o), expr(hasType(namedDecl(hasAnyName(<classes>)))).bind(o)); makeRule(cxxMemberCallExpr(on(QtContainerClass), callee(cxxMethodDecl(hasAnyName({"count", "length"), parameterCountIs(0))))), changeTo(cat(access(o, cat("size"), "()"))), cat("use 'size()' instead of 'count()/length()'")) a.k.a qt-port-to-std-compatible-api with config Scope: 'Container', with the extended set of container classes recognized. Change-Id: I574208abc90a8042b500b3f96e3862b0ff339eb6 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
* Fix syncqt warningsLuca Di Sera2022-10-101-1/+1
| | | | | | Change-Id: I739eb81ec78a071baa85d24f26bb45b184b9068c Reviewed-by: Topi Reiniö <topi.reinio@qt.io> Reviewed-by: David Edmundson <davidedmundson@kde.org>
* Replace qExchange with std::exchangeMarc Mutz2022-10-061-1/+1
| | | | | | | | | | None of these users require C++20 constexpr or C++23 noexcept, the only remaining difference between std::exchange and qExchange. Task-number: QTBUG-99313 Change-Id: Ic5a0bd36d715af2cbc5f9936fdff665ee6eeea4e Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: David Edmundson <davidedmundson@kde.org>
* Update header files to fit syncqt standardsAlexey Edelev2022-09-286-11/+20
| | | | | | Task-number: QTBUG-87480 Change-Id: I83fd8b53ef7ee4eb068f26e717b37cb2e52fe874 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Change the license of all CMakeLists.txt and *.cmake files to BSDLucie Gérard2022-08-233-3/+3
| | | | | | | Task-number: QTBUG-105718 Change-Id: Icb25ea4e07a38eea81f55ed59c6d3b9d37602626 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Remove Cpp.ignoretokens, Cpp.ignoredirectives from .qdocconfKai Köhne2022-08-221-3/+0
| | | | | | | | qdoc's new clang backend does not use them anymore. Task-number: QTBUG-104903 Change-Id: Id3ae854816cde9983987c840705e526e3a7f5f28 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Add license headers to cmake filesLucie Gérard2022-07-083-0/+9
| | | | | | | | | | | | CMakeLists.txt and .cmake files of significant size (more than 2 lines according to our check in tst_license.pl) now have the copyright and license header. Existing copyright statements remain intact Task-number: QTBUG-88621 Change-Id: Ib014757184540728f40df71cd580f01e85fbbb56 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Doc: Do not advertise Qt module includeKai Köhne2022-07-081-6/+0
| | | | | | | | | People should rather use class includes, like they are advertised in each class documentation. Pick-to: 6.4 Change-Id: Ied028bcedc3c82ec85ff0c7d6ef35958abf52835 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Check m_dragFocusResource for nullptr in DataDevice::dragMoveRoman Genkhel2022-06-301-2/+2
| | | | | | | | | | | | We encounter situation where 'dragMove' was called for DataDevice`s instance, but 'data_device_start_drag' did not called or 'drop' was called before, because even all m_drag* pointers including m_dragOrigin were nullptr Pick-to: 6.3 Change-Id: Ic435286a77e273167b1aa812cbf18a7fbf3489f2 Reviewed-by: Elvis Lee <kwangwoong.lee@lge.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* add an interface to customize modifiersMap for zwp_text_input_v2Inho Lee2022-06-293-0/+35
| | | | | | | sendModifiersMap can be used for setting modifiersMap Change-Id: I786140d14adacd05b89c7fe9599933bfba55f054 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Implement send_modifiers_map for zwp_text_input_v2Inho Lee2022-06-292-3/+28
| | | | | | | | | | zwp_text_input_v2's modifiers_map was used in client but QWaylandCompositor does not care about it. Pick-to: 6.4 6.3 6.2 5.15 Fixes: QTBUG-104227 Change-Id: I78ff56f84b5380e74649a0a8de99eaffd8a359ab Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Fix potential nullptr access in the compositor when killing clientsRobert Griebl2022-06-171-2/+2
| | | | | | Pick-to: 6.4 Change-Id: Ie9e0a61fb26a305bc5b913dc95bdf31c1e7cb408 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Fix WaylandCompostior build without QtQmlIlya Fedin2022-06-151-1/+1
| | | | | | | | | This regressed in 55223c995b3895daa34e7ad632544d9a6bf80187 Fixes: QTBUG-97593 Pick-to: 6.4 6.3 6.2 Change-Id: I06f4cf70ea97131cb07f9c5a6f9c55c7397c1dcf Reviewed-by: Liang Qi <liang.qi@qt.io>
* Use SPDX license identifiersLucie Gérard2022-06-10188-5333/+399
| | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. License files are organized under LICENSES directory. Pick-to: 6.4 Task-number: QTBUG-67283 Change-Id: I106d3a5d1a7b96250380b6f51a48f3b19d10e4d9 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* QtWaylandCompositor: includemocsLiang Qi2022-06-0140-0/+82
| | | | | | | Pick-to: 6.3 6.2 5.15 Task-number: QTBUG-103295 Change-Id: I2311465d5341fc5902981d80ab0a117dd2df002d Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* QtWaylandCompositor: includemocs - qt6Liang Qi2022-06-014-0/+10
| | | | | | | Pick-to: 6.3 6.2 Task-number: QTBUG-103295 Change-Id: Ica578e313dfcea3ec9f2c426fab9d1b643286bb5 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Add missing QT_{BEGIN,END}_NAMESPACELiang Qi2022-06-013-0/+12
| | | | | | | | | Found by the includemoc script complaining. Pick-to: 6.3 6.2 5.15 Task-number: QTBUG-103295 Change-Id: I56513a331c098c1511b0b0091902f1e83f61e5c2 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Add a TU for qwaylandcompositorquickextensions_p.hLiang Qi2022-06-012-1/+37
| | | | | | | | | | | | Just to include the moc file. It's otherwise the only one left in mocs_compilation.cpp and we might want to introduce a warning later on if something ends up in there, to maintain the newly-established includemocs level. Pick-to: 6.3 6.2 Task-number: QTBUG-103295 Change-Id: Ic4dd94ab1a6ca20c4e0350066c875895841f4168 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Add a TU for qwaylandquickextension.hLiang Qi2022-06-012-1/+39
| | | | | | | | | | | | Just to include the moc file. It's otherwise the only one left in mocs_compilation.cpp and we might want to introduce a warning later on if something ends up in there, to maintain the newly-established includemocs level. Pick-to: 6.3 6.2 5.15 Task-number: QTBUG-103295 Change-Id: Iafaf87d8624f0162acd1a3063b5c4fac83406194 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* CMake: use the --build-macro option to qtwaylandscannerThiago Macieira2022-05-191-2/+15
| | | | | | | | | So we get correct exports different from imports, which are required for GCC 12 with -mno-direct-extern-access and protected visibility. Change-Id: If05aeeb7176e4f13af9afffd16e856de1f4f68d6 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Replace QScopedPointer with std::unique_ptrThiago Macieira2022-05-112-4/+4
| | | | | | | | | | | | | As the warning asked. qwaylandshellintegrationfactory.cpp:67:28: warning: ‘T* QScopedPointer<T, Cleanup>::take() [with T = QtWaylandClient::QWaylandShellIntegration; Cleanup = QScopedPointerDeleter<QtWaylandClient::QWaylandShellIntegration>]’ is deprecated: Use std::unique_ptr instead, and call release(). [-Wdeprecated-declarations] As a drive-by, change *foo.get() to *foo. Pick-to: 6.3 6.2 Change-Id: I7fb65b80b7844c8d8f26fffd16e97fe161d6a67a Reviewed-by: Marc Mutz <marc.mutz@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* compositor: Fix build without xkbcommonSamuli Piippo2022-05-101-1/+1
| | | | | | | | | | | This amends 4910b7adfa706520cd5180d5384b999488550aef. QWaylandKeyboardPrivate::resetKeyboardState() is behind an #if. We need to match the condition for the definition as well. Fixes: QTBUG-103341 Change-Id: Ib0b5b6284cac10a0cb5d53fca08e0d7226e7240a Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* compositor: Fix build without xkbcommonEskil Abrahamsen Blomfeldt2022-05-101-0/+4
| | | | | | | | | | | This amends 4910b7adfa706520cd5180d5384b999488550aef. QWaylandKeyboardPrivate::resetKeyboardState() is behind an #if. We need to match the condition for the code that calls it. Fixes: QTBUG-103341 Change-Id: I6337a64870bb08930b0d19e03ca7fcc28e345493 Reviewed-by: Liang Qi <liang.qi@qt.io>
* Fix: Access nullptr returned by QWaylandSurface::client()Roman Genkhel2022-05-101-1/+1
| | | | | | | | | surface()->client() could return null at the moment when QWaylandQuickItem::takeFocus invoked, which cause using nullptr Pick-to: 6.2 6.3 Change-Id: I89432882bd7117f45bac889bc85b2f86c77b21e8 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Compositor: Re-enable touch events for Wayland clientsEskil Abrahamsen Blomfeldt2022-05-041-0/+1
| | | | | | | | | | | | | | | | | | | As documented, setAcceptTouchEvents() would be implicit in calling setAcceptedMouseButtons() in Qt 5, but in Qt 6, this was changed. The result was that QWaylandQuickItems would never receive any touch events in Qt 6, even though the touchEventsEnabled flag is set by default. To fix this, we add an explicit call to setAcceptTouchEvents() to ensure the same behavior as we had in Qt 5. [ChangeLog][QtWaylandCompositor] Fixed a bug where multi-touch would not work with Qt Wayland Compositor. Pick-to: 6.2 6.3 Fixes: QTBUG-102829 Change-Id: Idc99c56a7cc8651da844be3ea238b8537891dd1f Reviewed-by: Liang Qi <liang.qi@qt.io>
* Clear keyboard modifier state when application deactivatesEskil Abrahamsen Blomfeldt2022-05-034-8/+53
| | | | | | | | | | | | | | | | | | | | | | When the application deactivates while a modifier is held down, the modifier would get stuck and be set for all subsequent shortcut events. This could easily happen when nesting a Wayland compositor inside another compositor and using ALT+TAB to switch to another application. The alt modifier would then get stuck, since it never received any release event. When the application is inactive and then comes back, we can't know which keys are pressed, so it's better to just assume they are all cleared at this point. [ChangeLog][QtWaylandCompositor] Fixed a bug where keyboard modifiers would get stuck if the compositor was running nested inside e.g. X11 and then ALT-TAB was used to switch to a different application. This would cause shortcuts to misbehave. Fixes: QTBUG-101862 Change-Id: I9645418719d8ef8fc2ce2203ca5b6a159f3d9a7c Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Fix deprecated warningAllan Sandfeld Jensen2022-04-271-1/+1
| | | | | | | | | Use QMetaType instead of QVariant types Pick-to: 6.3 Change-Id: I92248cc5eff82c1dc20f7cad11bdeeccc64a5605 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Liang Qi <liang.qi@qt.io>
* Doc: Fix QWaylandSurface::isOpaque property documentationTopi Reinio2022-04-061-1/+1
| | | | | | | | | | The \property command accepts no type, only the name of the property. Task-number: QTBUG-102185 Change-Id: Ia779a8c4097c7f4f1d1080b0e75114cea947578a Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>