diff options
author | V3n3RiX <venerix@koprulu.sector> | 2025-01-07 06:41:06 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2025-01-07 06:41:06 +0000 |
commit | d69399c7befdd98cda62d6a1788ae2aa7f104c5e (patch) | |
tree | eac7184f4cfe7d67580c1d0a0d9942a91e6cb4ee /dev-qt/qtwayland | |
parent | e4d9d6796d5018e338f0b27a3bc97716195bf0b8 (diff) |
gentoo auto-resync : 07:01:2025 - 06:41:06
Diffstat (limited to 'dev-qt/qtwayland')
-rw-r--r-- | dev-qt/qtwayland/Manifest | 9 | ||||
-rw-r--r-- | dev-qt/qtwayland/files/qtwayland-6.7.2-drag-drop.patch | 67 | ||||
-rw-r--r-- | dev-qt/qtwayland/files/qtwayland-6.7.2-null-screen.patch | 29 | ||||
-rw-r--r-- | dev-qt/qtwayland/files/qtwayland-6.7.2-plasma-popup.patch | 25 | ||||
-rw-r--r-- | dev-qt/qtwayland/files/qtwayland-6.7.2-thread-safety.patch | 65 | ||||
-rw-r--r-- | dev-qt/qtwayland/files/qtwayland-6.7.3-wayland.xml-1.23.0.patch | 262 | ||||
-rw-r--r-- | dev-qt/qtwayland/qtwayland-6.7.2-r3.ebuild | 68 | ||||
-rw-r--r-- | dev-qt/qtwayland/qtwayland-6.7.3-r1.ebuild | 65 |
8 files changed, 0 insertions, 590 deletions
diff --git a/dev-qt/qtwayland/Manifest b/dev-qt/qtwayland/Manifest index df4cfd52b7ab..88ad8930befd 100644 --- a/dev-qt/qtwayland/Manifest +++ b/dev-qt/qtwayland/Manifest @@ -1,18 +1,9 @@ -AUX qtwayland-6.7.2-drag-drop.patch 2349 BLAKE2B e22347050b017831c8039700dc3658c468e2e4577df2e9afabd73574b311c3f8c2ed5ca40138cd9b4bdf1e2bb9e4c5333ab2856a1a46e879ca84308f7cf585d4 SHA512 ea6780aed6ec30dae53e73d7be9329b1daa59db704c6d32aff776a72b12411fa1a0d4376d1bf295a57df9761e2f81d3644d626d37f7a7490324ee79dbd23ce5d -AUX qtwayland-6.7.2-null-screen.patch 1208 BLAKE2B 7ccc921245d3dccb1c3ea440becc85959bf94fa0b7836097c862f966396d68850af660531edcdd4637ac2a752a8bf50bdca6260ceb753b921eee85783d4ab714 SHA512 b3336eb707abafc8928893ac3e61c708a7cb43873b2fdb1576ac6dc6c74b52d9ca45d80c30f3d5fb8d374fb72fbb19cb7b0b799528f820bcda87704375841516 -AUX qtwayland-6.7.2-plasma-popup.patch 1032 BLAKE2B 81a0c2dceac3bde808f463d0d2ad6159fd362528b2b37ed018283a05e4d317f6d31fcf87815e2b041aece5f49ae60bd4dfd7a2861aa2ea71f914343e6ff422ad SHA512 c5a63dfd9ff7a3a36bc7fce76b7c6b7ceb12b03dd9f758690cbfca715afc8989c747b4a535749ee44f6827e3af576d614050e0672263a32b420dd37aee008fb0 -AUX qtwayland-6.7.2-thread-safety.patch 2420 BLAKE2B 4e5d871bd93a24cc2bb5c879a9eb336aacbfe20c3a6df15777ccdfb41a4d2b84484097a7d0680a5c02631cb84864259cdc9e68d04b0ab654275bd73ec92700b8 SHA512 18978aac57472575ee2dbcd44d1dbb7d21e6a116589cd78d9530272e0c67c8e730d2bf8272cc92cbd78d460ba710cb408595e11c59dca2649d8565cf4e7b135f -AUX qtwayland-6.7.3-wayland.xml-1.23.0.patch 13015 BLAKE2B 17a370bfd4960316b65180e68d23feb8c4f5a5d79db923f26f04e9bc21825a2b563bdec359bde04b99df8af76e4661362bf34704095c46d6528d52a68b1aba12 SHA512 044d1798dea7181304704d55129265619d0a03e69170835e03d7cc9bcb0a71edd25aa17c251c98730ba4108c9d75f6831fafd20dd385ed1d20078b3f0cc5c9c6 AUX qtwayland-6.8.0-wayland.xml-1.23.0.patch 13031 BLAKE2B 4cdee104ec7ba05ddff6cc8f1afda24276eb9fbb0f3b2f0abacb3da57fe3e210dfa6f3d836ff45535d5ff53473fdc55876ef27138d80d8978cc39e8e85d32347 SHA512 621dc44b1577abbece55242f872edb8c6f7e29da8bebd3a9f7f62c2877cca558a35d68738bc6662ff5303e5773cec7dc3a9a073530c0bfebc7799febd338a70f AUX qtwayland-6.8.1-tablet-crash.patch 5790 BLAKE2B a117bde4b957c122a7840f26a84d0c14ea822d99a8c51626fe1852f025725ac174ac52598b8ff759d04cc3c0250329b93abc3e79581f407c4c7cc7f8b6339ccb SHA512 01e20f250caf9f568664eeef33496528622197782909e10d42684fadd6aeef638fb3af937b49b550c08b80cbad77b710efbfc653f855881db5c60a06218724e3 DIST qtwayland-5.15.16-gentoo-kde-2.tar.xz 47116 BLAKE2B 30646c02214167b1891b84873f7d10812d3aa1894db1a246771a2df2a799d1768c857a623153d862e15f6a7ed7b784738c8afdc5f4968e57a7e2296735d69876 SHA512 c3af344eb647fb16f1237387345ee4e56e2efa7376f10d46d09de34c77add092cb50acf29d180fa61ab33331fee959ab187339b05b6fa0b9d4fda6f0c28b600b DIST qtwayland-everywhere-opensource-src-5.15.16.tar.xz 561148 BLAKE2B a095051245e0ba0f0a27c7da703628e67b30465e12de06c1662dea3a3d74163cc67baa004f0cbab01bf5b70c6d2bdea289278859b2713a00f595cc51bb6f654a SHA512 9ce2bca54aa0e17be17383fccd6caca721db5b54f8905ec86cf871ed0e2414e6bc86878b9cc5167c322153467076b2afdcd6163a8fb2feb6b19cef11c3a29247 -DIST qtwayland-everywhere-src-6.7.2.tar.xz 1123220 BLAKE2B 70c2d8942afc4e1629d2ef34b6c062ecb5800185bb37e150c1d66a5216606028d2f59668991bddb5036572c962e92c3658d336167a7f9ffbf3d2f4d609a771f9 SHA512 2cd4f45f05ae60bc7f82b94f2e9c217ee4b8322f60381e1b079b90e0687e51cfbeb10b5dd724e1cca7e422b1b101d2b91c0ee47b1a732411cef330fb052c97c2 -DIST qtwayland-everywhere-src-6.7.3.tar.xz 1123508 BLAKE2B 39cd8c7d2486318d3eb4351dc0e4e6a2c37e0aeb9727e2715accfec7ba2710288c251fdd5d6a71ba11c065509f7312c194a8e2b757d484ec1734270044e0d7aa SHA512 9e15f3798ae7738b69e367343ffd7992fcdaebeffbcb10414fe2f24be553ca63e5504ef0a8405348702d0581dabebd1c2360728f63757c7445900b04df5e9ad7 DIST qtwayland-everywhere-src-6.8.1.tar.xz 1134428 BLAKE2B 84ebe923a3963f47bb2abe67e942524020be4d202b441d7cca689d045b7a7ca28b433df5a189da766743c6817a327b6ba80ceb7916a99b3ba9b0508daede4147 SHA512 34885910532f6049cac09846aa4295e2ce82a1e6af2d3256391c835a406f0c6f679e9c94c06ca8921acf23036ccc747812631a91dc1f355ab20aafd8836e7312 EBUILD qtwayland-5.15.16-r1.ebuild 1207 BLAKE2B 984349f38fe3cce37edf077459ab1a3af3ab381e9be6bb91b965ecf6e6d33013a657f3f5024ffaa480b3ffe585d3b7629dad20d7c9b7695dc2f5204a5db44f2b SHA512 77487a3aa80dc44531f24078df7f45705ec43264d2ff02e4e5be4236f7601a4215e1fbbe4e4d264df83e76d4b209e1969b56c309e7afd7e901ea130bea8d93d9 -EBUILD qtwayland-6.7.2-r3.ebuild 1634 BLAKE2B 88bf26e4685705482d56985f52cbf8b3b0795a6ff6331501f17197d4986a5a5b01eac266baa04b6d088528b1a438853eb8674eb818faa07edaa009081055956d SHA512 aaa32c55fee962835ffbbffc0390b1aeb42b25164e69dd11f13225a69949d1f3e67f665b5fecb419cb9cbf57a04bd9f5be20045481ea3107743ce3b67e7f398e -EBUILD qtwayland-6.7.3-r1.ebuild 1536 BLAKE2B 35577df1551bd08e5bd6a5c112c718711c18665b9a249fb80052d610d4489fc38c4f4488772b5e0f21cb792224f3894684d3d00806cd3626b20262ecc6c65594 SHA512 bc7b938e93d8fd624b647d59b3a0a5e54447517127e63c8e98861b0f0ad1a3e711864532bf0b8ae5c53e651d64aa6c48b14f46f4549b095ecdd38901b5f5897b EBUILD qtwayland-6.8.1.ebuild 1750 BLAKE2B 519c1c3b28880094dd78db18d3082cc3e7d5774642ffa38b732218956a064a716416ac0ee079a9f36fd1bdf21d0b4335f7a1b824b2292c19a810a526e3cd8050 SHA512 b5234e23ac430d0f469bf59383d53d84c034477cd274c9b1023aa9b1e9ba2eeab1daf69625e632c4c41421c6b6936ac306d479213e72e31e346701f766d2f08c EBUILD qtwayland-6.8.9999.ebuild 1710 BLAKE2B 2e7298c4da6e4b34e648a1faffda3c07de7b5a3b5344a44cdf0fbbcddba233b2e50d3d58cf5fdd47bae2802e20b409e2447b7b85ed6a9608f9dc85cfb60d259d SHA512 901d80e4c4468eea255adaf394e697e9dfe0ab957174c980b1eddc6a2d7490d995b934cce9799cec1a251dbee24cba147150ddf466c092006c7652b4d3d78e68 EBUILD qtwayland-6.9.9999.ebuild 1645 BLAKE2B 46c867b24c3cd70d3d366bbdb907f34a05abd34f2f66dadab2acef6032bf2072793848bc45404b8711773e42f212bbb3a37d1330d16850fc7b213ddc7303f0d4 SHA512 8c8911fca164e71e6ce7d569280cbbbaa6be669f03798e0b6a57b9b3a962c3203bd3803dd7f4b8d5f8df64ede1617230481b151dbeef8deb3d00125804295830 diff --git a/dev-qt/qtwayland/files/qtwayland-6.7.2-drag-drop.patch b/dev-qt/qtwayland/files/qtwayland-6.7.2-drag-drop.patch deleted file mode 100644 index 6141d95cb834..000000000000 --- a/dev-qt/qtwayland/files/qtwayland-6.7.2-drag-drop.patch +++ /dev/null @@ -1,67 +0,0 @@ -Backport from upcoming 6.7.3[1][2] for [3][4]. - -[1] https://github.com/qt/qtwayland/commit/85ec3ae70b905ddf9e16d86c468446d74867743f -[2] https://codereview.qt-project.org/c/qt/qtwayland/+/565408 -[3] https://bugs.kde.org/show_bug.cgi?id=482770 -[4] https://bugs.kde.org/show_bug.cgi?id=490059 - -From: =?UTF-8?q?Niccol=C3=B2=20Venerandi?= <niccolo@venerandi.com> -Date: Mon, 3 Jun 2024 12:19:59 +0200 -Subject: [PATCH] Emit a LeaveEvent on drag and drop start - -All focused windows will now receive a LeaveEvent when a drag and drop starts. -This makes sure that the dragged element does not preserve any hover decoration -during the drag and drop, and that other elements that happen to take place -of the dragged elements don't become hovered too. ---- a/src/client/qwaylanddnd.cpp -+++ b/src/client/qwaylanddnd.cpp -@@ -29,4 +29,9 @@ - void QWaylandDrag::startDrag() - { -+ // Some compositors do not send a pointer leave before starting a drag, some do. -+ // This is discussed upstream at: https://gitlab.freedesktop.org/wayland/wayland/-/issues/444 -+ // For consistency between compositors we emit the leave event here, upon drag start. -+ m_display->currentInputDevice()->handleStartDrag(); -+ - QBasicDrag::startDrag(); - QWaylandWindow *icon = static_cast<QWaylandWindow *>(shapedPixmapWindow()->handle()); ---- a/src/client/qwaylandinputdevice.cpp -+++ b/src/client/qwaylandinputdevice.cpp -@@ -524,4 +524,10 @@ - } - -+void QWaylandInputDevice::handleStartDrag() -+{ -+ if (mPointer) -+ mPointer->leavePointers(); -+} -+ - #if QT_CONFIG(wayland_datadevice) - void QWaylandInputDevice::setDataDevice(QWaylandDataDevice *device) -@@ -880,4 +886,12 @@ - window->handleMouse(mParent, e); - } -+} -+ -+void QWaylandInputDevice::Pointer::leavePointers() -+{ -+ if (auto *window = focusWindow()) { -+ LeaveEvent e(focusWindow(), mSurfacePos, mGlobalPos); -+ window->handleMouse(mParent, e); -+ } - } - ---- a/src/client/qwaylandinputdevice_p.h -+++ b/src/client/qwaylandinputdevice_p.h -@@ -93,4 +93,5 @@ - void setCursor(const QCursor *cursor, const QSharedPointer<QWaylandBuffer> &cachedBuffer = {}, int fallbackOutputScale = 1); - #endif -+ void handleStartDrag(); - void handleEndDrag(); - -@@ -321,4 +322,5 @@ - public: - void releaseButtons(); -+ void leavePointers(); - - QWaylandInputDevice *mParent = nullptr; diff --git a/dev-qt/qtwayland/files/qtwayland-6.7.2-null-screen.patch b/dev-qt/qtwayland/files/qtwayland-6.7.2-null-screen.patch deleted file mode 100644 index 6a7e85a8f4b6..000000000000 --- a/dev-qt/qtwayland/files/qtwayland-6.7.2-null-screen.patch +++ /dev/null @@ -1,29 +0,0 @@ -Backport of [1] for [2], will be fixed in qtwayland-6.7.3. - -[1] https://codereview.qt-project.org/c/qt/qtwayland/+/576718 -[2] https://bugs.kde.org/show_bug.cgi?id=489072 - -From: David Edmundson <davidedmundson@kde.org> -Date: Wed, 10 Jul 2024 09:00:33 +0100 -Subject: [PATCH] client: Guard against windows being on a null screen - -calculateScreenFromSurfaceEvents uses the screen information from our -surface enter events. If this is not set yet, or refers to outputs not -yet complete we fall back to the QWindow::screen. This was introduced in -e03613524fc9f6be5c4cd7e9bdb00bc09c7f1e0b. - -It was assumed that this would always be a valid value as QtBase keeps -it updated, but there are apparently paths for it to still be null. - -It will be evaluated again when the surface receives a wl_enter event or -the output that we have entered is finally initialised and we will then -be marked as on the correct screen. ---- a/src/client/qwaylandwindow.cpp -+++ b/src/client/qwaylandwindow.cpp -@@ -1406,5 +1406,5 @@ - QPlatformScreen *newScreen = calculateScreenFromSurfaceEvents(); - -- if (newScreen->screen() == window()->screen()) -+ if (!newScreen || newScreen->screen() == window()->screen()) - return; - diff --git a/dev-qt/qtwayland/files/qtwayland-6.7.2-plasma-popup.patch b/dev-qt/qtwayland/files/qtwayland-6.7.2-plasma-popup.patch deleted file mode 100644 index 25c7918a5a8b..000000000000 --- a/dev-qt/qtwayland/files/qtwayland-6.7.2-plasma-popup.patch +++ /dev/null @@ -1,25 +0,0 @@ -Fixed in qtwayland-6.7.3 - -https://mail.kde.org/pipermail/distributions/2024-July/001512.html -https://invent.kde.org/qt/qt/qtwayland/-/commit/92bcb8f6b7a852c7a5d662fc34de561692a7a454 -From: Vlad Zahorodnii <vlad.zahorodnii@kde.org> -Date: Thu, 20 Jun 2024 11:25:06 +0300 -Subject: [PATCH] Client: Ensure that guessed popup parent has a shell surface - -The last input window may not have a shell surface if it is a subsurface -or that window has been just made invisible. ---- a/src/client/qwaylandwindow.cpp -+++ b/src/client/qwaylandwindow.cpp -@@ -1157,8 +1157,10 @@ QWaylandWindow *QWaylandWindow::guessTransientParent() const - return mTopPopup; - } - -- if (window()->type() == Qt::ToolTip || window()->type() == Qt::Popup) -- return display()->lastInputWindow(); -+ if (window()->type() == Qt::ToolTip || window()->type() == Qt::Popup) { -+ if (auto lastInputWindow = display()->lastInputWindow()) -+ return closestShellSurfaceWindow(lastInputWindow->window()); -+ } - - return nullptr; - } diff --git a/dev-qt/qtwayland/files/qtwayland-6.7.2-thread-safety.patch b/dev-qt/qtwayland/files/qtwayland-6.7.2-thread-safety.patch deleted file mode 100644 index 92be3b81d5b0..000000000000 --- a/dev-qt/qtwayland/files/qtwayland-6.7.2-thread-safety.patch +++ /dev/null @@ -1,65 +0,0 @@ -Backport from 6.8 branch which should later land in 6.7.3 in [1] for [2]. - -[1] https://codereview.qt-project.org/c/qt/qtwayland/+/574983 -[2] https://bugs.kde.org/show_bug.cgi?id=489180 - -From: David Edmundson <davidedmundson@kde.org> -Date: Fri, 05 Jul 2024 16:13:40 +0100 -Subject: [PATCH] Client: Improve thread safety determining window size on the render thread - -updateSurface is called from both the render and GUI thread. We -therefore need every property referenced to be thread safe. - -Rather than guarding each property we cache the buffer size whenever the -window geometry or scale changes and put a mutex round this one -variable. ---- a/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp -+++ b/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp -@@ -51,4 +51,13 @@ - void QWaylandEglWindow::ensureSize() - { -+ // this is always called on the main thread -+ QMargins margins = mWindowDecoration ? frameMargins() : QMargins{}; -+ QRect rect = geometry(); -+ QSize sizeWithMargins = (rect.size() + QSize(margins.left() + margins.right(), margins.top() + margins.bottom())) * scale(); -+ { -+ QWriteLocker lock(&m_bufferSizeLock); -+ m_bufferSize = sizeWithMargins; -+ } -+ - updateSurface(false); - } -@@ -61,12 +70,15 @@ - // Just resize the wl_egl_window, the EGLSurface will be created - // the next time makeCurrent is called. -- updateSurface(false); -+ ensureSize(); - } - - void QWaylandEglWindow::updateSurface(bool create) - { -- QMargins margins = mWindowDecoration ? frameMargins() : QMargins{}; -- QRect rect = geometry(); -- QSize sizeWithMargins = (rect.size() + QSize(margins.left() + margins.right(), margins.top() + margins.bottom())) * scale(); -+ -+ QSize sizeWithMargins; -+ { -+ QReadLocker lock(&m_bufferSizeLock); -+ sizeWithMargins = m_bufferSize; -+ } - - // wl_egl_windows must have both width and height > 0 ---- a/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow_p.h -+++ b/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow_p.h -@@ -61,5 +61,11 @@ - - QSurfaceFormat m_format; -+ // Size used in the last call to wl_egl_window_resize - QSize m_requestedSize; -+ -+ // Size of the buffer used by QWaylandWindow -+ // This is always written to from the main thread, potentially read from the rendering thread -+ QReadWriteLock m_bufferSizeLock; -+ QSize m_bufferSize; - }; - diff --git a/dev-qt/qtwayland/files/qtwayland-6.7.3-wayland.xml-1.23.0.patch b/dev-qt/qtwayland/files/qtwayland-6.7.3-wayland.xml-1.23.0.patch deleted file mode 100644 index a93132ec0936..000000000000 --- a/dev-qt/qtwayland/files/qtwayland-6.7.3-wayland.xml-1.23.0.patch +++ /dev/null @@ -1,262 +0,0 @@ -Not essential to backport the update, but KDE upstream recommends -it to avoid warnings. - -https://codereview.qt-project.org/c/qt/qtwayland/+/574283 ---- a/src/3rdparty/protocol/wayland.xml -+++ b/src/3rdparty/protocol/wayland.xml -@@ -49 +49 @@ -- The callback_data passed in the callback is the event serial. -+ The callback_data passed in the callback is undefined and should be ignored. -@@ -215 +215 @@ -- <interface name="wl_shm_pool" version="1"> -+ <interface name="wl_shm_pool" version="2"> -@@ -265,5 +265,5 @@ -- This request only changes the amount of bytes that are mmapped -- by the server and does not touch the file corresponding to the -- file descriptor passed at creation time. It is the client's -- responsibility to ensure that the file is at least as big as -- the new pool size. -+ This request only changes the amount of bytes that are mmapped -+ by the server and does not touch the file corresponding to the -+ file descriptor passed at creation time. It is the client's -+ responsibility to ensure that the file is at least as big as -+ the new pool size. -@@ -275 +275 @@ -- <interface name="wl_shm" version="1"> -+ <interface name="wl_shm" version="2"> -@@ -421,0 +422,15 @@ -+ <entry name="c1" value="0x20203143" summary="[7:0] C0:C1:C2:C3:C4:C5:C6:C7 1:1:1:1:1:1:1:1 eight pixels/byte"/> -+ <entry name="c2" value="0x20203243" summary="[7:0] C0:C1:C2:C3 2:2:2:2 four pixels/byte"/> -+ <entry name="c4" value="0x20203443" summary="[7:0] C0:C1 4:4 two pixels/byte"/> -+ <entry name="d1" value="0x20203144" summary="[7:0] D0:D1:D2:D3:D4:D5:D6:D7 1:1:1:1:1:1:1:1 eight pixels/byte"/> -+ <entry name="d2" value="0x20203244" summary="[7:0] D0:D1:D2:D3 2:2:2:2 four pixels/byte"/> -+ <entry name="d4" value="0x20203444" summary="[7:0] D0:D1 4:4 two pixels/byte"/> -+ <entry name="d8" value="0x20203844" summary="[7:0] D"/> -+ <entry name="r1" value="0x20203152" summary="[7:0] R0:R1:R2:R3:R4:R5:R6:R7 1:1:1:1:1:1:1:1 eight pixels/byte"/> -+ <entry name="r2" value="0x20203252" summary="[7:0] R0:R1:R2:R3 2:2:2:2 four pixels/byte"/> -+ <entry name="r4" value="0x20203452" summary="[7:0] R0:R1 4:4 two pixels/byte"/> -+ <entry name="r10" value="0x20303152" summary="[15:0] x:R 6:10 little endian"/> -+ <entry name="r12" value="0x20323152" summary="[15:0] x:R 4:12 little endian"/> -+ <entry name="avuy8888" value="0x59555641" summary="[31:0] A:Cr:Cb:Y 8:8:8:8 little endian"/> -+ <entry name="xvuy8888" value="0x59555658" summary="[31:0] X:Cr:Cb:Y 8:8:8:8 little endian"/> -+ <entry name="p030" value="0x30333050" summary="2x2 subsampled Cr:Cb plane 10 bits per channel packed"/> -@@ -444,0 +460,11 @@ -+ -+ <!-- Version 2 additions --> -+ -+ <request name="release" type="destructor" since="2"> -+ <description summary="release the shm object"> -+ Using this request a client can tell the server that it is not going to -+ use the shm object anymore. -+ -+ Objects created via this interface remain unaffected. -+ </description> -+ </request> -@@ -456,3 +482,5 @@ -- If the buffer uses a format that has an alpha channel, the alpha channel -- is assumed to be premultiplied in the color channels unless otherwise -- specified. -+ Color channels are assumed to be electrical rather than optical (in other -+ words, encoded with a transfer function) unless otherwise specified. If -+ the buffer uses a format that has an alpha channel, the alpha channel is -+ assumed to be premultiplied into the electrical color channel values -+ (after transfer function encoding) unless otherwise specified. -@@ -849,0 +878 @@ -+ <entry name="used_source" value="1" summary="source has already been used"/> -@@ -871 +900 @@ -- hotspot, but subsequent wl_surface.attach request can move the -+ hotspot, but subsequent wl_surface.offset requests can move the -@@ -878,0 +908,4 @@ -+ -+ The given source may not be used in any further set_selection or -+ start_drag requests. Attempting to reuse a previously-used source -+ may send a used_source error. -@@ -891,0 +925,4 @@ -+ -+ The given source may not be used in any further set_selection or -+ start_drag requests. Attempting to reuse a previously-used source -+ may send a used_source error. -@@ -1414 +1451 @@ -- summary="surface was destroyed before its role object"/> -+ summary="surface was destroyed before its role object"/> -@@ -1443,3 +1480,3 @@ -- 'invalid_offset' error being raised. The x and y arguments are ignored -- and do not change the pending state. To achieve equivalent semantics, -- use wl_surface.offset. -+ 'invalid_offset' error being raised. The x and y arguments are ignored -+ and do not change the pending state. To achieve equivalent semantics, -+ use wl_surface.offset. -@@ -1481,0 +1519,7 @@ -+ -+ If a pending wl_buffer has been destroyed, the result is not specified. -+ Many compositors are known to remove the surface content on the following -+ wl_surface.commit, but this behaviour is not universal. Clients seeking to -+ maximise compatibility should not destroy pending buffers and should -+ ensure that they explicitly remove content from surfaces, even after -+ destroying buffers. -@@ -1621,10 +1665,12 @@ -- as opposed to the current state in use by the compositor. A commit -- request atomically applies all pending state, replacing the current -- state. After commit, the new pending state is as documented for each -- related request. -- -- On commit, a pending wl_buffer is applied first, and all other state -- second. This means that all coordinates in double-buffered state are -- relative to the new wl_buffer coming into use, except for -- wl_surface.attach itself. If there is no pending wl_buffer, the -- coordinates are relative to the current surface contents. -+ as opposed to the active state in use by the compositor. -+ -+ A commit request atomically creates a content update from the pending -+ state, even if the pending state has not been touched. The content -+ update is placed in a queue until it becomes active. After commit, the -+ new pending state is as documented for each related request. -+ -+ When the content update is applied, the wl_buffer is applied before all -+ other state. This means that all coordinates in double-buffered state -+ are relative to the newly attached wl_buffers, except for -+ wl_surface.attach itself. If there is no newly attached wl_buffer, the -+ coordinates are relative to the previous content update. -@@ -1669,4 +1715,6 @@ -- This request sets an optional transformation on how the compositor -- interprets the contents of the buffer attached to the surface. The -- accepted values for the transform parameter are the values for -- wl_output.transform. -+ This request sets the transformation that the client has already applied -+ to the content of the buffer. The accepted values for the transform -+ parameter are the values for wl_output.transform. -+ -+ The compositor applies the inverse of this transformation whenever it -+ uses the buffer contents. -@@ -1728 +1776 @@ -- If scale is not positive the invalid_scale protocol error is -+ If scale is not greater than 0 the invalid_scale protocol error is -@@ -1732 +1780 @@ -- summary="positive scale for interpreting buffer contents"/> -+ summary="scale for interpreting buffer contents"/> -@@ -1804,0 +1853,3 @@ -+ Before receiving this event the preferred buffer scale for this surface -+ is 1. -+ -@@ -1808,0 +1860,2 @@ -+ -+ The compositor shall emit a scale value greater than 0. -@@ -1818,3 +1871,6 @@ -- It is intended that transform aware clients use this event to apply the -- transform to their content and use wl_surface.set_buffer_transform to -- indicate the transform they have rendered with. -+ Before receiving this event the preferred buffer transform for this -+ surface is normal. -+ -+ Applying this transformation to the surface buffer contents and using -+ wl_surface.set_buffer_transform might allow the compositor to use the -+ surface buffer more efficiently. -@@ -1995 +2051 @@ -- On surface.attach requests to the pointer surface, hotspot_x -+ On wl_surface.offset requests to the pointer surface, hotspot_x -@@ -1997 +2053 @@ -- passed to the request. Attach must be confirmed by -+ passed to the request. The offset must be applied by -@@ -2251 +2307 @@ -- <event name="axis_discrete" since="5"> -+ <event name="axis_discrete" since="5" deprecated-since="8"> -@@ -2376,0 +2433,10 @@ -+ -+ Each wl_keyboard has the following logical state: -+ -+ - an active surface (possibly null), -+ - the keys currently logically down, -+ - the active modifiers, -+ - the active group. -+ -+ By default, the active surface is null, the keys currently logically down -+ are empty, the active modifiers and the active group are 0. -@@ -2410,0 +2477,5 @@ -+ -+ In the wl_keyboard logical state, this event sets the active surface to -+ the surface argument and the keys currently logically down to the keys -+ in the keys argument. The compositor must not send this event if the -+ wl_keyboard already had an active surface immediately before this event. -@@ -2414 +2485 @@ -- <arg name="keys" type="array" summary="the currently pressed keys"/> -+ <arg name="keys" type="array" summary="the keys currently logically down"/> -@@ -2425,2 +2496,4 @@ -- After this event client must assume that all keys, including modifiers, -- are lifted and also it must stop key repeating if there's some going on. -+ In the wl_keyboard logical state, this event resets all values to their -+ defaults. The compositor must not send this event if the active surface -+ of the wl_keyboard was not equal to the surface argument immediately -+ before this event. -@@ -2450,0 +2524,9 @@ -+ -+ In the wl_keyboard logical state, this event adds the key to the keys -+ currently logically down (if the state argument is pressed) or removes -+ the key from the keys currently logically down (if the state argument is -+ released). The compositor must not send this event if the wl_keyboard -+ did not have an active surface immediately before this event. The -+ compositor must not send this event if state is pressed (resp. released) -+ and the key was already logically down (resp. was not logically down) -+ immediately before this event. -@@ -2461,0 +2544,11 @@ -+ -+ The compositor may send this event without a surface of the client -+ having keyboard focus, for example to tie modifier information to -+ pointer focus instead. If a modifier event with pressed modifiers is sent -+ without a prior enter event, the client can assume the modifier state is -+ valid until it receives the next wl_keyboard.modifiers event. In order to -+ reset the modifier state again, the compositor can send a -+ wl_keyboard.modifiers event with no pressed modifiers. -+ -+ In the wl_keyboard logical state, this event updates the modifiers and -+ group. -@@ -2568,0 +2662,2 @@ -+ -+ No frame event is required after the cancel event. -@@ -2668,4 +2763,3 @@ -- <description summary="transform from framebuffer to output"> -- This describes the transform that a compositor will apply to a -- surface to compensate for the rotation or mirroring of an -- output device. -+ <description summary="transformation applied to buffer contents"> -+ This describes transformations that clients and compositors apply to -+ buffer contents. -@@ -2702,0 +2797,4 @@ -+ Clients should use wl_surface.preferred_buffer_transform instead of the -+ transform advertised by this event to find the preferred buffer -+ transform to use for a surface. -+ -@@ -2725 +2823 @@ -- summary="transform that maps framebuffer to output"/> -+ summary="additional transformation applied to buffer contents during presentation"/> -@@ -2798,2 +2896,3 @@ -- later. If it is not sent, the client should assume a -- scale of 1. -+ later. The compositor will emit a non-zero, positive -+ value for scale. If it is not sent, the client should -+ assume a scale of 1. -@@ -2807,6 +2906,3 @@ -- It is intended that scaling aware clients track the -- current output of a surface, and if it is on a scaled -- output it should use wl_surface.set_buffer_scale with -- the scale of the output. That way the compositor can -- avoid scaling the surface, and the client can supply -- a higher detail image. -+ Clients should use wl_surface.preferred_buffer_scale -+ instead of this event to find the preferred buffer -+ scale to use for a surface. -@@ -3037,0 +3134,5 @@ -+ -+ A sub-surface never has the keyboard focus of any seat. -+ -+ The wl_surface.offset request is ignored: clients must use set_position -+ instead to move the sub-surface. -@@ -3063,3 +3164 @@ -- parent surface is applied. When this happens depends on whether the -- parent surface is in synchronized mode or not. See -- wl_subsurface.set_sync and wl_subsurface.set_desync for details. -+ parent surface is applied. -@@ -3088,3 +3187 @@ -- surface is applied. When this happens depends on whether the parent -- surface is in synchronized mode or not. See wl_subsurface.set_sync and -- wl_subsurface.set_desync for details. -+ surface is applied. diff --git a/dev-qt/qtwayland/qtwayland-6.7.2-r3.ebuild b/dev-qt/qtwayland/qtwayland-6.7.2-r3.ebuild deleted file mode 100644 index 42bf15947da3..000000000000 --- a/dev-qt/qtwayland/qtwayland-6.7.2-r3.ebuild +++ /dev/null @@ -1,68 +0,0 @@ -# Copyright 2021-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit qt6-build - -DESCRIPTION="Wayland platform plugin for Qt" - -if [[ ${QT6_BUILD_TYPE} == release ]]; then - KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86" -fi - -IUSE="accessibility compositor qml vulkan" - -RDEPEND=" - dev-libs/wayland - ~dev-qt/qtbase-${PV}:6[accessibility=,gui,opengl,vulkan=,wayland] - media-libs/libglvnd - x11-libs/libxkbcommon - compositor? ( - qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) - ) -" -DEPEND=" - ${RDEPEND} - vulkan? ( dev-util/vulkan-headers ) -" -BDEPEND="dev-util/wayland-scanner" - -PATCHES=( - "${FILESDIR}"/${P}-plasma-popup.patch - "${FILESDIR}"/${P}-drag-drop.patch - "${FILESDIR}"/${P}-thread-safety.patch - "${FILESDIR}"/${P}-null-screen.patch -) - -CMAKE_SKIP_TESTS=( - # segfaults for not-looked-into reasons, but not considered - # an issue given >=seatv5 exists since wayland-1.10 (2016) - tst_seatv4 - # needs a compositor/opengl, skip the extra trouble - tst_surface - tst_xdgdecorationv1 - # known failing with wayland-1.23.0 (or at least with offscreen), not - # believed to result in critical runtime issues so skip until this is - # looked at upstream (https://bugreports.qt.io/browse/QTBUG-126379) - tst_client - tst_compositor - tst_scaling -) - -src_configure() { - local mycmakeargs=( - $(cmake_use_find_package qml Qt6Quick) - $(qt_feature compositor wayland_server) - ) - - qt6-build_src_configure -} - -src_test() { - # users' session setting may break tst_clientextension (bug #927030) - unset DESKTOP_SESSION XDG_CURRENT_DESKTOP - unset GNOME_DESKTOP_SESSION_ID KDE_FULL_SESSION - - qt6-build_src_test -} diff --git a/dev-qt/qtwayland/qtwayland-6.7.3-r1.ebuild b/dev-qt/qtwayland/qtwayland-6.7.3-r1.ebuild deleted file mode 100644 index ba330b2031cf..000000000000 --- a/dev-qt/qtwayland/qtwayland-6.7.3-r1.ebuild +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright 2021-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit qt6-build - -DESCRIPTION="Wayland platform plugin for Qt" - -if [[ ${QT6_BUILD_TYPE} == release ]]; then - KEYWORDS="amd64 arm ~arm64 ~loong ~ppc ~ppc64 ~riscv x86" -fi - -IUSE="accessibility compositor qml vulkan" - -RDEPEND=" - dev-libs/wayland - ~dev-qt/qtbase-${PV}:6[accessibility=,gui,opengl,vulkan=,wayland] - media-libs/libglvnd - x11-libs/libxkbcommon - compositor? ( - qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) - ) -" -DEPEND=" - ${RDEPEND} - vulkan? ( dev-util/vulkan-headers ) -" -BDEPEND="dev-util/wayland-scanner" - -CMAKE_SKIP_TESTS=( - # segfaults for not-looked-into reasons, but not considered - # an issue given >=seatv5 exists since wayland-1.10 (2016) - tst_seatv4 - # needs a compositor/opengl, skip the extra trouble - tst_surface - tst_xdgdecorationv1 - # known failing with wayland-1.23.0 (or at least with offscreen), not - # believed to result in critical runtime issues so skip until this is - # looked at upstream (https://bugreports.qt.io/browse/QTBUG-126379) - tst_client - tst_compositor - tst_scaling -) - -PATCHES=( - "${FILESDIR}"/${PN}-6.7.3-wayland.xml-1.23.0.patch -) - -src_configure() { - local mycmakeargs=( - $(cmake_use_find_package qml Qt6Quick) - $(qt_feature compositor wayland_server) - ) - - qt6-build_src_configure -} - -src_test() { - # users' session setting may break tst_clientextension (bug #927030) - unset DESKTOP_SESSION XDG_CURRENT_DESKTOP - unset GNOME_DESKTOP_SESSION_ID KDE_FULL_SESSION - - qt6-build_src_test -} |