diff --git a/.gitignore b/.gitignore index 0e19fc3..11cc3a4 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ /qtwayland-everywhere-opensource-src-5.15.7.tar.xz /qtwayland-everywhere-opensource-src-5.15.8.tar.xz /qtwayland-everywhere-opensource-src-5.15.9.tar.xz +/qtwayland-everywhere-opensource-src-5.15.10.tar.xz diff --git a/0001-Client-Announce-an-output-after-receiving-more-compl.patch b/0001-Client-Announce-an-output-after-receiving-more-compl.patch index 2142e9d..5eca4da 100644 --- a/0001-Client-Announce-an-output-after-receiving-more-compl.patch +++ b/0001-Client-Announce-an-output-after-receiving-more-compl.patch @@ -1,7 +1,7 @@ -From 4ddf70b1ed7c5baddef41c549d04917b9dec7d0f Mon Sep 17 00:00:00 2001 +From d7ea7592e47828d2f806bb372db705a1f3b9f948 Mon Sep 17 00:00:00 2001 From: Vlad Zahorodnii Date: Wed, 5 May 2021 20:49:26 +0300 -Subject: [PATCH 01/55] Client: Announce an output after receiving more +Subject: [PATCH 01/51] Client: Announce an output after receiving more complete state Output initialization is not atomic, meaning that the compositor may @@ -142,5 +142,5 @@ index df1c94f2..050cfdc0 100644 #if QT_CONFIG(cursor) -- -2.40.0 +2.40.1 diff --git a/0002-Fix-issue-with-repeated-window-size-changes.patch b/0002-Fix-issue-with-repeated-window-size-changes.patch index 58b41d1..a5fe730 100644 --- a/0002-Fix-issue-with-repeated-window-size-changes.patch +++ b/0002-Fix-issue-with-repeated-window-size-changes.patch @@ -1,7 +1,7 @@ -From a9bcc5dc553b5a307a5bdcb6e1d92058e0257c7c Mon Sep 17 00:00:00 2001 +From e08bb6ed336b4bd2f3e85b0d2f43f1b49cdaf7b0 Mon Sep 17 00:00:00 2001 From: Jaeyoon Jung Date: Mon, 15 Feb 2021 08:31:06 +0900 -Subject: [PATCH 02/55] Fix issue with repeated window size changes +Subject: [PATCH 02/51] Fix issue with repeated window size changes Check if the new window size is different from the size requested previously before calling wl_egl_window_resize. It addresses the issue @@ -54,5 +54,5 @@ index 6c8f04ec..94c56325 100644 } -- -2.40.0 +2.40.1 diff --git a/0003-Client-Connect-drags-being-accepted-to-updating-the-.patch b/0003-Client-Connect-drags-being-accepted-to-updating-the-.patch index 80f81ae..9a00b2a 100644 --- a/0003-Client-Connect-drags-being-accepted-to-updating-the-.patch +++ b/0003-Client-Connect-drags-being-accepted-to-updating-the-.patch @@ -1,7 +1,7 @@ -From eb8e933841d66f0ebe071a170a9af995c2b07b0d Mon Sep 17 00:00:00 2001 +From 40965d23e170cb02b184cda5962352acd415542e Mon Sep 17 00:00:00 2001 From: David Edmundson Date: Tue, 9 Feb 2021 16:09:21 +0000 -Subject: [PATCH 03/55] Client: Connect drags being accepted to updating the +Subject: [PATCH 03/51] Client: Connect drags being accepted to updating the source drag icon Currently in a multi-process drag and drop when the other client accepts @@ -35,5 +35,5 @@ index 7e2e3308..bbd2d568 100644 start_drag(m_dragSource->object(), origin->wlSurface(), icon->wlSurface(), m_display->currentInputDevice()->serial()); return true; -- -2.40.0 +2.40.1 diff --git a/0004-Client-Disconnect-registry-listener-on-destruction.patch b/0004-Client-Disconnect-registry-listener-on-destruction.patch index 51b5718..10c6c79 100644 --- a/0004-Client-Disconnect-registry-listener-on-destruction.patch +++ b/0004-Client-Disconnect-registry-listener-on-destruction.patch @@ -1,7 +1,7 @@ -From 9d16197f5e888b68cdf98165f46dcc9ac4dd9820 Mon Sep 17 00:00:00 2001 +From 1474fd12afbc6c9850872801c70252c425d4280b Mon Sep 17 00:00:00 2001 From: David Edmundson Date: Fri, 14 May 2021 13:23:24 +0100 -Subject: [PATCH 04/55] Client: Disconnect registry listener on destruction +Subject: [PATCH 04/51] Client: Disconnect registry listener on destruction If a display outlives a QWaylandClientExtension and a new global is announced we end up delivering an event to a now deleted extension which @@ -45,5 +45,5 @@ index 98272e57..5bd28398 100644 QtWaylandClient::QWaylandIntegration *integration() const; int version() const; -- -2.40.0 +2.40.1 diff --git a/0005-Client-Set-XdgShell-size-hints-before-the-first-comm.patch b/0005-Client-Set-XdgShell-size-hints-before-the-first-comm.patch index e77a833..ced642c 100644 --- a/0005-Client-Set-XdgShell-size-hints-before-the-first-comm.patch +++ b/0005-Client-Set-XdgShell-size-hints-before-the-first-comm.patch @@ -1,7 +1,7 @@ -From 8256c6d8bb0f456ad27031bad1cce916c0c29740 Mon Sep 17 00:00:00 2001 +From f5e0a5773064636b6802a4f8f7fb0cb3cec46a68 Mon Sep 17 00:00:00 2001 From: David Edmundson Date: Mon, 3 May 2021 23:01:53 +0100 -Subject: [PATCH 05/55] Client: Set XdgShell size hints before the first commit +Subject: [PATCH 05/51] Client: Set XdgShell size hints before the first commit propagateSizeHints is only called in QWindow we have platform window and minimumSizeHint is then sent. We also need to send existing hints when @@ -20,7 +20,7 @@ Reviewed-by: Aleix Pol Gonzalez 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp b/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp -index f50e1c0e..1f51562b 100644 +index fa9c01aa..c3d2d3ea 100644 --- a/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp +++ b/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp @@ -105,8 +105,6 @@ void QWaylandXdgSurface::Toplevel::applyConfigure() @@ -32,7 +32,7 @@ index f50e1c0e..1f51562b 100644 m_applied = m_pending; qCDebug(lcQpaWayland) << "Applied pending xdg_toplevel configure event:" << m_applied.size << m_applied.states; } -@@ -257,6 +255,7 @@ QWaylandXdgSurface::QWaylandXdgSurface(QWaylandXdgShell *shell, ::xdg_surface *s +@@ -267,6 +265,7 @@ QWaylandXdgSurface::QWaylandXdgSurface(QWaylandXdgShell *shell, ::xdg_surface *s m_toplevel->set_parent(parentXdgSurface->m_toplevel->object()); } } @@ -54,5 +54,5 @@ index 2277bbb8..2fdd0a7c 100644 QCOMPOSITOR_TRY_COMPARE(xdgToplevel()->m_committed.minSize, QSize(100, 100)); QCOMPOSITOR_TRY_COMPARE(xdgToplevel()->m_committed.maxSize, QSize(1000, 1000)); -- -2.40.0 +2.40.1 diff --git a/0006-Fix-build.patch b/0006-Fix-build.patch index 41ba119..36b73bf 100644 --- a/0006-Fix-build.patch +++ b/0006-Fix-build.patch @@ -1,7 +1,7 @@ -From bea02a7b4bce8cc3b2a7bce10c53fccc9aedef1e Mon Sep 17 00:00:00 2001 +From 27108c290bf0f12bb032827e5c01cc94e330d547 Mon Sep 17 00:00:00 2001 From: David Edmundson Date: Mon, 14 Jun 2021 12:45:37 +0100 -Subject: [PATCH 06/55] Fix build +Subject: [PATCH 06/51] Fix build 1b5e43a593e917610e6245f7a272ac081c508ba4 relied on a patch that we can't backport. @@ -42,5 +42,5 @@ index 69cc46a0..9091efbe 100644 class Q_WAYLAND_CLIENT_EXPORT QWaylandClientExtensionTemplatePrivate : public QWaylandClientExtensionPrivate -- -2.40.0 +2.40.1 diff --git a/0007-Fix-remove-listener.patch b/0007-Fix-remove-listener.patch index 958c895..256747d 100644 --- a/0007-Fix-remove-listener.patch +++ b/0007-Fix-remove-listener.patch @@ -1,7 +1,7 @@ -From 418580420c34c1a81fd5a4d872e41dc467c124d0 Mon Sep 17 00:00:00 2001 +From 07a83b80d7c1b90146d9c6b6339bf4e730ca50b9 Mon Sep 17 00:00:00 2001 From: Zhang Liang Date: Mon, 1 Feb 2021 19:29:43 +0800 -Subject: [PATCH 07/55] Fix: remove listener +Subject: [PATCH 07/51] Fix: remove listener Add the operation for removing the listener form listener list @@ -29,5 +29,5 @@ index 78e387bc..280e63bd 100644 uint32_t QWaylandDisplay::currentTimeMillisec() -- -2.40.0 +2.40.1 diff --git a/0008-Hook-up-queryKeyboardModifers.patch b/0008-Hook-up-queryKeyboardModifers.patch index c121bf4..f1b5de3 100644 --- a/0008-Hook-up-queryKeyboardModifers.patch +++ b/0008-Hook-up-queryKeyboardModifers.patch @@ -1,7 +1,7 @@ -From 0bd8b57955c74fd7cadc3ceb1409c1705208f91e Mon Sep 17 00:00:00 2001 +From 218aa4f1fb91a1dfe892111a45376091dd34ec06 Mon Sep 17 00:00:00 2001 From: David Redondo Date: Wed, 26 May 2021 14:49:40 +0200 -Subject: [PATCH 08/55] Hook up queryKeyboardModifers +Subject: [PATCH 08/51] Hook up queryKeyboardModifers Can be useful when upon enter a modifiers event is received but no key event so no QKeyEvent is generated. @@ -51,5 +51,5 @@ index ff70ae25..73b80658 100644 QStringList themeNames() const override; -- -2.40.0 +2.40.1 diff --git a/0009-Correctly-detect-if-image-format-is-supported-by-QIm.patch b/0009-Correctly-detect-if-image-format-is-supported-by-QIm.patch index 674bde0..db26011 100644 --- a/0009-Correctly-detect-if-image-format-is-supported-by-QIm.patch +++ b/0009-Correctly-detect-if-image-format-is-supported-by-QIm.patch @@ -1,7 +1,7 @@ -From 046a799372b78ab843b26c2312bb563c0d50adcb Mon Sep 17 00:00:00 2001 +From cedb1d0987486f0162d8a10defb3705f5e3b3a45 Mon Sep 17 00:00:00 2001 From: Jan Blackquill Date: Tue, 24 Aug 2021 14:36:34 -0400 -Subject: [PATCH 09/55] Correctly detect if image format is supported by +Subject: [PATCH 09/51] Correctly detect if image format is supported by QImageWriter The code queries potential image formats by stripping a mimetype of its @@ -64,5 +64,5 @@ index a5fdd34d..051a91dc 100644 fmt = imgFmt; } -- -2.40.0 +2.40.1 diff --git a/0010-Client-Don-t-always-recreate-frame-callbacks.patch b/0010-Client-Don-t-always-recreate-frame-callbacks.patch index bfe00e5..fd8ce9c 100644 --- a/0010-Client-Don-t-always-recreate-frame-callbacks.patch +++ b/0010-Client-Don-t-always-recreate-frame-callbacks.patch @@ -1,7 +1,7 @@ -From 3bb880d6b828f934f69608af958963c9eedc4e74 Mon Sep 17 00:00:00 2001 +From 39f76fba46ff2a6bd4aca6c2abea501d56bed62e Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Thu, 27 May 2021 19:55:04 -0300 -Subject: [PATCH 10/55] Client: Don't always recreate frame callbacks +Subject: [PATCH 10/51] Client: Don't always recreate frame callbacks The main QWaylandWindow method that is executed when handling updates is QWaylandWindow::handleUpdate(). This method always, unconditionally queues @@ -73,5 +73,5 @@ index 2fdd0a7c..e2593314 100644 void tst_xdgshell::popup() -- -2.40.0 +2.40.1 diff --git a/0011-Client-Always-destroy-frame-callback-in-the-actual-c.patch b/0011-Client-Always-destroy-frame-callback-in-the-actual-c.patch index 6eb5579..e2e28fd 100644 --- a/0011-Client-Always-destroy-frame-callback-in-the-actual-c.patch +++ b/0011-Client-Always-destroy-frame-callback-in-the-actual-c.patch @@ -1,7 +1,7 @@ -From a0ab21120ae0d0976d1c554aa72f00d4b3d35de9 Mon Sep 17 00:00:00 2001 +From c9cd53f50c71af26278589b1477c8d800c776ac1 Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Thu, 27 May 2021 20:02:53 -0300 -Subject: [PATCH 11/55] Client: Always destroy frame callback in the actual +Subject: [PATCH 11/51] Client: Always destroy frame callback in the actual callback It's good hygiene to destroy all frame callbacks. Destroy the @@ -54,5 +54,5 @@ index 23816895..d3f28d68 100644 struct ::wl_surface *wrappedSurface = reinterpret_cast(wl_proxy_create_wrapper(mSurface->object())); wl_proxy_set_queue(reinterpret_cast(wrappedSurface), mFrameQueue.queue); -- -2.40.0 +2.40.1 diff --git a/0012-Wayland-client-use-wl_keyboard-to-determine-active-s.patch b/0012-Wayland-client-use-wl_keyboard-to-determine-active-s.patch index 1a0cff0..9c3eff5 100644 --- a/0012-Wayland-client-use-wl_keyboard-to-determine-active-s.patch +++ b/0012-Wayland-client-use-wl_keyboard-to-determine-active-s.patch @@ -1,7 +1,7 @@ -From d40acfcc33ae9f8d105f196d1af03a640a02db0b Mon Sep 17 00:00:00 2001 +From 398c131a02d48fc9f538951f08caa93dccd03a1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A9ven=20Car?= Date: Wed, 18 Aug 2021 18:28:20 +0200 -Subject: [PATCH 12/55] Wayland client: use wl_keyboard to determine active +Subject: [PATCH 12/51] Wayland client: use wl_keyboard to determine active state Commit f497a5bb87270174b8e0106b7eca1992d44ff15d made QWaylandDisplay @@ -234,7 +234,7 @@ index 261f8cbb..c1bcd5c6 100644 private: QScopedPointer m_xdgShell; diff --git a/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp b/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp -index 1f51562b..b7383e19 100644 +index c3d2d3ea..9a362b74 100644 --- a/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp +++ b/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp @@ -67,11 +67,6 @@ QWaylandXdgSurface::Toplevel::Toplevel(QWaylandXdgSurface *xdgSurface) @@ -337,5 +337,5 @@ index e2593314..73d1eb9c 100644 const QSize screenSize(640, 480); const uint maximizedSerial = exec([=] { -- -2.40.0 +2.40.1 diff --git a/0013-Client-do-not-empty-clipboard-when-a-new-popup-windo.patch b/0013-Client-do-not-empty-clipboard-when-a-new-popup-windo.patch index fb12a01..2299a66 100644 --- a/0013-Client-do-not-empty-clipboard-when-a-new-popup-windo.patch +++ b/0013-Client-do-not-empty-clipboard-when-a-new-popup-windo.patch @@ -1,7 +1,7 @@ -From 23327bb4cdc00b47e0f96efca2fe494540f01601 Mon Sep 17 00:00:00 2001 +From 4cbf15b311fd9b00b28205e474c4b31a92ab819d Mon Sep 17 00:00:00 2001 From: Jan Grulich Date: Fri, 16 Jul 2021 13:00:03 +0200 -Subject: [PATCH 13/55] Client: do not empty clipboard when a new popup/window +Subject: [PATCH 13/51] Client: do not empty clipboard when a new popup/window is opened If we open a new popup or a window within the same app we have to avoid @@ -64,5 +64,5 @@ index e931d1f5..5d704795 100644 mRepeatTimer.stop(); } -- -2.40.0 +2.40.1 diff --git a/0014-Client-Implement-DataDeviceV3.patch b/0014-Client-Implement-DataDeviceV3.patch index 76c63d1..174ffe6 100644 --- a/0014-Client-Implement-DataDeviceV3.patch +++ b/0014-Client-Implement-DataDeviceV3.patch @@ -1,7 +1,7 @@ -From e0e004c77140da5e454dadf4d6809c1603b5735d Mon Sep 17 00:00:00 2001 +From 52f362f8dfd27a65cdee945ba923ae30521ab922 Mon Sep 17 00:00:00 2001 From: David Edmundson Date: Tue, 16 Feb 2021 09:51:47 +0000 -Subject: [PATCH 14/55] Client: Implement DataDeviceV3 +Subject: [PATCH 14/51] Client: Implement DataDeviceV3 DataDeviceV2 fixes a leak of DataDevice resources. @@ -509,5 +509,5 @@ index 1568b3b9..067410d0 100644 class DataDeviceCompositor : public DefaultCompositor { public: -- -2.40.0 +2.40.1 diff --git a/0015-Client-Delay-deletion-of-QDrag-object-until-after-we.patch b/0015-Client-Delay-deletion-of-QDrag-object-until-after-we.patch index a07907b..a37d54b 100644 --- a/0015-Client-Delay-deletion-of-QDrag-object-until-after-we.patch +++ b/0015-Client-Delay-deletion-of-QDrag-object-until-after-we.patch @@ -1,7 +1,7 @@ -From f3900786ebe46aefbecbb2a37cb175846ca0dfc2 Mon Sep 17 00:00:00 2001 +From b29079669153d7b1894fc13b2cd8c6de1ad5471a Mon Sep 17 00:00:00 2001 From: Arjen Hiemstra Date: Thu, 18 Nov 2021 13:05:30 +0100 -Subject: [PATCH 15/55] Client: Delay deletion of QDrag object until after +Subject: [PATCH 15/51] Client: Delay deletion of QDrag object until after we're done with it In certain cases, most notably when performing drag and drop operations @@ -63,5 +63,5 @@ index 747f0190..46f629ac 100644 private: QWaylandDisplay *m_display = nullptr; -- -2.40.0 +2.40.1 diff --git a/0016-Client-Avoid-processing-of-events-when-showing-windo.patch b/0016-Client-Avoid-processing-of-events-when-showing-windo.patch index de9483c..5ecac9f 100644 --- a/0016-Client-Avoid-processing-of-events-when-showing-windo.patch +++ b/0016-Client-Avoid-processing-of-events-when-showing-windo.patch @@ -1,7 +1,7 @@ -From 9edd2a05c79a1c40867440826c830c76136152da Mon Sep 17 00:00:00 2001 +From fde475c6e235429e7af64a54b9d81e893c618af7 Mon Sep 17 00:00:00 2001 From: David Edmundson Date: Sun, 14 Nov 2021 13:54:19 +0000 -Subject: [PATCH 16/55] Client: Avoid processing of events when showing windows +Subject: [PATCH 16/51] Client: Avoid processing of events when showing windows The only time we want to dispatch events from the wayland socket is when the application is waiting for external events. Doing so at any other @@ -34,5 +34,5 @@ index b363c352..b98435ed 100644 setGeometry(windowGeometry()); // Don't flush the events here, or else the newly visible window may start drawing, but since -- -2.40.0 +2.40.1 diff --git a/0017-Handle-registry_global-out-of-constructor.patch b/0017-Handle-registry_global-out-of-constructor.patch index 96206d3..4009c3d 100644 --- a/0017-Handle-registry_global-out-of-constructor.patch +++ b/0017-Handle-registry_global-out-of-constructor.patch @@ -1,7 +1,7 @@ -From 5889bb845d951a7877201bca97ffe4bb2491d966 Mon Sep 17 00:00:00 2001 +From f22c2639663d9b9010fd79a5873e11a716106b65 Mon Sep 17 00:00:00 2001 From: Elvis Lee Date: Thu, 18 Feb 2021 15:45:49 +0900 -Subject: [PATCH 17/55] Handle registry_global out of constructor +Subject: [PATCH 17/51] Handle registry_global out of constructor Factory functions in QWaylandDisplay::registry_global() can be overridden. Later, other classes instantiated in the registry_global can support @@ -81,5 +81,5 @@ index cd8569b1..8afecb31 100644 mDisplay->ensureScreen(); } -- -2.40.0 +2.40.1 diff --git a/0018-Connect-flushRequest-after-forceRoundTrip.patch b/0018-Connect-flushRequest-after-forceRoundTrip.patch index 3b9af70..46898ea 100644 --- a/0018-Connect-flushRequest-after-forceRoundTrip.patch +++ b/0018-Connect-flushRequest-after-forceRoundTrip.patch @@ -1,7 +1,7 @@ -From 2e03c3b47fa91eb8db5b9a635c2f9dca2b4f5158 Mon Sep 17 00:00:00 2001 +From 192b3af086ecca973109be4e169a601af434239a Mon Sep 17 00:00:00 2001 From: Elvis Lee Date: Wed, 17 Mar 2021 16:31:10 +0900 -Subject: [PATCH 18/55] Connect flushRequest after forceRoundTrip +Subject: [PATCH 18/51] Connect flushRequest after forceRoundTrip If flushRequest is connected with aboutToBlock, the flushRequest may consumes all events so that processEvents might be blocked in forceRoundTrip. @@ -43,5 +43,5 @@ index 8afecb31..661cea53 100644 mDisplay->ensureScreen(); } -- -2.40.0 +2.40.1 diff --git a/0019-Move-the-wayland-socket-polling-to-a-separate-event-.patch b/0019-Move-the-wayland-socket-polling-to-a-separate-event-.patch index 5e045bf..726d19a 100644 --- a/0019-Move-the-wayland-socket-polling-to-a-separate-event-.patch +++ b/0019-Move-the-wayland-socket-polling-to-a-separate-event-.patch @@ -1,7 +1,7 @@ -From d89cc9deab3f61cacfad71e8aa32d83d421d49da Mon Sep 17 00:00:00 2001 +From 965fc31b57176d7d913d90465a857c285abd0a59 Mon Sep 17 00:00:00 2001 From: Adrien Faveraux Date: Fri, 26 Nov 2021 09:18:58 +0100 -Subject: [PATCH 19/55] Move the wayland socket polling to a separate event +Subject: [PATCH 19/51] Move the wayland socket polling to a separate event thread New event threads is introduced which calls poll() on the wayland fd, @@ -570,5 +570,5 @@ index fb3ed606..54ac67a9 100644 // True when we have called deliverRequestUpdate, but the client has not yet attached a new buffer -- -2.40.0 +2.40.1 diff --git a/0020-Client-Remove-mWaitingForUpdateDelivery.patch b/0020-Client-Remove-mWaitingForUpdateDelivery.patch index 3074807..8e9f558 100644 --- a/0020-Client-Remove-mWaitingForUpdateDelivery.patch +++ b/0020-Client-Remove-mWaitingForUpdateDelivery.patch @@ -1,7 +1,7 @@ -From 58c67c6e8f2d94cef7f8eec072ebad031769e144 Mon Sep 17 00:00:00 2001 +From 39f6f824e660c36b2865bf55f9ea609aaa02697e Mon Sep 17 00:00:00 2001 From: Vlad Zahorodnii Date: Tue, 1 Feb 2022 13:05:36 +0200 -Subject: [PATCH 20/55] Client: Remove mWaitingForUpdateDelivery +Subject: [PATCH 20/51] Client: Remove mWaitingForUpdateDelivery Currently, mWaitingForUpdateDelivery is shared between the main thread (doHandleFrameCallback()) and the frame callback event thread @@ -75,5 +75,5 @@ index 54ac67a9..cf7ce879 100644 QElapsedTimer mFrameCallbackElapsedTimer; struct ::wl_callback *mFrameCallback = nullptr; -- -2.40.0 +2.40.1 diff --git a/0021-client-Simplify-round-trip-behavior.patch b/0021-client-Simplify-round-trip-behavior.patch index b6b1d10..69476e6 100644 --- a/0021-client-Simplify-round-trip-behavior.patch +++ b/0021-client-Simplify-round-trip-behavior.patch @@ -1,7 +1,7 @@ -From 71a1a9791df20307dd4eb688b0957d0f695823c5 Mon Sep 17 00:00:00 2001 +From 89b396cbef7c8fb7041d3a13d952d468c5c57e56 Mon Sep 17 00:00:00 2001 From: David Edmundson Date: Wed, 9 Feb 2022 17:20:48 +0000 -Subject: [PATCH 21/55] client: Simplify round trip behavior +Subject: [PATCH 21/51] client: Simplify round trip behavior The custom event queue was removed in 302d4ffb8549214eb4028dc3e47ec4ee4e12ffbd (2015) so the comment about not @@ -78,5 +78,5 @@ index ebcdbd22..d371ffec 100644 bool QWaylandDisplay::supportsWindowDecoration() const -- -2.40.0 +2.40.1 diff --git a/0022-Client-Fix-opaque-region-setter.patch b/0022-Client-Fix-opaque-region-setter.patch index 6c6c41d..3df87c8 100644 --- a/0022-Client-Fix-opaque-region-setter.patch +++ b/0022-Client-Fix-opaque-region-setter.patch @@ -1,7 +1,7 @@ -From f584a8350503e349669744a1587634431ac0dc82 Mon Sep 17 00:00:00 2001 +From 0cf12729a90380d3ef11efebfbfa9458c397d592 Mon Sep 17 00:00:00 2001 From: Vlad Zahorodnii Date: Sat, 19 Feb 2022 17:01:04 +0200 -Subject: [PATCH 22/55] Client: Fix opaque region setter +Subject: [PATCH 22/51] Client: Fix opaque region setter The rect is in the global coordinate system, while the opaque region must be in the surface local coordinate system. @@ -27,5 +27,5 @@ index de5af1bd..69319228 100644 void QWaylandWindow::resizeFromApplyConfigure(const QSize &sizeWithMargins, const QPoint &offset) -- -2.40.0 +2.40.1 diff --git a/0023-Use-proper-dependencies-in-compile-tests.patch b/0023-Use-proper-dependencies-in-compile-tests.patch index 0023433..9731af4 100644 --- a/0023-Use-proper-dependencies-in-compile-tests.patch +++ b/0023-Use-proper-dependencies-in-compile-tests.patch @@ -1,7 +1,7 @@ -From a9831916ac5463682b7a27db3ffcadfe0ea07ab9 Mon Sep 17 00:00:00 2001 +From 1ab149c13af4806ef950487e2d9db8a937645791 Mon Sep 17 00:00:00 2001 From: Fabian Vogt Date: Fri, 4 Feb 2022 11:07:36 +0100 -Subject: [PATCH 23/55] Use proper dependencies in compile tests +Subject: [PATCH 23/51] Use proper dependencies in compile tests Use the dependencies as found by the "libraries" section instead of relying on them being available in the default location (e.g. "-ldrm"). @@ -122,5 +122,5 @@ index bcfd5215..da95d07b 100644 }, -- -2.40.0 +2.40.1 diff --git a/0024-Revert-Client-Remove-mWaitingForUpdateDelivery.patch b/0024-Revert-Client-Remove-mWaitingForUpdateDelivery.patch index 1cc3e5c..138d55a 100644 --- a/0024-Revert-Client-Remove-mWaitingForUpdateDelivery.patch +++ b/0024-Revert-Client-Remove-mWaitingForUpdateDelivery.patch @@ -1,7 +1,7 @@ -From c6639e225f45564def8f6729c83887ab73495e59 Mon Sep 17 00:00:00 2001 +From 16d52e9ad900a25a02ff4eae43cc7d7e43dbad8a Mon Sep 17 00:00:00 2001 From: Paul Olav Tvete Date: Tue, 15 Mar 2022 15:59:15 +0100 -Subject: [PATCH 24/55] Revert "Client: Remove mWaitingForUpdateDelivery" +Subject: [PATCH 24/51] Revert "Client: Remove mWaitingForUpdateDelivery" The reverted commit introduces a severe performance regression when a client window is resized while a QtQuick renderthread @@ -55,5 +55,5 @@ index cf7ce879..54ac67a9 100644 QElapsedTimer mFrameCallbackElapsedTimer; struct ::wl_callback *mFrameCallback = nullptr; -- -2.40.0 +2.40.1 diff --git a/0025-Fix-race-condition-on-mWaitingForUpdateDelivery.patch b/0025-Fix-race-condition-on-mWaitingForUpdateDelivery.patch index 9f03187..1bbf66c 100644 --- a/0025-Fix-race-condition-on-mWaitingForUpdateDelivery.patch +++ b/0025-Fix-race-condition-on-mWaitingForUpdateDelivery.patch @@ -1,7 +1,7 @@ -From 2c403a8522db9aa6a9f365dba5f8ef5af205295c Mon Sep 17 00:00:00 2001 +From 2a7884f0d51d4da20e675640b8d987004c9d77c5 Mon Sep 17 00:00:00 2001 From: Paul Olav Tvete Date: Tue, 15 Mar 2022 16:53:04 +0100 -Subject: [PATCH 25/55] Fix race condition on mWaitingForUpdateDelivery +Subject: [PATCH 25/51] Fix race condition on mWaitingForUpdateDelivery Change-Id: I0e91bda73722468b9339fc434fe04420b5e7d3da Reviewed-by: David Edmundson @@ -55,5 +55,5 @@ index 54ac67a9..c0a76345 100644 QElapsedTimer mFrameCallbackElapsedTimer; struct ::wl_callback *mFrameCallback = nullptr; -- -2.40.0 +2.40.1 diff --git a/0026-use-poll-2-when-reading-from-clipboard.patch b/0026-use-poll-2-when-reading-from-clipboard.patch index 358dc32..18c17d8 100644 --- a/0026-use-poll-2-when-reading-from-clipboard.patch +++ b/0026-use-poll-2-when-reading-from-clipboard.patch @@ -1,7 +1,7 @@ -From 2f0528fc51a378bdd8a3ff93d996765fccf54cce Mon Sep 17 00:00:00 2001 +From ddfa956f6c39c53249116b979f679b255ed4a596 Mon Sep 17 00:00:00 2001 From: Kenneth Topp Date: Mon, 4 Apr 2022 09:36:21 -0400 -Subject: [PATCH 26/55] use poll(2) when reading from clipboard +Subject: [PATCH 26/51] use poll(2) when reading from clipboard change clipboard read away from select(2) call which can fail when an application has large number of open files @@ -44,5 +44,5 @@ index c9e158cc..fe0ea8c9 100644 } else if (ready == 0) { qWarning("QWaylandDataOffer: timeout reading from pipe"); -- -2.40.0 +2.40.1 diff --git a/0027-Reduce-memory-leakage.patch b/0027-Reduce-memory-leakage.patch index e647362..a475bec 100644 --- a/0027-Reduce-memory-leakage.patch +++ b/0027-Reduce-memory-leakage.patch @@ -1,7 +1,7 @@ -From 2197557879ae1e3459e715dbc20b21e8652cb972 Mon Sep 17 00:00:00 2001 +From b981fc82eb37700353949c72d3fd6d0887c8c107 Mon Sep 17 00:00:00 2001 From: Ulf Hermann Date: Tue, 22 Feb 2022 12:31:08 +0100 -Subject: [PATCH 27/55] Reduce memory leakage +Subject: [PATCH 27/51] Reduce memory leakage We need to clean up the event queue when we're done. @@ -27,5 +27,5 @@ index d371ffec..1b9ec699 100644 // Steps which is called just after constructor. This separates registry_global() out of the constructor -- -2.40.0 +2.40.1 diff --git a/0028-Fix-build-with-libcxx-missing-array-include.patch b/0028-Fix-build-with-libcxx-missing-array-include.patch index a731873..caa8aee 100644 --- a/0028-Fix-build-with-libcxx-missing-array-include.patch +++ b/0028-Fix-build-with-libcxx-missing-array-include.patch @@ -1,7 +1,7 @@ -From d9b04ba05ed479b577579e6a34d97fb906791f69 Mon Sep 17 00:00:00 2001 +From 91afb601e33f492393f7b27a84aa281b55d26de2 Mon Sep 17 00:00:00 2001 From: Sam James Date: Sat, 18 Jun 2022 17:11:11 +0100 -Subject: [PATCH 28/55] Fix build with libcxx (missing array include) +Subject: [PATCH 28/51] Fix build with libcxx (missing array include) Bug: https://bugs.gentoo.org/833488 @@ -28,5 +28,5 @@ index 56a710c3..c6a8b6c6 100644 #include -- -2.40.0 +2.40.1 diff --git a/0029-Only-close-popup-in-the-the-hierchary.patch b/0029-Only-close-popup-in-the-the-hierchary.patch index 7378cfe..9bfd3fd 100644 --- a/0029-Only-close-popup-in-the-the-hierchary.patch +++ b/0029-Only-close-popup-in-the-the-hierchary.patch @@ -1,7 +1,7 @@ -From 9265dae0d87eaf2a0dfc8a67c46f6c11bd14d2ab Mon Sep 17 00:00:00 2001 +From 76a2b1919f04152e77740b2d1601df893b8d79ba Mon Sep 17 00:00:00 2001 From: Weng Xuetian Date: Wed, 20 Jul 2022 15:57:40 -0700 -Subject: [PATCH 29/55] Only close popup in the the hierchary +Subject: [PATCH 29/51] Only close popup in the the hierchary Imagine following event sequences: 1. a tooltip is shown. activePopups = {tooltip} @@ -209,7 +209,7 @@ index 8c371661..151c78e3 100644 auto *shell = m_xdgSurface->m_shell; Q_ASSERT(shell->m_topmostGrabbingPopup == this); diff --git a/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp b/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp -index b7383e19..962001b3 100644 +index 9a362b74..ead99989 100644 --- a/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp +++ b/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp @@ -195,12 +195,17 @@ QtWayland::xdg_toplevel::resize_edge QWaylandXdgSurface::Toplevel::convertToResi @@ -246,10 +246,10 @@ index b7383e19..962001b3 100644 Q_ASSERT(shell->m_topmostGrabbingPopup == this); - shell->m_topmostGrabbingPopup = m_parent->m_popup; + shell->m_topmostGrabbingPopup = m_parentXdgSurface ? m_parentXdgSurface->m_popup : nullptr; - } - } + m_grabbing = false; -@@ -393,8 +402,6 @@ void QWaylandXdgSurface::setPopup(QWaylandWindow *parent) + // Synthesize Qt enter/leave events for popup +@@ -403,8 +412,6 @@ void QWaylandXdgSurface::setPopup(QWaylandWindow *parent) { Q_ASSERT(!m_toplevel && !m_popup); @@ -258,7 +258,7 @@ index b7383e19..962001b3 100644 auto positioner = new QtWayland::xdg_positioner(m_shell->create_positioner()); // set_popup expects a position relative to the parent QPoint transientPos = m_window->geometry().topLeft(); // this is absolute -@@ -411,8 +418,9 @@ void QWaylandXdgSurface::setPopup(QWaylandWindow *parent) +@@ -421,8 +428,9 @@ void QWaylandXdgSurface::setPopup(QWaylandWindow *parent) | QtWayland::xdg_positioner::constraint_adjustment_slide_y | QtWayland::xdg_positioner::constraint_adjustment_flip_x | QtWayland::xdg_positioner::constraint_adjustment_flip_y); @@ -397,5 +397,5 @@ index 73d1eb9c..747875b4 100644 void tst_xdgshell::switchPopups() { -- -2.40.0 +2.40.1 diff --git a/0030-Build-fixes-for-GCC-11.patch b/0030-Build-fixes-for-GCC-11.patch deleted file mode 100644 index 28ad68d..0000000 --- a/0030-Build-fixes-for-GCC-11.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 08ce7a21017e1f9553cd0f4af1316e38709d5553 Mon Sep 17 00:00:00 2001 -From: Ville Voutilainen -Date: Mon, 18 Jan 2021 12:31:31 +0200 -Subject: [PATCH 30/55] Build fixes for GCC 11 - -Task-number: QTBUG-89977 -Change-Id: I7e3d0964087865e8062f539f851a61f3df017dae -Reviewed-by: David Edmundson -(cherry picked from commit 1aa6ec2c778504d96543f6cdc2b9199a7b066fc1) ---- - tests/auto/client/shared/corecompositor.cpp | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/tests/auto/client/shared/corecompositor.cpp b/tests/auto/client/shared/corecompositor.cpp -index 5c6c83ba..fa9b7662 100644 ---- a/tests/auto/client/shared/corecompositor.cpp -+++ b/tests/auto/client/shared/corecompositor.cpp -@@ -27,6 +27,7 @@ - ****************************************************************************/ - - #include "corecompositor.h" -+#include - - namespace MockCompositor { - --- -2.40.0 - diff --git a/0031-Check-pointer-for-null-before-use-in-ASSERT.patch b/0030-Check-pointer-for-null-before-use-in-ASSERT.patch similarity index 87% rename from 0031-Check-pointer-for-null-before-use-in-ASSERT.patch rename to 0030-Check-pointer-for-null-before-use-in-ASSERT.patch index c6a4793..f376934 100644 --- a/0031-Check-pointer-for-null-before-use-in-ASSERT.patch +++ b/0030-Check-pointer-for-null-before-use-in-ASSERT.patch @@ -1,7 +1,7 @@ -From ec0171610350305be51c3e4be7c6f086cb360fe6 Mon Sep 17 00:00:00 2001 +From b14eb8fdac3bfa2763a83541a3e4764c0eac153e Mon Sep 17 00:00:00 2001 From: Roman Genkhel Date: Thu, 12 Nov 2020 12:21:51 +0300 -Subject: [PATCH 31/55] Check pointer for null before use in ASSERT +Subject: [PATCH 30/51] Check pointer for null before use in ASSERT Task-number: QTBUG-85195 Change-Id: I331e54f6e58aa9d536351a55223610c60b3cb414 @@ -30,5 +30,5 @@ index 9e82c174..0a5fc15b 100644 buffer->setBusy(); -- -2.40.0 +2.40.1 diff --git a/0032-Use-wl_surface.damage_buffer-on-the-client-side.patch b/0031-Use-wl_surface.damage_buffer-on-the-client-side.patch similarity index 97% rename from 0032-Use-wl_surface.damage_buffer-on-the-client-side.patch rename to 0031-Use-wl_surface.damage_buffer-on-the-client-side.patch index 5f02727..fa44dcb 100644 --- a/0032-Use-wl_surface.damage_buffer-on-the-client-side.patch +++ b/0031-Use-wl_surface.damage_buffer-on-the-client-side.patch @@ -1,7 +1,7 @@ -From 2d3d929c86c5aab6dd30e02ade25697d49617335 Mon Sep 17 00:00:00 2001 +From 7daab1d4a36463f0904fdde539894609f8b367c1 Mon Sep 17 00:00:00 2001 From: Paul Olav Tvete Date: Mon, 6 Jul 2020 14:37:35 +0200 -Subject: [PATCH 32/55] Use wl_surface.damage_buffer on the client side +Subject: [PATCH 31/51] Use wl_surface.damage_buffer on the client side Prefer the newer, recommended damage_buffer when the compositor supports it. @@ -127,5 +127,5 @@ index 949dc23d..d176837e 100644 uint32_t callback) override; void surface_commit(Resource *resource) override; -- -2.40.0 +2.40.1 diff --git a/0033-Client-clear-focus-on-touch-cancel.patch b/0032-Client-clear-focus-on-touch-cancel.patch similarity index 96% rename from 0033-Client-clear-focus-on-touch-cancel.patch rename to 0032-Client-clear-focus-on-touch-cancel.patch index 7513b34..d18bc69 100644 --- a/0033-Client-clear-focus-on-touch-cancel.patch +++ b/0032-Client-clear-focus-on-touch-cancel.patch @@ -1,7 +1,7 @@ -From bdf04e01153aeda2c2bafa059dd21dc377eb82e1 Mon Sep 17 00:00:00 2001 +From 152984fa2347a2f02568ac6cd9baba5bd8e4d56d Mon Sep 17 00:00:00 2001 From: David Edmundson Date: Fri, 5 Aug 2022 15:00:31 +0100 -Subject: [PATCH 33/55] Client: clear focus on touch cancel +Subject: [PATCH 32/51] Client: clear focus on touch cancel When we get a touch_cancel event all touches should be treated as lifted. @@ -112,5 +112,5 @@ index 296dbf47..210d8ddb 100644 Seat *m_seat = nullptr; }; -- -2.40.0 +2.40.1 diff --git a/0034-Guard-mResizeDirty-by-the-correctMutex.patch b/0033-Guard-mResizeDirty-by-the-correctMutex.patch similarity index 91% rename from 0034-Guard-mResizeDirty-by-the-correctMutex.patch rename to 0033-Guard-mResizeDirty-by-the-correctMutex.patch index 82ee313..24b7845 100644 --- a/0034-Guard-mResizeDirty-by-the-correctMutex.patch +++ b/0033-Guard-mResizeDirty-by-the-correctMutex.patch @@ -1,7 +1,7 @@ -From e920173ee9cef08d10ad8a7e21ae7a5a2c2d7530 Mon Sep 17 00:00:00 2001 +From 11824dcf4164898a48b0629a072370a195dcc8f1 Mon Sep 17 00:00:00 2001 From: David Edmundson Date: Thu, 3 Feb 2022 19:42:33 +0000 -Subject: [PATCH 34/55] Guard mResizeDirty by the correctMutex +Subject: [PATCH 33/51] Guard mResizeDirty by the correctMutex mResizeDirty is used in the GUI thread in setCanResize which can be called from the GUI thread. It is queried and set whilst the resizeLock @@ -35,5 +35,5 @@ index 5b7f9df9..117e3383 100644 } QRect exposeGeometry(QPoint(), geometry().size()); -- -2.40.0 +2.40.1 diff --git a/0036-Fix-compile-tests.patch b/0034-Fix-compile-tests.patch similarity index 90% rename from 0036-Fix-compile-tests.patch rename to 0034-Fix-compile-tests.patch index 83acc1f..a0cadf0 100644 --- a/0036-Fix-compile-tests.patch +++ b/0034-Fix-compile-tests.patch @@ -1,7 +1,7 @@ -From bf6b509011c4086cc7b1a7cfdc78dd50e446b15f Mon Sep 17 00:00:00 2001 +From 8e2f1b74e780b998ab682d9abbd53feeceaa819e Mon Sep 17 00:00:00 2001 From: Albert Astals Cid Date: Fri, 9 Sep 2022 15:37:49 +0200 -Subject: [PATCH 36/55] Fix compile tests +Subject: [PATCH 34/51] Fix compile tests Broken in c618467da4c06528537026e2b78f92265bce446f --- @@ -25,5 +25,5 @@ index b063e0d9..2ea382f1 100644 { auto e = window.m_events.takeFirst(); -- -2.40.0 +2.40.1 diff --git a/0037-Use-CRLF-line-delimiter-for-text-uri-list-data.patch b/0035-Use-CRLF-line-delimiter-for-text-uri-list-data.patch similarity index 91% rename from 0037-Use-CRLF-line-delimiter-for-text-uri-list-data.patch rename to 0035-Use-CRLF-line-delimiter-for-text-uri-list-data.patch index 3664c5c..67ebc1e 100644 --- a/0037-Use-CRLF-line-delimiter-for-text-uri-list-data.patch +++ b/0035-Use-CRLF-line-delimiter-for-text-uri-list-data.patch @@ -1,7 +1,7 @@ -From 137958eec28cb8209069f9a3a3ab778202773ff6 Mon Sep 17 00:00:00 2001 +From a7c3f946175a78df45b1eb3301cf16a05a542d58 Mon Sep 17 00:00:00 2001 From: Alexandros Frantzis Date: Wed, 11 May 2022 17:12:52 +0300 -Subject: [PATCH 37/55] Use CRLF line delimiter for text/uri-list data +Subject: [PATCH 35/51] Use CRLF line delimiter for text/uri-list data According to RFC 2483, which describes text/uri-list, the line delimiter must be CRLF (instead of the currently used LF). Some applications @@ -36,5 +36,5 @@ index 051a91dc..e2fe1928 100644 } else { content = mimeData->data(mimeType); -- -2.40.0 +2.40.1 diff --git a/0035-client-Synthesize-enter-leave-event-for-popup-in-xdg.patch b/0035-client-Synthesize-enter-leave-event-for-popup-in-xdg.patch deleted file mode 100644 index 9cfd102..0000000 --- a/0035-client-Synthesize-enter-leave-event-for-popup-in-xdg.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 1ff4219d8c58f8356d9d12824948013cdfde6ac5 Mon Sep 17 00:00:00 2001 -From: Liang Qi -Date: Fri, 11 Mar 2022 09:17:25 +0100 -Subject: [PATCH 35/55] client: Synthesize enter/leave event for popup in - xdg-shell -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Fixes: QTBUG-100148 -Pick-to: 6.3 6.2 5.15 -Change-Id: I45e3156d7942cff9968674c0b253d15be7235921 -Reviewed-by: Tang Haixiang -Reviewed-by: Qt CI Bot -Reviewed-by: Tor Arne Vestbø -(cherry picked from commit 73d35d3117722cef8e94f0d2036c56ad0a5ddae9) - -* asturmlechner 2022-09-08: Resolve conflict with dev branch commits - b6a3a938abd4a7fdb7ea96a38485b53f394fba17 and - f8e3257e9b1e22d52e9c221c62b8d9b6dd1151a3 ---- - .../xdg-shell/qwaylandxdgshell.cpp | 27 +++++++++++++++++++ - 1 file changed, 27 insertions(+) - -diff --git a/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp b/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp -index 962001b3..ead99989 100644 ---- a/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp -+++ b/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp -@@ -221,6 +221,16 @@ QWaylandXdgSurface::Popup::~Popup() - auto *shell = m_xdgSurface->m_shell; - Q_ASSERT(shell->m_topmostGrabbingPopup == this); - shell->m_topmostGrabbingPopup = m_parentXdgSurface ? m_parentXdgSurface->m_popup : nullptr; -+ m_grabbing = false; -+ -+ // Synthesize Qt enter/leave events for popup -+ QWindow *leave = nullptr; -+ if (m_xdgSurface && m_xdgSurface->window()) -+ leave = m_xdgSurface->window()->window(); -+ QWindowSystemInterface::handleLeaveEvent(leave); -+ -+ if (QWindow *enter = QGuiApplication::topLevelAt(QCursor::pos())) -+ QWindowSystemInterface::handleEnterEvent(enter, enter->mapFromGlobal(QCursor::pos()), QCursor::pos()); - } - } - -@@ -442,6 +452,23 @@ void QWaylandXdgSurface::setGrabPopup(QWaylandWindow *parent, QWaylandInputDevic - } - setPopup(parent); - m_popup->grab(device, serial); -+ -+ // Synthesize Qt enter/leave events for popup -+ if (!parent) -+ return; -+ QWindow *current = QGuiApplication::topLevelAt(QCursor::pos()); -+ QWindow *leave = parent->window(); -+ if (current != leave) -+ return; -+ -+ QWindowSystemInterface::handleLeaveEvent(leave); -+ -+ QWindow *enter = nullptr; -+ if (m_popup && m_popup->m_xdgSurface && m_popup->m_xdgSurface->window()) -+ enter = m_popup->m_xdgSurface->window()->window(); -+ -+ if (enter) -+ QWindowSystemInterface::handleEnterEvent(enter, enter->mapFromGlobal(QCursor::pos()), QCursor::pos()); - } - - void QWaylandXdgSurface::xdg_surface_configure(uint32_t serial) --- -2.40.0 - diff --git a/0038-Avoid-calling-requestUpdate-from-wrong-thread.patch b/0036-Avoid-calling-requestUpdate-from-wrong-thread.patch similarity index 92% rename from 0038-Avoid-calling-requestUpdate-from-wrong-thread.patch rename to 0036-Avoid-calling-requestUpdate-from-wrong-thread.patch index dc29759..d52f856 100644 --- a/0038-Avoid-calling-requestUpdate-from-wrong-thread.patch +++ b/0036-Avoid-calling-requestUpdate-from-wrong-thread.patch @@ -1,7 +1,7 @@ -From 0064749af275016ae3b4b09964d8d31d756d3468 Mon Sep 17 00:00:00 2001 +From 36522a8ed9f43cd49100e06040711de9c2c0c163 Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Mon, 8 Aug 2022 12:14:01 +0200 -Subject: [PATCH 38/55] Avoid calling requestUpdate from wrong thread +Subject: [PATCH 36/51] Avoid calling requestUpdate from wrong thread In certain circumstances, we can get to createDecoration() from the render thread (from QWaylandGLContext::makeCurrent) @@ -39,5 +39,5 @@ index 117e3383..4ddf9fbe 100644 return mWindowDecoration; -- -2.40.0 +2.40.1 diff --git a/0039-Call-finishDrag-in-QWaylandDataDevice-dragSourceCanc.patch b/0037-Call-finishDrag-in-QWaylandDataDevice-dragSourceCanc.patch similarity index 90% rename from 0039-Call-finishDrag-in-QWaylandDataDevice-dragSourceCanc.patch rename to 0037-Call-finishDrag-in-QWaylandDataDevice-dragSourceCanc.patch index 777e40d..e952a22 100644 --- a/0039-Call-finishDrag-in-QWaylandDataDevice-dragSourceCanc.patch +++ b/0037-Call-finishDrag-in-QWaylandDataDevice-dragSourceCanc.patch @@ -1,7 +1,7 @@ -From 35c03e72007630040659188b2bc7f47b1df82577 Mon Sep 17 00:00:00 2001 +From 3f0371cb22e117020e57255858e02f9237210a3b Mon Sep 17 00:00:00 2001 From: Fushan Wen Date: Sun, 18 Sep 2022 18:17:18 +0800 -Subject: [PATCH 39/55] Call `finishDrag()` in +Subject: [PATCH 37/51] Call `finishDrag()` in `QWaylandDataDevice::dragSourceCancelled()` Drags can either get finished or cancelled. If a drag is finished @@ -34,5 +34,5 @@ index fbb5aa91..e3e60ed5 100644 } -- -2.40.0 +2.40.1 diff --git a/0040-Hold-surface-read-lock-throughout-QWaylandEglWindow-.patch b/0038-Hold-surface-read-lock-throughout-QWaylandEglWindow-.patch similarity index 96% rename from 0040-Hold-surface-read-lock-throughout-QWaylandEglWindow-.patch rename to 0038-Hold-surface-read-lock-throughout-QWaylandEglWindow-.patch index bb0cfdc..aa5057b 100644 --- a/0040-Hold-surface-read-lock-throughout-QWaylandEglWindow-.patch +++ b/0038-Hold-surface-read-lock-throughout-QWaylandEglWindow-.patch @@ -1,7 +1,7 @@ -From 37ad4aeaa6dce748f5f6bcc5030be187e6320ec0 Mon Sep 17 00:00:00 2001 +From 20bef824f4b78598fbffa5ada8271e22b658f635 Mon Sep 17 00:00:00 2001 From: David Edmundson Date: Mon, 12 Sep 2022 13:28:08 +0100 -Subject: [PATCH 40/55] Hold surface read lock throughout +Subject: [PATCH 38/51] Hold surface read lock throughout QWaylandEglWindow::updateSurface QWaylandEGLWindow::updateSurface is called from both the main and render @@ -81,5 +81,5 @@ index 13dd747a..872a6237 100644 } -- -2.40.0 +2.40.1 diff --git a/0042-Keep-toplevel-windows-in-the-top-left-corner-of-the-.patch b/0039-Keep-toplevel-windows-in-the-top-left-corner-of-the-.patch similarity index 90% rename from 0042-Keep-toplevel-windows-in-the-top-left-corner-of-the-.patch rename to 0039-Keep-toplevel-windows-in-the-top-left-corner-of-the-.patch index cc97967..175c448 100644 --- a/0042-Keep-toplevel-windows-in-the-top-left-corner-of-the-.patch +++ b/0039-Keep-toplevel-windows-in-the-top-left-corner-of-the-.patch @@ -1,7 +1,7 @@ -From 61fccee064cd8cea698a530c76113f8487d11d68 Mon Sep 17 00:00:00 2001 +From 6481efa9a8fe88043d931648d72dceeeb91af64d Mon Sep 17 00:00:00 2001 From: David Redondo Date: Wed, 8 Jun 2022 11:25:59 +0200 -Subject: [PATCH 42/55] Keep toplevel windows in the top left corner of the +Subject: [PATCH 39/51] Keep toplevel windows in the top left corner of the screen We can't know the actual position of a window on the screen. This causes @@ -39,10 +39,10 @@ index fbf00c6b..54861600 100644 QWaylandIntegration::~QWaylandIntegration() diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp -index 1f2d56b5..d3459168 100644 +index 4ddf9fbe..f322a8d6 100644 --- a/src/client/qwaylandwindow.cpp +++ b/src/client/qwaylandwindow.cpp -@@ -361,8 +361,13 @@ void QWaylandWindow::setGeometry_helper(const QRect &rect) +@@ -350,8 +350,13 @@ void QWaylandWindow::setGeometry_helper(const QRect &rect) } } @@ -57,7 +57,7 @@ index 1f2d56b5..d3459168 100644 setGeometry_helper(rect); if (window()->isVisible() && rect.isValid()) { -@@ -1044,6 +1049,13 @@ void QWaylandWindow::handleScreensChanged() +@@ -1033,6 +1038,13 @@ void QWaylandWindow::handleScreensChanged() QWindowSystemInterface::handleWindowScreenChanged(window(), newScreen->QPlatformScreen::screen()); mLastReportedScreen = newScreen; @@ -72,7 +72,7 @@ index 1f2d56b5..d3459168 100644 int scale = newScreen->isPlaceholder() ? 1 : static_cast(newScreen)->scale(); if (scale != mScale) { diff --git a/src/client/qwaylandwindow_p.h b/src/client/qwaylandwindow_p.h -index e18609d9..a8ee2696 100644 +index ea3d1995..487a91a6 100644 --- a/src/client/qwaylandwindow_p.h +++ b/src/client/qwaylandwindow_p.h @@ -98,6 +98,9 @@ public: @@ -86,5 +86,5 @@ index e18609d9..a8ee2696 100644 virtual void ensureSize(); WId winId() const override; -- -2.40.0 +2.40.1 diff --git a/0044-Client-Add-F_SEAL_SHRINK-seal-to-shm-backing-file.patch b/0040-Client-Add-F_SEAL_SHRINK-seal-to-shm-backing-file.patch similarity index 92% rename from 0044-Client-Add-F_SEAL_SHRINK-seal-to-shm-backing-file.patch rename to 0040-Client-Add-F_SEAL_SHRINK-seal-to-shm-backing-file.patch index 2f9ec44..e90b99e 100644 --- a/0044-Client-Add-F_SEAL_SHRINK-seal-to-shm-backing-file.patch +++ b/0040-Client-Add-F_SEAL_SHRINK-seal-to-shm-backing-file.patch @@ -1,7 +1,7 @@ -From dd605d5fec6921a7befbfe2c40c2ae87935aa9c4 Mon Sep 17 00:00:00 2001 +From 3b29b796f98721cb52c89a56e28ff8f9b830ebc5 Mon Sep 17 00:00:00 2001 From: Vlad Zahorodnii Date: Thu, 17 Nov 2022 15:25:37 +0200 -Subject: [PATCH 44/55] Client: Add F_SEAL_SHRINK seal to shm backing file +Subject: [PATCH 40/51] Client: Add F_SEAL_SHRINK seal to shm backing file This lets libwayland-server avoid installing a SIGBUS handler when it wants to mmap() the backing file and access the contents of shared @@ -49,5 +49,5 @@ index dc7ff670..98acd42d 100644 QScopedPointer filePointer; -- -2.40.0 +2.40.1 diff --git a/0045-Client-Call-wl_output_release-upon-QWaylandScreen-de.patch b/0041-Client-Call-wl_output_release-upon-QWaylandScreen-de.patch similarity index 87% rename from 0045-Client-Call-wl_output_release-upon-QWaylandScreen-de.patch rename to 0041-Client-Call-wl_output_release-upon-QWaylandScreen-de.patch index 3d44293..5e7f551 100644 --- a/0045-Client-Call-wl_output_release-upon-QWaylandScreen-de.patch +++ b/0041-Client-Call-wl_output_release-upon-QWaylandScreen-de.patch @@ -1,7 +1,7 @@ -From dea12f0bb5729de6c1a31b03b7e79710baf96b63 Mon Sep 17 00:00:00 2001 +From 36a9d60c3ed05e2ec8faf7e81946becfaeb2f1d5 Mon Sep 17 00:00:00 2001 From: Vlad Zahorodnii Date: Mon, 21 Nov 2022 18:39:40 +0200 -Subject: [PATCH 45/55] Client: Call wl_output_release() upon QWaylandScreen +Subject: [PATCH 41/51] Client: Call wl_output_release() upon QWaylandScreen destruction It ensures that the proxy gets destroyed. @@ -27,5 +27,5 @@ index 7c2d9be3..64ae4fe7 100644 uint QWaylandScreen::requiredEvents() const -- -2.40.0 +2.40.1 diff --git a/0041-Client-Ensure-that-wl_surface-lives-as-long-as-qtqui.patch b/0041-Client-Ensure-that-wl_surface-lives-as-long-as-qtqui.patch deleted file mode 100644 index 95aa134..0000000 --- a/0041-Client-Ensure-that-wl_surface-lives-as-long-as-qtqui.patch +++ /dev/null @@ -1,109 +0,0 @@ -From 1012f1d4b5753ad63da3cca1226fb034e297ae6d Mon Sep 17 00:00:00 2001 -From: Vlad Zahorodnii -Date: Tue, 8 Nov 2022 16:10:18 +0200 -Subject: [PATCH 41/55] Client: Ensure that wl_surface lives as long as qtquick - render thread needs it - -wl_surface can be destroyed while qtquick render thread still uses it. -That can end up in eglSwapBuffers() using defunct wl_surface, which will -eventually lead to a crash due to the compositor posting an error. - -This is partially cherry-pick of dff579147b07cd15888a47c303e36684e9930f9f - -Change-Id: I044f40dd64e6672027a833379b57ccd9973d8305 ---- - src/client/qwaylandwindow.cpp | 13 ++++++++++++- - src/client/qwaylandwindow_p.h | 3 +++ - .../client/wayland-egl/qwaylandglcontext.cpp | 6 +++++- - 3 files changed, 20 insertions(+), 2 deletions(-) - -diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp -index 4ddf9fbe..1f2d56b5 100644 ---- a/src/client/qwaylandwindow.cpp -+++ b/src/client/qwaylandwindow.cpp -@@ -76,6 +76,7 @@ QWaylandWindow *QWaylandWindow::mMouseGrab = nullptr; - QWaylandWindow::QWaylandWindow(QWindow *window, QWaylandDisplay *display) - : QPlatformWindow(window) - , mDisplay(display) -+ , mSurfaceLock(QReadWriteLock::Recursive) - , mResizeAfterSwap(qEnvironmentVariableIsSet("QT_WAYLAND_RESIZE_AFTER_SWAP")) - { - { -@@ -237,6 +238,16 @@ bool QWaylandWindow::shouldCreateSubSurface() const - return QPlatformWindow::parent() != nullptr; - } - -+void QWaylandWindow::beginFrame() -+{ -+ mSurfaceLock.lockForRead(); -+} -+ -+void QWaylandWindow::endFrame() -+{ -+ mSurfaceLock.unlock(); -+} -+ - void QWaylandWindow::reset() - { - closeChildPopups(); -@@ -245,10 +256,10 @@ void QWaylandWindow::reset() - delete mSubSurfaceWindow; - mSubSurfaceWindow = nullptr; - -- invalidateSurface(); - if (mSurface) { - emit wlSurfaceDestroyed(); - QWriteLocker lock(&mSurfaceLock); -+ invalidateSurface(); - mSurface.reset(); - } - -diff --git a/src/client/qwaylandwindow_p.h b/src/client/qwaylandwindow_p.h -index ea3d1995..e18609d9 100644 ---- a/src/client/qwaylandwindow_p.h -+++ b/src/client/qwaylandwindow_p.h -@@ -207,6 +207,9 @@ public: - void handleUpdate(); - void deliverUpdateRequest() override; - -+ void beginFrame(); -+ void endFrame(); -+ - void addChildPopup(QWaylandWindow* child); - void removeChildPopup(QWaylandWindow* child); - void closeChildPopups(); -diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp -index c1f45fa6..5d6fb2bf 100644 ---- a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp -+++ b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp -@@ -432,8 +432,10 @@ bool QWaylandGLContext::makeCurrent(QPlatformSurface *surface) - return true; - } - -- if (window->isExposed()) -+ if (window->isExposed()) { -+ window->beginFrame(); - window->setCanResize(false); -+ } - if (m_decorationsContext != EGL_NO_CONTEXT && !window->decoration()) - window->createDecoration(); - -@@ -449,6 +451,7 @@ bool QWaylandGLContext::makeCurrent(QPlatformSurface *surface) - if (!eglMakeCurrent(m_eglDisplay, eglSurface, eglSurface, m_context)) { - qWarning("QWaylandGLContext::makeCurrent: eglError: %x, this: %p \n", eglGetError(), this); - window->setCanResize(true); -+ window->endFrame(); - return false; - } - -@@ -502,6 +505,7 @@ void QWaylandGLContext::swapBuffers(QPlatformSurface *surface) - eglSwapBuffers(m_eglDisplay, eglSurface); - - window->setCanResize(true); -+ window->endFrame(); - } - - GLuint QWaylandGLContext::defaultFramebufferObject(QPlatformSurface *surface) const --- -2.40.0 - diff --git a/0046-Client-Bump-wl_output-version.patch b/0042-Client-Bump-wl_output-version.patch similarity index 89% rename from 0046-Client-Bump-wl_output-version.patch rename to 0042-Client-Bump-wl_output-version.patch index 29740c9..ee77b14 100644 --- a/0046-Client-Bump-wl_output-version.patch +++ b/0042-Client-Bump-wl_output-version.patch @@ -1,7 +1,7 @@ -From 8071f24324ffa8c556068816e009a5887e1a6ddd Mon Sep 17 00:00:00 2001 +From 4293409e97c6ecfaec49b87818f9b439010187c9 Mon Sep 17 00:00:00 2001 From: Vlad Zahorodnii Date: Tue, 22 Nov 2022 12:33:41 +0200 -Subject: [PATCH 46/55] Client: Bump wl_output version +Subject: [PATCH 42/51] Client: Bump wl_output version wl_output_release is available starting with wl_output v3. @@ -26,5 +26,5 @@ index 64ae4fe7..5537dafd 100644 , mWaylandDisplay(waylandDisplay) , mOutputName(QStringLiteral("Screen%1").arg(id)) -- -2.40.0 +2.40.1 diff --git a/0047-Fix-frame-sync-related-to-unprotected-multithread-ac.patch b/0043-Fix-frame-sync-related-to-unprotected-multithread-ac.patch similarity index 97% rename from 0047-Fix-frame-sync-related-to-unprotected-multithread-ac.patch rename to 0043-Fix-frame-sync-related-to-unprotected-multithread-ac.patch index 723d07c..6de6c7a 100644 --- a/0047-Fix-frame-sync-related-to-unprotected-multithread-ac.patch +++ b/0043-Fix-frame-sync-related-to-unprotected-multithread-ac.patch @@ -1,7 +1,7 @@ -From ef5b1f40b684927f73bc04ab84c396be074cb61e Mon Sep 17 00:00:00 2001 +From 7c43759079528c33c30c4a823de7fb2dff6acd27 Mon Sep 17 00:00:00 2001 From: Weng Xuetian Date: Sun, 27 Nov 2022 12:44:40 -0800 -Subject: [PATCH 47/55] Fix frame sync related to unprotected multithread +Subject: [PATCH 43/51] Fix frame sync related to unprotected multithread access There is a few crashes happens in real life that frame callback is @@ -162,5 +162,5 @@ index 487a91a6..2f219d8c 100644 static QWaylandWindow *mMouseGrab; -- -2.40.0 +2.40.1 diff --git a/0043-Revert-Client-Ensure-that-wl_surface-lives-as-long-a.patch b/0043-Revert-Client-Ensure-that-wl_surface-lives-as-long-a.patch deleted file mode 100644 index ffe2322..0000000 --- a/0043-Revert-Client-Ensure-that-wl_surface-lives-as-long-a.patch +++ /dev/null @@ -1,103 +0,0 @@ -From 3813da4b6d88320b42a7d91ae100e1567113ee72 Mon Sep 17 00:00:00 2001 -From: David Edmundson -Date: Mon, 14 Nov 2022 10:43:25 +0000 -Subject: [PATCH 43/55] Revert "Client: Ensure that wl_surface lives as long as - qtquick render thread needs it" - -This reverts commit 81a7702a87f386a60a0ac8c902e203daae044d81 ---- - src/client/qwaylandwindow.cpp | 13 +------------ - src/client/qwaylandwindow_p.h | 3 --- - .../client/wayland-egl/qwaylandglcontext.cpp | 6 +----- - 3 files changed, 2 insertions(+), 20 deletions(-) - -diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp -index d3459168..f322a8d6 100644 ---- a/src/client/qwaylandwindow.cpp -+++ b/src/client/qwaylandwindow.cpp -@@ -76,7 +76,6 @@ QWaylandWindow *QWaylandWindow::mMouseGrab = nullptr; - QWaylandWindow::QWaylandWindow(QWindow *window, QWaylandDisplay *display) - : QPlatformWindow(window) - , mDisplay(display) -- , mSurfaceLock(QReadWriteLock::Recursive) - , mResizeAfterSwap(qEnvironmentVariableIsSet("QT_WAYLAND_RESIZE_AFTER_SWAP")) - { - { -@@ -238,16 +237,6 @@ bool QWaylandWindow::shouldCreateSubSurface() const - return QPlatformWindow::parent() != nullptr; - } - --void QWaylandWindow::beginFrame() --{ -- mSurfaceLock.lockForRead(); --} -- --void QWaylandWindow::endFrame() --{ -- mSurfaceLock.unlock(); --} -- - void QWaylandWindow::reset() - { - closeChildPopups(); -@@ -256,10 +245,10 @@ void QWaylandWindow::reset() - delete mSubSurfaceWindow; - mSubSurfaceWindow = nullptr; - -+ invalidateSurface(); - if (mSurface) { - emit wlSurfaceDestroyed(); - QWriteLocker lock(&mSurfaceLock); -- invalidateSurface(); - mSurface.reset(); - } - -diff --git a/src/client/qwaylandwindow_p.h b/src/client/qwaylandwindow_p.h -index a8ee2696..487a91a6 100644 ---- a/src/client/qwaylandwindow_p.h -+++ b/src/client/qwaylandwindow_p.h -@@ -210,9 +210,6 @@ public: - void handleUpdate(); - void deliverUpdateRequest() override; - -- void beginFrame(); -- void endFrame(); -- - void addChildPopup(QWaylandWindow* child); - void removeChildPopup(QWaylandWindow* child); - void closeChildPopups(); -diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp -index 5d6fb2bf..c1f45fa6 100644 ---- a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp -+++ b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp -@@ -432,10 +432,8 @@ bool QWaylandGLContext::makeCurrent(QPlatformSurface *surface) - return true; - } - -- if (window->isExposed()) { -- window->beginFrame(); -+ if (window->isExposed()) - window->setCanResize(false); -- } - if (m_decorationsContext != EGL_NO_CONTEXT && !window->decoration()) - window->createDecoration(); - -@@ -451,7 +449,6 @@ bool QWaylandGLContext::makeCurrent(QPlatformSurface *surface) - if (!eglMakeCurrent(m_eglDisplay, eglSurface, eglSurface, m_context)) { - qWarning("QWaylandGLContext::makeCurrent: eglError: %x, this: %p \n", eglGetError(), this); - window->setCanResize(true); -- window->endFrame(); - return false; - } - -@@ -505,7 +502,6 @@ void QWaylandGLContext::swapBuffers(QPlatformSurface *surface) - eglSwapBuffers(m_eglDisplay, eglSurface); - - window->setCanResize(true); -- window->endFrame(); - } - - GLuint QWaylandGLContext::defaultFramebufferObject(QPlatformSurface *surface) const --- -2.40.0 - diff --git a/0048-Client-Handle-zwp_primary_selection_device_manager_v.patch b/0044-Client-Handle-zwp_primary_selection_device_manager_v.patch similarity index 95% rename from 0048-Client-Handle-zwp_primary_selection_device_manager_v.patch rename to 0044-Client-Handle-zwp_primary_selection_device_manager_v.patch index 727159b..3dfe945 100644 --- a/0048-Client-Handle-zwp_primary_selection_device_manager_v.patch +++ b/0044-Client-Handle-zwp_primary_selection_device_manager_v.patch @@ -1,7 +1,7 @@ -From 21e354e7b1878a243d29466b19084083df3d0db9 Mon Sep 17 00:00:00 2001 +From 817655fa798fc2d640b4db006df229c335e02c3b Mon Sep 17 00:00:00 2001 From: Vlad Zahorodnii Date: Tue, 27 Sep 2022 22:05:07 +0300 -Subject: [PATCH 48/55] Client: Handle zwp_primary_selection_device_manager_v1 +Subject: [PATCH 44/51] Client: Handle zwp_primary_selection_device_manager_v1 global removal The zwp_primary_selection_device_manager_v1 global can be withdrawn if @@ -62,5 +62,5 @@ index 832f9678..ea508771 100644 QWaylandPrimarySelectionDeviceV1 *QWaylandPrimarySelectionDeviceManagerV1::createDevice(QWaylandInputDevice *seat) -- -2.40.0 +2.40.1 diff --git a/0049-Fixes-the-build-on-CentOS.patch b/0045-Fixes-the-build-on-CentOS.patch similarity index 87% rename from 0049-Fixes-the-build-on-CentOS.patch rename to 0045-Fixes-the-build-on-CentOS.patch index 0d15bba..d541938 100644 --- a/0049-Fixes-the-build-on-CentOS.patch +++ b/0045-Fixes-the-build-on-CentOS.patch @@ -1,7 +1,7 @@ -From c12b0ed6db709e2af40ab3687d880aff5c56b5c1 Mon Sep 17 00:00:00 2001 +From 9e03f149e70896d92b51d9c25af681ddc2b5acfb Mon Sep 17 00:00:00 2001 From: Aleix Pol Date: Mon, 19 Dec 2022 15:31:03 +0100 -Subject: [PATCH 49/55] Fixes the build on CentOS +Subject: [PATCH 45/51] Fixes the build on CentOS Change-Id: I3c21972e7681be99b0f45c3ea3a57be285e4ff8e --- @@ -22,5 +22,5 @@ index 98acd42d..41cffdf7 100644 if (fd >= 0) fcntl(fd, F_ADD_SEALS, F_SEAL_SHRINK | F_SEAL_SEAL); -- -2.40.0 +2.40.1 diff --git a/0050-client-Avoid-protocol-error-with-invalid-min-max-siz.patch b/0046-client-Avoid-protocol-error-with-invalid-min-max-siz.patch similarity index 94% rename from 0050-client-Avoid-protocol-error-with-invalid-min-max-siz.patch rename to 0046-client-Avoid-protocol-error-with-invalid-min-max-siz.patch index de04d80..37c933b 100644 --- a/0050-client-Avoid-protocol-error-with-invalid-min-max-siz.patch +++ b/0046-client-Avoid-protocol-error-with-invalid-min-max-siz.patch @@ -1,7 +1,7 @@ -From d04d4c7fe2e00285e7d70da42094f213e13c6ed8 Mon Sep 17 00:00:00 2001 +From 5028633b140c013b14a487889eeef992233d4edf Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Mon, 23 May 2022 09:47:24 +0200 -Subject: [PATCH 50/55] client: Avoid protocol error with invalid min/max size +Subject: [PATCH 46/51] client: Avoid protocol error with invalid min/max size If the application sets an invalid minimum and maximum size (where the minimum is higher than the maximum), then we @@ -52,5 +52,5 @@ index ead99989..ad666129 100644 maxHeight = 0; m_toplevel->set_max_size(maxWidth, maxHeight); -- -2.40.0 +2.40.1 diff --git a/0051-Client-Fix-handling-of-Qt-BlankCursor.patch b/0047-Client-Fix-handling-of-Qt-BlankCursor.patch similarity index 89% rename from 0051-Client-Fix-handling-of-Qt-BlankCursor.patch rename to 0047-Client-Fix-handling-of-Qt-BlankCursor.patch index de310e5..94ac584 100644 --- a/0051-Client-Fix-handling-of-Qt-BlankCursor.patch +++ b/0047-Client-Fix-handling-of-Qt-BlankCursor.patch @@ -1,7 +1,7 @@ -From fbb9d65cf158bcf63440e9839acae9238ad4e0a7 Mon Sep 17 00:00:00 2001 +From aeb7bf67a99fecf5f4e49ba7c49edf9c8b9db2b6 Mon Sep 17 00:00:00 2001 From: Vlad Zahorodnii Date: Tue, 22 Nov 2022 23:27:34 +0200 -Subject: [PATCH 51/55] Client: Fix handling of Qt::BlankCursor +Subject: [PATCH 47/51] Client: Fix handling of Qt::BlankCursor The cursor may not be properly set when a window has Qt::BlankCursor and it's shown. In that case, the cursor surface may not be present and @@ -34,5 +34,5 @@ index 5b880984..9a0fe49d 100644 } -- -2.40.0 +2.40.1 diff --git a/0052-client-Force-a-roundtrip-when-an-XdgOutput-is-not-re.patch b/0048-client-Force-a-roundtrip-when-an-XdgOutput-is-not-re.patch similarity index 96% rename from 0052-client-Force-a-roundtrip-when-an-XdgOutput-is-not-re.patch rename to 0048-client-Force-a-roundtrip-when-an-XdgOutput-is-not-re.patch index 28e517b..d1f261b 100644 --- a/0052-client-Force-a-roundtrip-when-an-XdgOutput-is-not-re.patch +++ b/0048-client-Force-a-roundtrip-when-an-XdgOutput-is-not-re.patch @@ -1,7 +1,7 @@ -From 6897f62f603df049135347cf402a7a4037092263 Mon Sep 17 00:00:00 2001 +From 2e4c35db38a55243bc2458dc87cc9ff6afb81586 Mon Sep 17 00:00:00 2001 From: Marco Martin Date: Fri, 24 Feb 2023 17:40:48 +0100 -Subject: [PATCH 52/55] client: Force a roundtrip when an XdgOutput is not +Subject: [PATCH 48/51] client: Force a roundtrip when an XdgOutput is not ready yet Is possible that the server sends a surface_enter before @@ -113,5 +113,5 @@ index 80429608..68e8d77a 100644 QCOMPOSITOR_TEST_MAIN(tst_xdgoutput) #include "tst_xdgoutput.moc" -- -2.40.0 +2.40.1 diff --git a/0053-Client-Manage-QMimeData-lifecycle.patch b/0049-Client-Manage-QMimeData-lifecycle.patch similarity index 97% rename from 0053-Client-Manage-QMimeData-lifecycle.patch rename to 0049-Client-Manage-QMimeData-lifecycle.patch index 4941d36..2ea7a27 100644 --- a/0053-Client-Manage-QMimeData-lifecycle.patch +++ b/0049-Client-Manage-QMimeData-lifecycle.patch @@ -1,7 +1,7 @@ -From 31eab11d3b6697a76cc7802d02e525c1152a42c2 Mon Sep 17 00:00:00 2001 +From dd8640794264449cb978765029fc4713f3fb31b9 Mon Sep 17 00:00:00 2001 From: Tang Haixiang Date: Thu, 22 Dec 2022 15:19:53 +0800 -Subject: [PATCH 53/55] Client: Manage QMimeData lifecycle +Subject: [PATCH 49/51] Client: Manage QMimeData lifecycle QMimeData is created by user, it is not taken care of in qtwayland, which will cause memory leak. @@ -134,5 +134,5 @@ index 96f07bc3..14d1542d 100644 void cancelled(); void finished(); -- -2.40.0 +2.40.1 diff --git a/0054-client-Do-not-cast-placeholder-screens-to-QWaylandSc.patch b/0050-client-Do-not-cast-placeholder-screens-to-QWaylandSc.patch similarity index 89% rename from 0054-client-Do-not-cast-placeholder-screens-to-QWaylandSc.patch rename to 0050-client-Do-not-cast-placeholder-screens-to-QWaylandSc.patch index 2d7ba8a..8e77c1e 100644 --- a/0054-client-Do-not-cast-placeholder-screens-to-QWaylandSc.patch +++ b/0050-client-Do-not-cast-placeholder-screens-to-QWaylandSc.patch @@ -1,7 +1,7 @@ -From 18c2bcec31f68aafd66d7ec503ec6511ca804d07 Mon Sep 17 00:00:00 2001 +From 346cebf39b90f7fe012f57e66d493634aba20f89 Mon Sep 17 00:00:00 2001 From: Aleix Pol Date: Mon, 6 Mar 2023 01:11:45 +0100 -Subject: [PATCH 54/55] client: Do not cast placeholder screens to +Subject: [PATCH 50/51] client: Do not cast placeholder screens to QWaylandScreen It's wrong to C-cast an object to a class that isn't theirs. Check if it @@ -30,5 +30,5 @@ index bf54a1a0..9763c312 100644 return nullptr; -- -2.40.0 +2.40.1 diff --git a/0055-Client-Remove-flip-popup-constraints.patch b/0051-Client-Remove-flip-popup-constraints.patch similarity index 93% rename from 0055-Client-Remove-flip-popup-constraints.patch rename to 0051-Client-Remove-flip-popup-constraints.patch index a51fad7..7a7f46b 100644 --- a/0055-Client-Remove-flip-popup-constraints.patch +++ b/0051-Client-Remove-flip-popup-constraints.patch @@ -1,7 +1,7 @@ -From c4c3fc69250c01cb35aaae5ea1ea2bcc8236dff0 Mon Sep 17 00:00:00 2001 +From aabaa4efd1d284f07c3cb5b8a7d62a9143701bc4 Mon Sep 17 00:00:00 2001 From: Vlad Zahorodnii Date: Thu, 12 Jan 2023 14:49:25 +0200 -Subject: [PATCH 55/55] Client: Remove flip popup constraints +Subject: [PATCH 51/51] Client: Remove flip popup constraints xdg_positioner doesn't have good anchor rect and other needed information so the compositor can properly flip popups. In some windows @@ -37,5 +37,5 @@ index ad666129..822b385c 100644 positioner->destroy(); -- -2.40.0 +2.40.1 diff --git a/qt5-qtwayland.spec b/qt5-qtwayland.spec index f464895..aace3cb 100644 --- a/qt5-qtwayland.spec +++ b/qt5-qtwayland.spec @@ -2,7 +2,7 @@ Summary: Qt5 - Wayland platform support and QtCompositor module Name: qt5-%{qt_module} -Version: 5.15.9 +Version: 5.15.10 Release: 1%{?dist} License: LGPL-3.0-only OR GPL-3.0-only WITH Qt-GPL-exception-1.0 @@ -43,33 +43,28 @@ Patch26: 0026-use-poll-2-when-reading-from-clipboard.patch Patch27: 0027-Reduce-memory-leakage.patch Patch28: 0028-Fix-build-with-libcxx-missing-array-include.patch Patch29: 0029-Only-close-popup-in-the-the-hierchary.patch -Patch30: 0030-Build-fixes-for-GCC-11.patch -Patch31: 0031-Check-pointer-for-null-before-use-in-ASSERT.patch -Patch32: 0032-Use-wl_surface.damage_buffer-on-the-client-side.patch -Patch33: 0033-Client-clear-focus-on-touch-cancel.patch -Patch34: 0034-Guard-mResizeDirty-by-the-correctMutex.patch -Patch35: 0035-client-Synthesize-enter-leave-event-for-popup-in-xdg.patch -Patch36: 0036-Fix-compile-tests.patch -Patch37: 0037-Use-CRLF-line-delimiter-for-text-uri-list-data.patch -Patch38: 0038-Avoid-calling-requestUpdate-from-wrong-thread.patch -Patch39: 0039-Call-finishDrag-in-QWaylandDataDevice-dragSourceCanc.patch -Patch40: 0040-Hold-surface-read-lock-throughout-QWaylandEglWindow-.patch -Patch41: 0041-Client-Ensure-that-wl_surface-lives-as-long-as-qtqui.patch -Patch42: 0042-Keep-toplevel-windows-in-the-top-left-corner-of-the-.patch -Patch43: 0043-Revert-Client-Ensure-that-wl_surface-lives-as-long-a.patch -Patch44: 0044-Client-Add-F_SEAL_SHRINK-seal-to-shm-backing-file.patch -Patch45: 0045-Client-Call-wl_output_release-upon-QWaylandScreen-de.patch -Patch46: 0046-Client-Bump-wl_output-version.patch -Patch47: 0047-Fix-frame-sync-related-to-unprotected-multithread-ac.patch -Patch48: 0048-Client-Handle-zwp_primary_selection_device_manager_v.patch -Patch49: 0049-Fixes-the-build-on-CentOS.patch -Patch50: 0050-client-Avoid-protocol-error-with-invalid-min-max-siz.patch -Patch51: 0051-Client-Fix-handling-of-Qt-BlankCursor.patch -Patch52: 0052-client-Force-a-roundtrip-when-an-XdgOutput-is-not-re.patch -Patch53: 0053-Client-Manage-QMimeData-lifecycle.patch -Patch54: 0054-client-Do-not-cast-placeholder-screens-to-QWaylandSc.patch -Patch55: 0055-Client-Remove-flip-popup-constraints.patch - +Patch30: 0030-Check-pointer-for-null-before-use-in-ASSERT.patch +Patch31: 0031-Use-wl_surface.damage_buffer-on-the-client-side.patch +Patch32: 0032-Client-clear-focus-on-touch-cancel.patch +Patch33: 0033-Guard-mResizeDirty-by-the-correctMutex.patch +Patch34: 0034-Fix-compile-tests.patch +Patch35: 0035-Use-CRLF-line-delimiter-for-text-uri-list-data.patch +Patch36: 0036-Avoid-calling-requestUpdate-from-wrong-thread.patch +Patch37: 0037-Call-finishDrag-in-QWaylandDataDevice-dragSourceCanc.patch +Patch38: 0038-Hold-surface-read-lock-throughout-QWaylandEglWindow-.patch +Patch39: 0039-Keep-toplevel-windows-in-the-top-left-corner-of-the-.patch +Patch40: 0040-Client-Add-F_SEAL_SHRINK-seal-to-shm-backing-file.patch +Patch41: 0041-Client-Call-wl_output_release-upon-QWaylandScreen-de.patch +Patch42: 0042-Client-Bump-wl_output-version.patch +Patch43: 0043-Fix-frame-sync-related-to-unprotected-multithread-ac.patch +Patch44: 0044-Client-Handle-zwp_primary_selection_device_manager_v.patch +Patch45: 0045-Fixes-the-build-on-CentOS.patch +Patch46: 0046-client-Avoid-protocol-error-with-invalid-min-max-siz.patch +Patch47: 0047-Client-Fix-handling-of-Qt-BlankCursor.patch +Patch48: 0048-client-Force-a-roundtrip-when-an-XdgOutput-is-not-re.patch +Patch49: 0049-Client-Manage-QMimeData-lifecycle.patch +Patch50: 0050-client-Do-not-cast-placeholder-screens-to-QWaylandSc.patch +Patch51: 0051-Client-Remove-flip-popup-constraints.patch Patch102: qtwayland-decoration-support-backports-from-qt6.patch @@ -180,6 +175,9 @@ popd %changelog +* Mon Jun 12 2023 Jan Grulich - 5.15.10-1 +- 5.15.10 + * Tue Apr 11 2023 Jan Grulich - 5.15.9 diff --git a/sources b/sources index f07dee3..4493233 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (qtwayland-everywhere-opensource-src-5.15.9.tar.xz) = d108d63ceeb3b1a8905ad7f53a7271fca6a3506679d352b7290cdf8c00e1c180b6c561ee013a674002b89e23f58cfb7b909dfc5a8fdec6cece7e0a782be77978 +SHA512 (qtwayland-everywhere-opensource-src-5.15.10.tar.xz) = 214b1fec7dfd815d148a7485f7811e623b06d172e58e4ee3167264a4e4b8f4aeec11474e574f91652a0bd3a48476a6747cad468f1e5035c49a55a96fc1400899