summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Update dependencies on '6.6.0' in qt/qtwaylandv6.6.06.6.0Qt Submodule Update Bot2023-10-031-1/+1
| | | | | Change-Id: I214864f9cf3bd83151b0078d94674202ad98783c Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Update dependencies on '6.6.0' in qt/qtwaylandQt Submodule Update Bot2023-10-021-2/+2
| | | | | Change-Id: Ifb0a3809ab6d0ff70ac1973ab2acf45c57fbe6d7 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Doc: Highlight 2 examplesKai Köhne2023-09-291-0/+4
| | | | | | | | | Task-number: QTBUG-117210 Change-Id: I808ae74c3b3c1ab8e4912344d804f1d3741b8dc6 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> (cherry picked from commit 27026f5e992255165e208dbd1b49c91f904836ad) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit fb90ad1264542f5d8ae0410e220519dc9cf32751)
* Update dependencies on '6.6.0' in qt/qtwaylandQt Submodule Update Bot2023-09-291-2/+2
| | | | | Change-Id: I9996d78176844d4cd8419d7883770ca5c63f4a48 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Update dependencies on '6.6.0' in qt/qtwaylandQt Submodule Update Bot2023-09-281-2/+2
| | | | | Change-Id: I96ea15014aa9f8211fbf462afb56417cedc42ead Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Update dependencies on '6.6.0' in qt/qtwaylandQt Submodule Update Bot2023-09-261-2/+2
| | | | | Change-Id: I02f87e17de190f692bd6a11d67d9209679deda95 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Update dependencies on '6.6.0' in qt/qtwaylandv6.6.0-rc1Qt Submodule Update Bot2023-09-211-2/+2
| | | | | Change-Id: I4b204f167bc6a45aef8bfd765ad69bc6b4f36135 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Update dependencies on '6.6.0' in qt/qtwaylandQt Submodule Update Bot2023-09-191-2/+2
| | | | | Change-Id: Iac94641cdb1cad279d81de76dcc163d9a26d198c Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Update dependencies on '6.6' in qt/qtwaylandv6.6.0-beta4Qt Submodule Update Bot2023-09-111-2/+2
| | | | | Change-Id: I9ba11561e59b62e5a20b842e380a484262d9ef7f Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* client: make drag and drop in same control works againLiang Qi2023-09-101-0/+1
| | | | | | | | | | | | | This amends 40a27c26cee7ad4e5e32eb01568777cd4e9da25c. examples/widgets/draganddrop/draggabletext in qtbase now is fine. Fixes: QTBUG-116344 Change-Id: Ie930586fa7c6468c0e859786d968ad2343057e4d Reviewed-by: David Redondo <qt@david-redondo.de> Reviewed-by: Liang Qi <liang.qi@qt.io> (cherry picked from commit 38f5679d57c7b05753ac1ab27d94b60dc10a340a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Revert "Client: Send release button event on pointer leave"Liang Qi2023-09-062-8/+2
| | | | | | | | | | | | | This reverts commit 8235fa65fe033a94e7a44322d3502f25940092ec. It makes tests/manual/examples/widgets/draganddrop/puzzle not work, which does drag and drop in same app. Fixes: QTBUG-115757 Task-number: QTBUG-97037 Change-Id: I738769fde96f7da91f5bc4dc7a70ed49596dcd61 Reviewed-by: Liang Qi <liang.qi@qt.io> (cherry picked from commit 60647fa069ef4143642ae4c1b529ad2a7a7f2fd9)
* Update dependencies on '6.6' in qt/qtwaylandQt Submodule Update Bot2023-09-041-2/+2
| | | | | Change-Id: I6a0ddfe6f1af457b4c4c1002c26fbfc8e847e354 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* client: Add path to manipulate popup positioning via hidden properties APIDavid Edmundson2023-09-041-9/+90
| | | | | | | | | | | | Whilst long-term we want public API, we don't have anything available. This patch provides a non-official override using properties without us committing to any API promises moving forward. Change-Id: I46afbe9be7005d35305155643a1d158cf5bd509a Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> (cherry picked from commit 6d24c829f173c95e9f5860a2233bc916c356be01) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Only remove initialized extensions in ExtContainerInho Lee2023-09-041-0/+2
| | | | | | | | | Only initialized extensions should be in the extension_vector. Change-Id: I174c4eedae472aa5412c3f2b8a102adbc812fe40 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> (cherry picked from commit 3da1356f306860084cf0f6c673c02150fadcfb7a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: Add example category for Wayland Compositor examplesInkamari Harjula2023-09-042-0/+2
| | | | | | | | | | Added example category to custom-extension and minimal-cpp. Task-number: QTBUG-116340 Change-Id: I1a767614831f88378e8b311f0112ed408b2bba76 Reviewed-by: Topi Reiniö <topi.reinio@qt.io> (cherry picked from commit 09baa29a54f82979c15e4bce22c171057a2165cc) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update dependencies on '6.6' in qt/qtwaylandQt Submodule Update Bot2023-09-011-2/+2
| | | | | Change-Id: I70f61fbc96ef2f76f121b833b239d8a7775cc33f Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Update dependencies on '6.6' in qt/qtwaylandQt Submodule Update Bot2023-08-301-2/+2
| | | | | Change-Id: Ifdf7fa9991604d5e6a776531be5bc86a6a2553fa Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Update dependencies on '6.6' in qt/qtwaylandQt Submodule Update Bot2023-08-291-2/+2
| | | | | Change-Id: I19ecd575968892761113eabebfd2bb6f044020d5 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Update dependencies on '6.6' in qt/qtwaylandQt Submodule Update Bot2023-08-281-2/+2
| | | | | Change-Id: I870f0af7442c5b65a60191ffa7c23cda7ab323d9 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Client: Fix coding style in QWaylandWindow::setMask()Vlad Zahorodnii2023-08-281-1/+1
| | | | | | | | | | | | | | | | | | The relevant code can be reformatted as follows if (isOpaque()) { if (mMask.isEmpty()) setOpaqueArea(QRect(QPoint(0, 0), geometry().size())); } else { setOpaqueArea(mMask); } which doesn't fully make sense. Change-Id: If78270273bff4eec9ad58666b6f31c5f10139caf Reviewed-by: David Edmundson <davidedmundson@kde.org> (cherry picked from commit d09c1e7b059d905dccfdb840ada570e074b28f89) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QWaylandInputDevice: Don't create cursor surface just for hiding itKai Uwe Broulik2023-08-281-9/+3
| | | | | | | | | | Just call set_cursor(null) directly. Change-Id: Id10b7d41775a41c805962d77fba2d7d2b19956d0 Reviewed-by: Vlad Zahorodnii <vlad.zahorodnii@kde.org> Reviewed-by: David Edmundson <davidedmundson@kde.org> (cherry picked from commit ee8906f8960facec9ea029212553c5a06f84a2b8) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update dependencies on '6.6' in qt/qtwaylandQt Submodule Update Bot2023-08-251-2/+2
| | | | | Change-Id: I0951e2fc47fd6553dd36e22026c2d4046fc48b6b Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* client: Wait for the compositor to send a fractional scaleKai Uwe Broulik2023-08-253-18/+7
| | | | | | | | | Don't assume it's 1.0 initially. Change-Id: I443cb40a0f3421e6d7bdeba550cc8fc94c646319 Reviewed-by: David Edmundson <davidedmundson@kde.org> (cherry picked from commit 1452c8d6ee8fe59763d9d48549fe0fbd2466015c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QWaylandInputDevice: Reset cursor surface state when using shape cursorKai Uwe Broulik2023-08-252-2/+25
| | | | | | | | | | | | CursorSurface::update only calls set_cursor if the hotspot or serial has changed. Reset its state when using a shape cursor to ensure switching back to a cursor surface (e.g. when switching from a shape to a bitmap cursor) works as expected. Change-Id: Ia04dff468c251030a75e9f1eac642ed764879125 Reviewed-by: David Edmundson <davidedmundson@kde.org> (cherry picked from commit 30216b545f3ef0a9bf465e57ba04b054d2a96728) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update dependencies on '6.6' in qt/qtwaylandQt Submodule Update Bot2023-08-241-2/+2
| | | | | Change-Id: I3eaf1dee2ecde803a7f661ba59c2758a0acf6a37 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* tests: Send frame callbacks by defaultDavid Edmundson2023-08-224-0/+12
| | | | | | | | | | | | | Currently we have special handling for wl-shell to automatically respond to frame callbacks in the mock compositor. With the framecallback timer this results in flaky tests as the window becomes unexposed. Change-Id: I2add44d59ba26368c031a381849891f49764bfb5 Reviewed-by: David Edmundson <davidedmundson@kde.org> (cherry picked from commit e457ab967fc6b0b782d9c29ca21d77728a890ba8) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update dependencies on '6.6' in qt/qtwaylandQt Submodule Update Bot2023-08-221-2/+2
| | | | | Change-Id: I82955bb9e13b98d0638e413fab99e8a07ecddf1e Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Client: Fix keyboard focus when closing a popupVlad Zahorodnii2023-08-172-12/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 325a2338976c3cca6278436af03e7bd4e4378d7c changed the order in which the shell surface and the QWaylandWindow::wlSurfaceDestroyed signal are ordered. Unfortunately, it broke popups with some compositors. When the wlSurfaceDestroyed signal is emitted, QWaylandInputDevice::Keyboard is going to reset its focused surface and call QWaylandDisplay::handleKeyboardFocusChanged(). QWaylandDisplay::handleKeyboardFocusChanged() is going to call QWaylandDisplay::handleWindowDeactivated(), it will make an async roundtrip to determine the current focused window. This is to batch leave and enter events. Since the wlSurfaceDestroyed signal is emitted before destroying the shell surface and the wl_surface, the compositor has no reason to change keyboard focus, so qtwayland will think that the app lost focus for good and close all popups. This change restores the old behavior by making QWaylandInputDevice::Keyboard connect to QWaylandSurface::destroyed signal, which is emitted after the window's wl_surface is gone. It also makes QWaylandInputDevice::Keyboard consistent with QWaylandInputDevice::Pointer. Fixes: QTBUG-116051 Change-Id: If866f94a0cec1659c27ffeb2d263a2480ca8fdf1 Reviewed-by: David Edmundson <davidedmundson@kde.org> (cherry picked from commit 1da23c86d54cefa6f3bd4285658ed6dc7b3f5175) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update dependencies on '6.6' in qt/qtwaylandv6.6.0-beta3Qt Submodule Update Bot2023-08-161-2/+2
| | | | | Change-Id: I0b499600d7f891616f2cf1d2852f02b33261fa37 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* QWaylandDrag: Call into super class QBasicDrag::dropKai Uwe Broulik2023-08-161-4/+1
| | | | | | | | | | | It's where, among other things, the override mouse cursor is reset. Otherwise the cursor stays a dragging hand indefinitely. Change-Id: I9e7a44e09d5806cd64e66ba7a7c96f2d24ec97fc Reviewed-by: David Edmundson <davidedmundson@kde.org> (cherry picked from commit bdec910d775720dc2cd73833bfe9eefc73518dc8) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update dependencies on '6.6' in qt/qtwaylandQt Submodule Update Bot2023-08-151-1/+1
| | | | | Change-Id: Ibdf1af59cb3d3f35d727bc449628f4f6bc2340e0 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Update dependencies on '6.6' in qt/qtwaylandQt Submodule Update Bot2023-08-151-2/+2
| | | | | Change-Id: I55e1ae1a173b0010eb9b352813d5a78ad83d5597 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Update dependencies on '6.6' in qt/qtwaylandQt Submodule Update Bot2023-08-081-2/+2
| | | | | Change-Id: I3066b34257e79b04cbf7a3b87da77de13d3676c3 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* QWaylandWindow: Support Qt::WindowTransparentForInputKai Uwe Broulik2023-08-072-9/+39
| | | | | | | | | | | | | | This is achieved by setting an explicitly empty input region (as opposed to a "null" region) on the window. Unlike set_opaque_region, where a null region means an empty region, in set_input_region it means an infinite region. Change-Id: I018d53196bc816b5eaea7dd3b24626a9738c9f47 Reviewed-by: David Edmundson <davidedmundson@kde.org> (cherry picked from commit 604db6b5499f5de1d700f19c03bc43fe2f59380d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* DefaultCompositor: use explcit lambda capturesMarc Mutz2023-08-071-3/+3
| | | | | | | | | | | | | | C++20 deprecates the capture of *this in [=], and using [&] in a connect() statement is a smell ("are we capturing local variables?"), so just be explicit about what variables we capture (it's mostly [this], anyway). Amends ddef100d9fa7014b21280b1380e6fbcef80277b3. Change-Id: Ia594ffd5c0b9e82c54aa67c74b0d59684aa92840 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> (cherry picked from commit d979d17b9f5ac724b950d2277cc494db2c5b4335) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Client: Fix buffer damageVlad Zahorodnii2023-08-031-5/+15
| | | | | | | | | | | | | | | | | | | | | | | If the specified damage rectangle has fractional coordinates in the buffer local coordinate space, the buffer damage needs to be expanded, i.e. - bufferRect.left = floor(rect.left * scale) - bufferRect.right = ceil(rect.right * scale) = ceil((rect.x + rect.width) * scale) Flooring the coordinates and ceiling the size is not enough. It can produce incorrect results. For example, consider that a rectangle with logical coordinates of QRect(0, 23, 179, 46) has been damaged in a window with scale 1.5. When flooring the coordinates and ceiling the size, the following buffer damage rect will be produced: QRect(0, 34, 269, 69). Its height is off by 1, the expected height is 70 (ceil((23 + 46) * 1.5) - floor(23 * 1.5) = ceil(103.5) - floor(34.5) = 104 - 34 = 70). Change-Id: I927e75a2224bb58b4634125011d1305dbdfbb3aa Reviewed-by: David Edmundson <davidedmundson@kde.org> (cherry picked from commit d79db699866b37bd3e3358ca18a210dfc5c0b4b9) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* client: Set queued buffer busyDavid Redondo2023-08-032-2/+6
| | | | | | | | | | | | | | From the outside it doesn't matter if the buffer was really committed or queued, it still in use. If it is not marked busy QWaylandShmBackingStore will delete when it is resized which can happen when the surface changes screens or receives a new fractional scale resulting in a use after free producing a crash or protocol error. Change-Id: I8abc4edbd8990af5114aa0b36c8ecedb37a4f0f6 Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Kai Uwe Broulik <kde@privat.broulik.de> (cherry picked from commit 39a003942ebab39a1d3b8bc64f41d0c68e92f4bf) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QWaylandWindow: adapt to QPlatformWindow::setBackingStore() additionMarc Mutz2023-08-022-0/+11
| | | | | | | | | | | | | | | | | | When qtbase/a4ca9e80658bca7dad1529f03c1b59173a6ecf62 added a virtual QPlatformWindow::setBackingStore(), this was hidden by the existing QWaylandWindow::setBackingStore(), causing a FTBFS on -developer-builds. Fix by using the newly-added detection macro to turn the existing function into an overrider. Fixes: QTBUG-115691 Task-number: QTBUG-97482 Change-Id: If1d8c4443fe50030addb23331a50b7b9e1274626 Reviewed-by: Axel Spoerl <axel.spoerl@qt.io> Reviewed-by: David Edmundson <davidedmundson@kde.org> (cherry picked from commit fa2a7b256e2229d11b986007276b742d7be79e8f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update dependencies on '6.6' in qt/qtwaylandQt Submodule Update Bot2023-08-021-2/+2
| | | | | Change-Id: Iafc4bcd9ed694cec41a051636d7d9e87c750fd84 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Fix C++20 deprecated capture of *this in [=]Marc Mutz2023-08-0214-142/+142
| | | | | | | | | | | The exec() function is synchronous, so we can just replace [=] with [&]. Change-Id: I1b672b0ef456977fa0b898dff9c88f48765a3e41 Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> (cherry picked from commit 3122811344cd5480b22523078accb39e2d657886) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update dependencies on '6.6' in qt/qtwaylandQt Submodule Update Bot2023-07-311-2/+2
| | | | | Change-Id: I1dc4efe00993218f01b5d0436693be609346124c Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* client: Make sure screens stay virtual siblings during reconnectDavid Redondo2023-07-282-11/+29
| | | | | | | | | | | | The virtual siblings of QWaylandScreen are constructed from the list of screens in QWaylandDisplay. It is important that when a window changes screens due to handleScreenRemoved that the screens are siblings otherwise the platformwindow is destroyed and window becomes hidden. Change-Id: I7ceeee4e18fbdfa936fe987441d35b8a5cb1eefd Reviewed-by: David Edmundson <davidedmundson@kde.org> (cherry picked from commit 475b8e8da52e0c42bcab7f3df21d9e4df4d50bc2) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update dependencies on '6.6' in qt/qtwaylandQt Submodule Update Bot2023-07-261-2/+2
| | | | | Change-Id: Ib39c9b48747cb654fa5c17ff1079339756072e09 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Update dependencies on '6.6' in qt/qtwaylandQt Submodule Update Bot2023-07-211-2/+2
| | | | | Change-Id: If7b72e16d7b497b8ffad96723b8d1d008531df21 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Update dependencies on '6.6' in qt/qtwaylandQt Submodule Update Bot2023-07-121-2/+2
| | | | | Change-Id: Iee886c05f6872266dbc25e49329fd77eb95264c3 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Fix injecting key events in QML testsBernd Weimer2023-07-121-0/+2
| | | | | | | | | | | | | | Since QTBUG-110268 was fixed, injected key events by the TestCase QML type take a different code path and don't go through sendFullKeyEvent() any more that would map the key to a proper scan code, if not provided. The mapping has been added to the new path, as well. Fixes: QTBUG-115112 Change-Id: I79c7e7813b380daf586916eeca68acc4ab392872 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> (cherry picked from commit fee9011f88e385081a211505067e7d83d4b8d66c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update dependencies on '6.6' in qt/qtwaylandv6.6.0-beta2Qt Submodule Update Bot2023-07-071-2/+2
| | | | | Change-Id: I74366953e0508db450e7c92c3937c7b044e1d4e5 Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
* Ensure that WaylandGlobalPrivate_sync_headers is runningAlexey Edelev2023-07-071-0/+9
| | | | | | | | | | Work around QTBUG-115101. Task-number: QTBUG-115101 Change-Id: Icb195e0547b8faafea73d204650a1ee7bede4a7f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 742a00ccaed5ca3a4ad5a791ccd3685c001162c1) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: Fix qdoc link warningsAndreas Eliasson2023-07-051-1/+12
| | | | | | | | | Adding qtcmake and qtopengl as dependencies will fix the linking issues. Change-Id: Ibd42ad06e4ca869a0432cae033d7a29da3107dca Reviewed-by: Topi Reiniö <topi.reinio@qt.io> (cherry picked from commit 820c146f3019429dcaff933afc08c38e8922799a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update dependencies on '6.6' in qt/qtwaylandQt Submodule Update Bot2023-07-031-2/+2
| | | | | Change-Id: I328a5dc296ca4c18ac7339e34e378b64f66dcacc Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>