summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Update dependencies on 'dev' in qt/qtwaylandHEADdevQt Submodule Update Bot13 hours1-3/+3
| | | | | Change-Id: I30bc3135c8068661d182abdcb9ca9b9be30b4d8d Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Update dependencies on 'dev' in qt/qtwaylandQt Submodule Update Bot4 days1-3/+3
| | | | | Change-Id: I5a9a11c2b729df27016cc0eff0668c2dc61fe9c8 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* client: Explain what PUBLIC_CODE doesDavid Redondo6 days1-1/+2
| | | | | Change-Id: If7d0954561cecddefada49d7f00359a711bb9e29 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Revert "Revert "QWaylandDisplay: Allow software-only deco and don't init GL ↵Kai Uwe Broulik6 days1-1/+6
| | | | | | | | | | | | | needlessly"" This reverts commit 171e1d0d2761ba64cb15edbd32d02fb50ef57d28. Reason for revert: Cause for test failure has likely been addressed by b9a5ffab93627cfedcead1574c8f0fd010b329b5 Fixes: QTBUG-124284 Fixes: QTBUG-124285 Change-Id: Iedeb1d2800951e549fe4a4846aaaa477cfa497ae Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Update dependencies on 'dev' in qt/qtwaylandQt Submodule Update Bot6 days1-3/+3
| | | | | Change-Id: Icb1518eb7178ccc9613195c6d9b2700d72671e35 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Remove unused private fieldMoss Heim8 days2-3/+1
| | | | | | | | This causes a build failure under clang 17. Change-Id: I9e256109ec6e7de146334012bce90912d0d4bb62 Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: David Redondo <qt@david-redondo.de>
* tests: Don't use auto and manual configure togetherDavid Edmundson8 days1-1/+1
| | | | | | | | | | | | | The tests always send an explicit manual configure. This is important because we want to test the client's first buffer is correct and this comes after the first configure event. Having auto configure enabled means it's racey and flakey between the auto response on the compositor thread and the client dispatching a manual repsonse. Change-Id: I92170a2d96c01d01c22983e43ff1f1281b1a48a2 Reviewed-by: David Redondo <qt@david-redondo.de>
* Update dependencies on 'dev' in qt/qtwaylandQt Submodule Update Bot11 days1-3/+3
| | | | | Change-Id: I844aaa6abea2a13f2aab58db85cc5edf443ff0b8 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* client: Disentangle platform services and windowmanagerintegrationDavid Redondo11 days10-91/+127
| | | | | | | | | The current state was a bit messy with the platform services being the potentially no initialised qt window manager extension wayland object. Change-Id: Id1f911b75d34fcf70594ca7257b79bf431f0643f Reviewed-by: David Edmundson <davidedmundson@kde.org>
* Add a licenseRule.json file for checking of SPDX license identifiersLucie Gérard14 days1-0/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The license test in qtqa reads this file in order to check the validity of the license used. This file reproduce the QUIP-18 [1] rules, with some exceptions. Each entry in the file corresponds to a set of licensing rules. A set of licensing rules can depend on the file ending, registered in "file_pattern_ending". The last entry in the file has no "file_pattern_ending", it sets the rules for the files whose licensing does not depend on their ending. The license to be used depends on the location of the file within the Qt module repository. Let's call this "<true_location>". The "<true_location>" can also correspond to a file name, offering flexibility for exceptions to the rule. The "<true_location>" are registered in "location". For each "<true_location>" there is a "file type" entry and a "spdx" entry. The "spdx" entry gives the rule: the expected license tag(s) in SPDX format for the file ending (if applicable) and "<true_location>". The "file type" informs on the QUIP-18 type the tested file corresponds to. It is purely informational for the reader. The set of rules are tested in order of appearance in the json file. For this reason, a more constraining ending (like "special.txt") needs to appear in a "file_pattern_ending" located before the "file_pattern_ending" of a less constraining ending (like ".txt"). Also, a file ending cannot be present in two "file_pattern_ending". "file_pattern_ending" and "spdx" should list strings. "<true_location>" can be regular expressions. During the test the deeper "<true_location>" are checked first. The order is which they appear in the json file does not matter. To test this file, run QT_MODULE_TO_TEST=../qtwayland perl tests/prebuild/license/tst_licenses.pl [1]: https://contribute.qt-project.org/quips/18 Pick-to: 6.7 Task-number: QTBUG-121039 Change-Id: If20b4f56589512270699f14717a7128b85c557be Reviewed-by: Kai Köhne <kai.koehne@qt.io>
* Correct license for module and plugin filesLucie Gérard2024-05-036-6/+6
| | | | | | | | | | | | | | | | | According to QUIP-18 [1], all module and plugin files should be LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only or LicenseRef-Qt-Commercial OR GPL-3.0-only Also, LGPL and non LGPL should not be mixed in a given directory [1]: https://contribute.qt-project.org/quips/18 Pick-to: 6.7 Task-number: QTBUG-121787 Change-Id: I7ea516b58210764939923fa09ea2ff05c48f5fd2 Reviewed-by: Kai Köhne <kai.koehne@qt.io>
* Change license for tools filesLucie Gérard2024-05-031-1/+1
| | | | | | | | | | | | According to QUIP-18 [1], all tools files should be LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 [1]: https://contribute.qt-project.org/quips/18 Pick-to: 6.7 Task-number: QTBUG-121787 Change-Id: I9a08423046dd325dd267d2390faf8d2eb0c76315 Reviewed-by: Kai Köhne <kai.koehne@qt.io>
* Update dependencies on 'dev' in qt/qtwaylandQt Submodule Update Bot2024-05-031-3/+3
| | | | | Change-Id: Icc406b5948c8e3ba2a9005c24622f879ed02d2ca Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Update dependencies on 'dev' in qt/qtwaylandQt Submodule Update Bot2024-05-021-3/+3
| | | | | Change-Id: I71968a7e5b85d37955099eefea8a3a0b6f86e152 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Make wheel operations compatible with xcbInho Lee2024-04-301-2/+4
| | | | | | | | | | On xcb, Alt modifier makes wheel operations horizontal. Fixes: QTBUG-124807 Pick-to: 6.7 6.5 Change-Id: I98cfe14b4df91169a5ff4e777ebe954087747e17 Reviewed-by: Vlad Zahorodnii <vlad.zahorodnii@kde.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* qtwaylandscanner: don't track source file locationSamuli Piippo2024-04-291-1/+1
| | | | | | | | | | | Generate source code without information about original location of the source file. Useful for reproducible builds. Task-number: QTBUG-105926 Task-number: QTBUG-105913 Change-Id: I5f9b3f90e6e85c772a92425e7b796a9d63c3c713 Reviewed-by: Ari Parkkila <ari.parkkila@qt.io> Reviewed-by: David Edmundson <davidedmundson@kde.org>
* Update dependencies on 'dev' in qt/qtwaylandQt Submodule Update Bot2024-04-291-3/+3
| | | | | Change-Id: Ief7478a05adffd47136c5dbf60cc14525eb230f4 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* QWaylandWindow: requestActivate on showKai Uwe Broulik2024-04-264-0/+17
| | | | | | | | | | | | | | For simplicitly, a Wayland compositor typically activates a window when it is mapped. However, it does not necessarily have to and might not want to in order to prevent stealing focus. Inttroduce a requestActivateOnShow() on the shell which is called when showing a window and, in case of XDG Shell, will explicitly request activation (unless Qt::WA_ShowWithoutActivating is set) and make use of the existing XDG Activation infrastructure. Change-Id: I69ab5f2cee4540d5baefa5a266f22dbb165e4192 Reviewed-by: David Edmundson <davidedmundson@kde.org>
* Update dependencies on 'dev' in qt/qtwaylandQt Submodule Update Bot2024-04-251-3/+3
| | | | | Change-Id: I33c90c10878036072f173b08106b2220557cb5ae Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* client: implement QWaylandScreen::topLevelAt()Liang Qi2024-04-222-0/+12
| | | | | | | | | | For security reason, Wayland doesn't provide global position for top level windows in most cases. Task-number: QTBUG-113404 Pick-to: 6.7 6.5 6.2 5.15 Change-Id: I2cd11b641fba6582cf96cfbea16f5e598a473db5 Reviewed-by: David Edmundson <davidedmundson@kde.org>
* client: Synthesize enter/leave event for popup in xdg-shell - 2Liang Qi2024-04-221-5/+3
| | | | | | | | | | | | | | | | | This amends 73d35d3117722cef8e94f0d2036c56ad0a5ddae9. We can't depend on QGuiApplication::topLevelAt(). For security reason, Wayland doesn't provide global position for top level windows in most cases. We just synthesize enter/leave event for popup between it and the parent. Task-number: QTBUG-100148 Task-number: QTBUG-113404 Pick-to: 6.7 6.5 6.2 5.15 Change-Id: I9de1d413cdbc43486c1a110df4517750983e4fda Reviewed-by: David Edmundson <davidedmundson@kde.org>
* Update dependencies on 'dev' in qt/qtwaylandQt Submodule Update Bot2024-04-191-3/+3
| | | | | Change-Id: Ic601a81ed5368f4663c0441ec0b50b96be6a7c46 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* compositor: fix build without quick - xdg_dialog_v1Liang Qi2024-04-181-1/+1
| | | | | | | This amends 0417a5f34a327be44a50b5164266b9f607776461 . Change-Id: I3e24a138246c2333196296048709e329873d6134 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Make build error less ambiguousEskil Abrahamsen Blomfeldt2024-04-181-1/+1
| | | | | | | | | | | | | The phrasing of the error message caused some confusion when people thought it indicated that QtGui itself was missing from the build. This tries to make it very explicit that it is the wayland-feature which is missing and not QtGui itself. Pick-to: 6.7 Task-number: QTBUG-123489 Change-Id: I8dcdf8bdbb05a379dea3021cec8bf8e7036d55dc Reviewed-by: David Redondo <qt@david-redondo.de> Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
* Client: Wire up surfaceRoleCreated/Destroyed signalsKai Uwe Broulik2024-04-171-0/+3
| | | | | | | Emit them after creating or destroying the shell surface. Change-Id: Ied54933ca0f0aec25cc288f7cfe191c85b37f543 Reviewed-by: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
* Update dependencies on 'dev' in qt/qtwaylandQt Submodule Update Bot2024-04-171-3/+3
| | | | | Change-Id: I1ab1592195bbc40f38a659e7e66eb70d70939549 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* client: Add CMake options to control visibility of generated symbolsDavid Redondo2024-04-152-3/+22
| | | | | | | | | | | | | | | | | Using public-code by default is problematic if multiple libraries contain wayland interface definitions generated with public-code which exports the symbols of the interface definitions from the library. If not all libraries are build against the same protocol version and the symbol is resolved to a version generated from an older version of the protocol, then libwayland will detect a protocol error if a request or event from the newer version is used. This introduces two new options PRIVATE_CODE and PUBLIC_CODE to qt6_generate_wayland_protocol_client_sources which correspond to the wayland-scanner options. For backwards compatibility PUBLIC_CODE is the default. Change-Id: Ia30ec4b83419962b768207d7353c495e11b0268e Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* ShellSurfaceItem: Make sure modal dialogs stay on topPaul Olav Tvete2024-04-121-5/+28
| | | | | | | | | | | | Use the new modal property from ShellSurface, and treat modal dialogs as StaysOnTop. [ChangeLog][QtWaylandCompositor] ShellSurfaceItem will keep modal dialogs on top of other surfaces when using XdgShell. Fixes: QTBUG-118813 Change-Id: Iaa0ca411dc4fec740e0fbe1db523b16b028c4c29 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* compositor: Implement xdg_dialog_v1Paul Olav Tvete2024-04-1212-15/+267
| | | | | | | | | | | Implement xdg_dialog_v1 on the compositor side. This adds a new properties in the QML API: XdgToplevel::modal ShellSurface::modal Task-number: QTBUG-90005 Change-Id: Ie80358bc59c3dabc6e841b65d193c8ca56bacde3 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Revert "Make Qt::Gui as a required module"Inho Lee2024-04-121-1/+5
| | | | | | | | | | | | This reverts commit 9848b60e684ba2fcddff8218d893f45166a34639. Reason for revert: QTBUG-123489's root cause might not be here. The log shows Qt6Gui exists but build tools cannot find it. It will be fixed with another patch. Pick-to: 6.7 6.6 6.5 Task-number: QTBUG-123489 Fixes: QTBUG-124304 Change-Id: I3313bdcb971bd480c92b3f0946610b4130396c58 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* Revert "QWaylandDisplay: Allow software-only deco and don't init GL needlessly"Eskil Abrahamsen Blomfeldt2024-04-111-6/+1
| | | | | | | | | | | | | | | This reverts commit 3652666c559382f6d575fa4102e132b71a58785f. This optimization causes flakiness in the xdgdecorationv1 test, possibly because it no longer handles the case where the supportsWindowDecoration() function is called before the buffer integration is initialized. So it unfortunately has to be reverted until a better approach can be figured out. Fixes: QTBUG-124259 Change-Id: I05f13a51b22b6779bffba531f08ebfd17a9afb38 Reviewed-by: David Redondo <qt@david-redondo.de>
* Fix out variable in external shaderBernd Weimer2024-04-111-3/+3
| | | | | | | | Output variable gl_FragColor wasn't declared due to a copy-paste error. Pick-to: 6.7 6.6 6.5 Change-Id: I0732953143d9a2315d430e57d8e1a92cca87f542 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Remove unused member in quickitemBernd Weimer2024-04-111-14/+13
| | | | | Change-Id: I5543ace14dbc854e2122c9b31189701cf025df3b Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Correct executable name in server-buffer testBernd Weimer2024-04-111-1/+1
| | | | | Change-Id: I9fb321000f4ac33f67fc79a88b20707af4504614 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Client: Close xdg popups using QWSI::handleCloseEvent()Vlad Zahorodnii2024-04-051-1/+1
| | | | | | | | | This shouldn't matter in practice, the main motivation behind this change is to make window closing code consistent both for xdg-toplevels and xdg-popups. Change-Id: I74ef11ddbaf942cb545bb04baf7b35979adde81c Reviewed-by: David Redondo <qt@david-redondo.de>
* Fix xkbcommon dependency for WaylandSeat.sendUnicodeKeyEventInho Lee2024-04-051-5/+4
| | | | | | | | | | | Amends c0d108b5042752359c279b41cc6f055f4f18ec60. Unicode conversions will be done without using QXkbCommon. Pick-to: 6.7 Change-Id: I9d9f94b799179f82912bd1be54431e460c37b363 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Client: Use QWindowSystemInterface::handleCloseEvent() to close xdg-toplevelVlad Zahorodnii2024-04-051-1/+1
| | | | | | | | | | | | QWindow::close() will close a window regardless whether it's blocked by a modal dialog. On the other hand, QWindowSystemInterface::handleCloseEvent() will do nothing if a close event is sent to an xdg-toplevel window with a modal dialog. Pick-to: 6.7 Change-Id: I5f18d38d4fdbb5748687ee3537035172df916de9 Reviewed-by: Kai Uwe Broulik <kde@privat.broulik.de> Reviewed-by: David Redondo <qt@david-redondo.de>
* Update dependencies on 'dev' in qt/qtwaylandQt Submodule Update Bot2024-04-051-3/+3
| | | | | Change-Id: I5a3eb90b2b79cd26302d37217eeee7b2ab3af84c Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Correct license for test filesLucie Gérard2024-04-04106-106/+106
| | | | | | | | | | | According to QUIP-18 [1], all test files should be LicenseRef-Qt-Commercial OR GPL-3.0-only [1]: https://contribute.qt-project.org/quips/18 Task-number: QTBUG-121787 Change-Id: I35b93ca5f2fd27685eda4aafda48c24925c0c56f Reviewed-by: Kai Köhne <kai.koehne@qt.io>
* Correct license for examples filesLucie Gérard2024-04-0418-18/+18
| | | | | | | | | | | | | Example takes precedence over build system file type. According to QUIP-18 [1], all examples file should be LicenseRef-Qt-Commercial OR BSD-3-Clause [1]: https://contribute.qt-project.org/quips/18 Pick-to: 6.7 Task-number: QTBUG-121787 Change-Id: I4f07260d6121ca3f95d12ca399f3301d97d33f52 Reviewed-by: Kai Köhne <kai.koehne@qt.io>
* Correct license for build system filesLucie Gérard2024-04-041-1/+1
| | | | | | | | | | | | | Assuming files in config.tests are build system files. According to QUIP-18 [1], all build system files should be BSD-3-Clause [1]: https://contribute.qt-project.org/quips/18 Pick-to: 6.7 Task-number: QTBUG-121787 Change-Id: Ia0d04407a0c7f5ac89135d7ab89e35fe6f2d377b Reviewed-by: Kai Köhne <kai.koehne@qt.io>
* QWaylandDisplay: Allow software-only deco and don't init GL needlesslyKai Uwe Broulik2024-04-021-1/+6
| | | | | | | | | | | | Don't initialize the client buffer integration just to check whether it can do a decoration. If we had a GL window, it would have initialized GL already. Also, we can do software-rendered decorations nowadays, only disable them if the integration explicitly says it can't. Change-Id: I396d32796a10ccffd6ef3bb0c5eaa3a1078b8d79 Reviewed-by: Ilya Fedin <fedin-ilja2010@ya.ru> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Client: Replace a bunch of frameMargins with clientSideMarginsIlya Fedin2024-03-293-5/+5
| | | | | | | | | | | Use it wherever window coordinates should be translated to surface coordinates This also fixes the usage of QWindow::mapFromGlobal which is in wrong coordinate space while handling CSD dragging from pending touch points Change-Id: I66b114610f0e44fea10535594adb5d1284196662 Reviewed-by: David Edmundson <davidedmundson@kde.org>
* client: Implement dialog-v1 protocolDavid Redondo2024-03-2713-5/+363
| | | | | | | | Allows to mark windows as modal dialogs. Change-Id: Ie4999552933e02fc473e621e7cc5e3f2928c0adb Reviewed-by: Vlad Zahorodnii <vlad.zahorodnii@kde.org> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Bradient: make drawing coordiantes consistentIlya Fedin2024-03-261-24/+26
| | | | | | | | | | | | Currently some parts of the decoration use surface size (window icon, window controls) while other parts use window content geometry. As backing store paints it from the start of the surface, use surface size everywhere. This is visible when setting custom margins. Change-Id: I22a84fd35bd6e088c30ea265d8cb4af86f14e1a5 Reviewed-by: David Edmundson <davidedmundson@kde.org>
* Update dependencies on 'dev' in qt/qtwaylandQt Submodule Update Bot2024-03-251-3/+3
| | | | | Change-Id: I62e2e780257ca6cb6fe9b5d69adb7c506924600c Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Use NO_GENERATE_CPP_EXPORTS explicitlyAlexey Edelev2024-03-2512-1/+16
| | | | | | | | | | Use NO_GENERATE_CPP_EXPORTS explicitly for modules that don't need the autogenerated exports header file. Task-number: QTBUG-90492 Change-Id: I3494ac88e136126265e14ef1a380c5ef26def3ef Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Make Qt::Gui as a required moduleInho Lee2024-03-221-5/+1
| | | | | | | | | A module Qt::Gui should not be an optional Fixes: QTBUG-123489 Pick-to: 6.7 6.6 6.5 Change-Id: I7f4129b37aa39e41cd4ce6dfc267fcf916f3ddbc Reviewed-by: David Redondo <qt@david-redondo.de>
* Use static_cast rather than dynamic_castLu YaNing2024-03-211-2/+2
| | | | | | | | | | | To avoid RTTI. When I tried to implement the reconnect function in Plasma5, I found that the application would have a dynamic_cast crash problem. Referring to other usage logic and suggestions in Qt, it is recommended to avoid using dynamic_cast. Change-Id: I4fd41846c3215f60aafc7e38d1542d52ec6759b8 Reviewed-by: David Redondo <qt@david-redondo.de>
* Client: Fix the mouse being stuck in pressed state after ↵Ilya Fedin2024-03-203-5/+17
| | | | | | | | | startSystem{Move,Resize} Fixes: QTBUG-97037 Pick-to: 6.7 Change-Id: I812c25b98909f9ff05ffca122e7201665023172e Reviewed-by: David Edmundson <davidedmundson@kde.org>