- Pull in latest kde/5.15 branch fixes
This commit is contained in:
parent
c0d2e05300
commit
f5e11f7f70
@ -1,7 +1,7 @@
|
||||
From 610af8f0ba9de42cb22228e4e4b3fd77275e3e17 Mon Sep 17 00:00:00 2001
|
||||
From: Weng Xuetian <wengxt@gmail.com>
|
||||
Date: Tue, 9 Mar 2021 10:43:59 -0800
|
||||
Subject: [PATCH 01/40] Use qWarning and _exit() instead of qFatal for wayland
|
||||
Subject: [PATCH 01/44] Use qWarning and _exit() instead of qFatal for wayland
|
||||
error
|
||||
|
||||
This type of error is likely to happen upon system logout. qFatal would
|
||||
|
@ -1,7 +1,7 @@
|
||||
From d353938c1a07a803656489cada8683e31f8f1c62 Mon Sep 17 00:00:00 2001
|
||||
From: Jan Grulich <jgrulich@redhat.com>
|
||||
Date: Wed, 10 Feb 2021 17:11:27 +0100
|
||||
Subject: [PATCH 02/40] Translate opaque area with frame margins
|
||||
Subject: [PATCH 02/44] Translate opaque area with frame margins
|
||||
|
||||
The opaque area doesn't take window decorations into account, which may
|
||||
result into possible graphical artefacts.
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 11e9bd41951ec9f229e20566f821aa39ca011352 Mon Sep 17 00:00:00 2001
|
||||
From: David Edmundson <davidedmundson@kde.org>
|
||||
Date: Mon, 14 Sep 2020 17:08:39 +0100
|
||||
Subject: [PATCH 03/40] Client: Send exposeEvent to parent on subsurface
|
||||
Subject: [PATCH 03/44] Client: Send exposeEvent to parent on subsurface
|
||||
position changes
|
||||
|
||||
When a subsurface is moved, we need the parent window to commit to apply
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 50a9256db8cd43665cf74cf94a293d1c05375d33 Mon Sep 17 00:00:00 2001
|
||||
From: Jan Grulich <jgrulich@redhat.com>
|
||||
Date: Thu, 11 Feb 2021 15:12:32 +0100
|
||||
Subject: [PATCH 04/40] Get correct decoration margins region
|
||||
Subject: [PATCH 04/44] Get correct decoration margins region
|
||||
|
||||
Size we use to calculate margins region already contains size including
|
||||
margins. This resulted into bigger region and not properly damaging
|
||||
|
@ -1,7 +1,7 @@
|
||||
From f408482e4364293e5ab9889854a759796436971d Mon Sep 17 00:00:00 2001
|
||||
From: Aleix Pol <aleixpol@kde.org>
|
||||
Date: Mon, 23 Nov 2020 20:07:02 +0100
|
||||
Subject: [PATCH 05/40] xdgshell: Tell the compositor the screen we're
|
||||
Subject: [PATCH 05/44] xdgshell: Tell the compositor the screen we're
|
||||
expecting to fill
|
||||
|
||||
The xdgshell protocol allows us to tell the output to fill. This makes
|
||||
|
@ -1,7 +1,7 @@
|
||||
From d6dd815014564f235fb972eb72d28ccca6cf3549 Mon Sep 17 00:00:00 2001
|
||||
From: Aleix Pol <aleixpol@kde.org>
|
||||
Date: Wed, 10 Mar 2021 01:09:13 +0100
|
||||
Subject: [PATCH 06/40] client: Allow QWaylandInputContext to accept composed
|
||||
Subject: [PATCH 06/44] client: Allow QWaylandInputContext to accept composed
|
||||
key combinations
|
||||
|
||||
At the moment, we are forcing user to choose to either compose or use
|
||||
|
@ -1,7 +1,7 @@
|
||||
From a6fb2a976ecd778e450afe89c180c8c748beb568 Mon Sep 17 00:00:00 2001
|
||||
From: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
|
||||
Date: Wed, 5 May 2021 20:49:26 +0300
|
||||
Subject: [PATCH 07/40] Client: Announce an output after receiving more
|
||||
Subject: [PATCH 07/44] Client: Announce an output after receiving more
|
||||
complete state
|
||||
|
||||
Output initialization is not atomic, meaning that the compositor may
|
||||
|
@ -1,7 +1,7 @@
|
||||
From bb9288c913dc49aefc3fad03ec243809b6b21a88 Mon Sep 17 00:00:00 2001
|
||||
From: Jaeyoon Jung <jaeyoon.jung@lge.com>
|
||||
Date: Mon, 15 Feb 2021 08:31:06 +0900
|
||||
Subject: [PATCH 08/40] Fix issue with repeated window size changes
|
||||
Subject: [PATCH 08/44] 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
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 82720c9d7e0a706793f9716144347171820ddf4d Mon Sep 17 00:00:00 2001
|
||||
From: Albert Astals Cid <albert.astals.cid@kdab.com>
|
||||
Date: Mon, 10 May 2021 14:38:49 +0200
|
||||
Subject: [PATCH 09/40] Include locale.h for setlocale/LC_CTYPE
|
||||
Subject: [PATCH 09/44] Include locale.h for setlocale/LC_CTYPE
|
||||
|
||||
Pick-to: 5.15
|
||||
Change-Id: Iced32a31a63cec71008549c1e0961d59ffc45a37
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 6b2084a4c9f87d3575fc6aec3f7454304bcc6188 Mon Sep 17 00:00:00 2001
|
||||
From: David Edmundson <davidedmundson@kde.org>
|
||||
Date: Tue, 9 Feb 2021 16:09:21 +0000
|
||||
Subject: [PATCH 10/40] Client: Connect drags being accepted to updating the
|
||||
Subject: [PATCH 10/44] Client: Connect drags being accepted to updating the
|
||||
source drag icon
|
||||
|
||||
Currently in a multi-process drag and drop when the other client accepts
|
||||
|
@ -1,7 +1,7 @@
|
||||
From a1d6aa2078b8a840469f13ae720669cb4f99291d Mon Sep 17 00:00:00 2001
|
||||
From: David Edmundson <davidedmundson@kde.org>
|
||||
Date: Fri, 14 May 2021 13:23:24 +0100
|
||||
Subject: [PATCH 11/40] Client: Disconnect registry listener on destruction
|
||||
Subject: [PATCH 11/44] 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
|
||||
|
@ -1,7 +1,7 @@
|
||||
From d9d7c73f908db351921cf016c5e079f3d13e84aa Mon Sep 17 00:00:00 2001
|
||||
From: David Edmundson <davidedmundson@kde.org>
|
||||
Date: Mon, 3 May 2021 23:01:53 +0100
|
||||
Subject: [PATCH 12/40] Client: Set XdgShell size hints before the first commit
|
||||
Subject: [PATCH 12/44] 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
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 2e8e8b87d800f1ef2e0fb0a6f0818de0a8fa0951 Mon Sep 17 00:00:00 2001
|
||||
From: David Edmundson <davidedmundson@kde.org>
|
||||
Date: Mon, 14 Jun 2021 12:45:37 +0100
|
||||
Subject: [PATCH 13/40] Fix build
|
||||
Subject: [PATCH 13/44] Fix build
|
||||
|
||||
1b5e43a593e917610e6245f7a272ac081c508ba4 relied on a patch that we can't
|
||||
backport.
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 88b2e6c9728d01a9aa334026629fbb1ce85fe197 Mon Sep 17 00:00:00 2001
|
||||
From: Zhang Liang <zhanglianga@uniontech.com>
|
||||
Date: Mon, 1 Feb 2021 19:29:43 +0800
|
||||
Subject: [PATCH 14/40] Fix: remove listener
|
||||
Subject: [PATCH 14/44] Fix: remove listener
|
||||
|
||||
Add the operation for removing the listener form listener list
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 75693b47dcac101f74f98e5902c4c6b39d407e4f Mon Sep 17 00:00:00 2001
|
||||
From: David Redondo <qt@david-redondo.de>
|
||||
Date: Wed, 26 May 2021 14:49:40 +0200
|
||||
Subject: [PATCH 15/40] Hook up queryKeyboardModifers
|
||||
Subject: [PATCH 15/44] Hook up queryKeyboardModifers
|
||||
|
||||
Can be useful when upon enter a modifiers event is received but no key
|
||||
event so no QKeyEvent is generated.
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 537c5d43941d26d89ebf00f6abf7f12f9bac1caf Mon Sep 17 00:00:00 2001
|
||||
From: Aleix Pol <aleixpol@kde.org>
|
||||
Date: Tue, 13 Jul 2021 13:32:15 +0200
|
||||
Subject: [PATCH 16/40] Do not update the mask if we do not have a surface
|
||||
Subject: [PATCH 16/44] Do not update the mask if we do not have a surface
|
||||
|
||||
mMask serves as a cache to remember what we've sent, the source of truth
|
||||
for the value is window()->mask().
|
||||
|
@ -1,7 +1,7 @@
|
||||
From ae3ea8875b9475532e5779154e3992affe2b9a32 Mon Sep 17 00:00:00 2001
|
||||
From: Jan Blackquill <uhhadd@gmail.com>
|
||||
Date: Tue, 24 Aug 2021 14:36:34 -0400
|
||||
Subject: [PATCH 17/40] Correctly detect if image format is supported by
|
||||
Subject: [PATCH 17/44] Correctly detect if image format is supported by
|
||||
QImageWriter
|
||||
|
||||
The code queries potential image formats by stripping a mimetype of its
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 8d673fe2edebe2c5bf338a779ef22ae212dc244a Mon Sep 17 00:00:00 2001
|
||||
From: Paul Olav Tvete <paul.tvete@qt.io>
|
||||
Date: Tue, 14 Sep 2021 11:56:23 +0200
|
||||
Subject: [PATCH 18/40] Wayland client: Fix crash when windows are shown/hidden
|
||||
Subject: [PATCH 18/44] Wayland client: Fix crash when windows are shown/hidden
|
||||
during drag
|
||||
|
||||
Fixes: QTBUG-87624
|
||||
|
@ -1,7 +1,7 @@
|
||||
From bdd2dacf2d8668b3a1f59db3c6cc859f95868eb2 Mon Sep 17 00:00:00 2001
|
||||
From: Georges Basile Stavracas Neto <gbsneto@gnome.org>
|
||||
Date: Thu, 27 May 2021 19:55:04 -0300
|
||||
Subject: [PATCH 19/40] Client: Don't always recreate frame callbacks
|
||||
Subject: [PATCH 19/44] 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
|
||||
|
@ -1,7 +1,7 @@
|
||||
From fb0a5265ec9d83b56563769cc1b756aeca42ce65 Mon Sep 17 00:00:00 2001
|
||||
From: Georges Basile Stavracas Neto <gbsneto@gnome.org>
|
||||
Date: Thu, 27 May 2021 20:02:53 -0300
|
||||
Subject: [PATCH 20/40] Client: Always destroy frame callback in the actual
|
||||
Subject: [PATCH 20/44] Client: Always destroy frame callback in the actual
|
||||
callback
|
||||
|
||||
It's good hygiene to destroy all frame callbacks. Destroy the
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 1e0519c6465335dd380ad8d8209969c71eb78d48 Mon Sep 17 00:00:00 2001
|
||||
From: Rodney Dawes <dobey.pwns@gmail.com>
|
||||
Date: Fri, 15 Oct 2021 12:55:33 -0400
|
||||
Subject: [PATCH 21/40] Fix the logic for decoding modifiers map in Wayland
|
||||
Subject: [PATCH 21/44] Fix the logic for decoding modifiers map in Wayland
|
||||
text input protocol
|
||||
|
||||
Correctly check for the flags in the modifiers map when we get it from
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 64e133f830ce48b6732397325b768ed9193c2cb4 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?M=C3=A9ven=20Car?= <meven.car@enioka.com>
|
||||
Date: Wed, 18 Aug 2021 18:28:20 +0200
|
||||
Subject: [PATCH 22/40] Wayland client: use wl_keyboard to determine active
|
||||
Subject: [PATCH 22/44] Wayland client: use wl_keyboard to determine active
|
||||
state
|
||||
|
||||
Commit f497a5bb87270174b8e0106b7eca1992d44ff15d made QWaylandDisplay
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 167a89d23d4db6f62ef8336002fe306829604a77 Mon Sep 17 00:00:00 2001
|
||||
From: Jan Grulich <jgrulich@redhat.com>
|
||||
Date: Fri, 16 Jul 2021 13:00:03 +0200
|
||||
Subject: [PATCH 23/40] Client: do not empty clipboard when a new popup/window
|
||||
Subject: [PATCH 23/44] 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
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 5ea11ccde21448f5c61978bf52e2f3db79a7143c Mon Sep 17 00:00:00 2001
|
||||
From: Weng Xuetian <wengxt@gmail.com>
|
||||
Date: Sat, 18 Dec 2021 23:42:49 -0800
|
||||
Subject: [PATCH 24/40] Set preedit cursor when cursor equals to 0
|
||||
Subject: [PATCH 24/44] Set preedit cursor when cursor equals to 0
|
||||
|
||||
Pick-to: 6.3 6.2 5.15
|
||||
Change-Id: I832fbb22d973b36ac4ab51570fc53bc2e4c3ed58
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 95783492ae8df7f84c3c13351df5dc114288e96e Mon Sep 17 00:00:00 2001
|
||||
From: David Edmundson <davidedmundson@kde.org>
|
||||
Date: Tue, 16 Feb 2021 09:51:47 +0000
|
||||
Subject: [PATCH 25/40] Client: Implement DataDeviceV3
|
||||
Subject: [PATCH 25/44] Client: Implement DataDeviceV3
|
||||
|
||||
DataDeviceV2 fixes a leak of DataDevice resources.
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 8c9e148bb0aa25cbc831e2bd931d3bd54bc0fb46 Mon Sep 17 00:00:00 2001
|
||||
From: Arjen Hiemstra <ahiemstra@heimr.nl>
|
||||
Date: Thu, 18 Nov 2021 13:05:30 +0100
|
||||
Subject: [PATCH 26/40] Client: Delay deletion of QDrag object until after
|
||||
Subject: [PATCH 26/44] Client: Delay deletion of QDrag object until after
|
||||
we're done with it
|
||||
|
||||
In certain cases, most notably when performing drag and drop operations
|
||||
|
@ -1,7 +1,7 @@
|
||||
From b736b4488dcaa1a3c6b0c6059e5b85881f74c52b Mon Sep 17 00:00:00 2001
|
||||
From: David Edmundson <davidedmundson@kde.org>
|
||||
Date: Sun, 14 Nov 2021 13:54:19 +0000
|
||||
Subject: [PATCH 27/40] Client: Avoid processing of events when showing windows
|
||||
Subject: [PATCH 27/44] 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
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 771705eee02b4d752beee22ef5408ccbd72078cc Mon Sep 17 00:00:00 2001
|
||||
From: Elvis Lee <kwangwoong.lee@lge.com>
|
||||
Date: Thu, 18 Feb 2021 15:45:49 +0900
|
||||
Subject: [PATCH 28/40] Handle registry_global out of constructor
|
||||
Subject: [PATCH 28/44] 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
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 725c5de6bdd528d1fa03f1de5ec91585eb110d83 Mon Sep 17 00:00:00 2001
|
||||
From: Elvis Lee <kwangwoong.lee@lge.com>
|
||||
Date: Wed, 17 Mar 2021 16:31:10 +0900
|
||||
Subject: [PATCH 29/40] Connect flushRequest after forceRoundTrip
|
||||
Subject: [PATCH 29/44] Connect flushRequest after forceRoundTrip
|
||||
|
||||
If flushRequest is connected with aboutToBlock, the flushRequest
|
||||
may consumes all events so that processEvents might be blocked in forceRoundTrip.
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 91d36a2497f3289996d788c8974583bccac3c842 Mon Sep 17 00:00:00 2001
|
||||
From: Adrien Faveraux <af@brain-networks.fr>
|
||||
Date: Fri, 26 Nov 2021 09:18:58 +0100
|
||||
Subject: [PATCH 30/40] Move the wayland socket polling to a separate event
|
||||
Subject: [PATCH 30/44] Move the wayland socket polling to a separate event
|
||||
thread
|
||||
|
||||
New event threads is introduced which calls poll() on the wayland fd,
|
||||
|
@ -1,7 +1,7 @@
|
||||
From ca1d9023b6d40a128faad652f02881b5805e36ba Mon Sep 17 00:00:00 2001
|
||||
From: Roman Genkhel <roman.genhel@lge.com>
|
||||
Date: Thu, 12 Nov 2020 12:21:51 +0300
|
||||
Subject: [PATCH 31/40] Check pointer for null before use in ASSERT
|
||||
Subject: [PATCH 31/44] Check pointer for null before use in ASSERT
|
||||
|
||||
Task-number: QTBUG-85195
|
||||
Change-Id: I331e54f6e58aa9d536351a55223610c60b3cb414
|
||||
|
@ -1,7 +1,7 @@
|
||||
From e6b30f42f8eec2ecc10395593dbfff354acd5425 Mon Sep 17 00:00:00 2001
|
||||
From: Inho Lee <inho.lee@qt.io>
|
||||
Date: Mon, 1 Nov 2021 14:23:58 +0100
|
||||
Subject: [PATCH 32/40] Do not create decorations when the shellSurface is not
|
||||
Subject: [PATCH 32/44] Do not create decorations when the shellSurface is not
|
||||
ready
|
||||
|
||||
A cases reported that client windows try to make decorations
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 3027c9659866101c06252829d99e7597cef19a40 Mon Sep 17 00:00:00 2001
|
||||
From: Paul Olav Tvete <paul.tvete@qt.io>
|
||||
Date: Mon, 6 Jul 2020 14:37:35 +0200
|
||||
Subject: [PATCH 33/40] Use wl_surface.damage_buffer on the client side
|
||||
Subject: [PATCH 33/44] Use wl_surface.damage_buffer on the client side
|
||||
|
||||
Prefer the newer, recommended damage_buffer when the compositor
|
||||
supports it.
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 297c4e075068bffe4a396b2553afc4798c97fb4c Mon Sep 17 00:00:00 2001
|
||||
From: Joni Poikelin <joni.poikelin@qt.io>
|
||||
Date: Thu, 3 Feb 2022 14:01:50 +0200
|
||||
Subject: [PATCH 34/40] Fix crash if no input method module could be loaded
|
||||
Subject: [PATCH 34/44] Fix crash if no input method module could be loaded
|
||||
|
||||
Pick-to: 6.2 6.3 5.15
|
||||
Change-Id: I8f346def616606a6c5540856bd08a84ee7ed5ca2
|
||||
|
@ -1,7 +1,7 @@
|
||||
From a97759d032a40045551546ca17300891d4067ee4 Mon Sep 17 00:00:00 2001
|
||||
From: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
|
||||
Date: Tue, 1 Feb 2022 13:05:36 +0200
|
||||
Subject: [PATCH 35/40] Client: Remove mWaitingForUpdateDelivery
|
||||
Subject: [PATCH 35/44] Client: Remove mWaitingForUpdateDelivery
|
||||
|
||||
Currently, mWaitingForUpdateDelivery is shared between the main thread
|
||||
(doHandleFrameCallback()) and the frame callback event thread
|
||||
|
@ -1,7 +1,7 @@
|
||||
From d3b794920d643fc5d722f63ad52b91e8143c0de0 Mon Sep 17 00:00:00 2001
|
||||
From: Weng Xuetian <wengxt@gmail.com>
|
||||
Date: Tue, 8 Feb 2022 07:11:25 -0800
|
||||
Subject: [PATCH 36/40] Cursor position == 0 should still show the cursor
|
||||
Subject: [PATCH 36/44] Cursor position == 0 should still show the cursor
|
||||
|
||||
Otherwise the cursor would be hidden even if preedit is empty.
|
||||
Amends 719a55be13bdadfa659a732755f280e276a894bd
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 3ddd4dcb1790920ce2598ebdbe14c95bdba55005 Mon Sep 17 00:00:00 2001
|
||||
From: Weng Xuetian <wengxt@gmail.com>
|
||||
Date: Wed, 22 Dec 2021 10:42:38 -0800
|
||||
Subject: [PATCH 37/40] Update the preedit styling mapping
|
||||
Subject: [PATCH 37/44] Update the preedit styling mapping
|
||||
|
||||
- None mapping to no style.
|
||||
- Default/Underline mapping to underline.
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 971dbf2d5be743ddeb998f7461ff3e06ccb892c4 Mon Sep 17 00:00:00 2001
|
||||
From: David Edmundson <davidedmundson@kde.org>
|
||||
Date: Wed, 9 Feb 2022 17:20:48 +0000
|
||||
Subject: [PATCH 38/40] client: Simplify round trip behavior
|
||||
Subject: [PATCH 38/44] client: Simplify round trip behavior
|
||||
|
||||
The custom event queue was removed in
|
||||
302d4ffb8549214eb4028dc3e47ec4ee4e12ffbd (2015) so the comment about not
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 9930ed9942d2d26211195571673bea35261ad26b Mon Sep 17 00:00:00 2001
|
||||
From: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
|
||||
Date: Sat, 19 Feb 2022 17:01:04 +0200
|
||||
Subject: [PATCH 39/40] Client: Fix opaque region setter
|
||||
Subject: [PATCH 39/44] 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.
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 118674630cdb5933e66a8b4415afe7c716ad4662 Mon Sep 17 00:00:00 2001
|
||||
From: Fabian Vogt <fabian@ritter-vogt.de>
|
||||
Date: Fri, 4 Feb 2022 11:07:36 +0100
|
||||
Subject: [PATCH 40/40] Use proper dependencies in compile tests
|
||||
Subject: [PATCH 40/44] 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").
|
||||
|
@ -0,0 +1,50 @@
|
||||
From a06fde8dae162166435833fca7844e2695e8480b Mon Sep 17 00:00:00 2001
|
||||
From: Liang Qi <liang.qi@qt.io>
|
||||
Date: Wed, 9 Mar 2022 10:47:42 +0100
|
||||
Subject: [PATCH 41/44] client: update button state and etc in pointer_leave()
|
||||
|
||||
The cleanup work needs to be done even the surface is null, for
|
||||
example, a window was closed in mouse press handler, then will not
|
||||
get a mouse release.
|
||||
|
||||
Fixes: QTBUG-100942
|
||||
Pick-to: 5.15 6.2 6.3
|
||||
Change-Id: I637a6744909ddbe62bdeba6b21494e5a6ae7fa9f
|
||||
Reviewed-by: Tang Haixiang <tanghaixiang@uniontech.com>
|
||||
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
||||
(cherry picked from commit 409d1080f25b653b3ff3f57c9776c5c390912206)
|
||||
---
|
||||
src/client/qwaylandinputdevice.cpp | 10 +++++-----
|
||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/src/client/qwaylandinputdevice.cpp b/src/client/qwaylandinputdevice.cpp
|
||||
index 514457e9..aca42cdc 100644
|
||||
--- a/src/client/qwaylandinputdevice.cpp
|
||||
+++ b/src/client/qwaylandinputdevice.cpp
|
||||
@@ -685,6 +685,11 @@ public:
|
||||
|
||||
void QWaylandInputDevice::Pointer::pointer_leave(uint32_t time, struct wl_surface *surface)
|
||||
{
|
||||
+ invalidateFocus();
|
||||
+ mButtons = Qt::NoButton;
|
||||
+
|
||||
+ mParent->mTime = time;
|
||||
+
|
||||
// The event may arrive after destroying the window, indicated by
|
||||
// a null surface.
|
||||
if (!surface)
|
||||
@@ -696,11 +701,6 @@ void QWaylandInputDevice::Pointer::pointer_leave(uint32_t time, struct wl_surfac
|
||||
|
||||
if (!QWaylandWindow::mouseGrab())
|
||||
setFrameEvent(new LeaveEvent(window, mSurfacePos, mGlobalPos));
|
||||
-
|
||||
- invalidateFocus();
|
||||
- mButtons = Qt::NoButton;
|
||||
-
|
||||
- mParent->mTime = time;
|
||||
}
|
||||
|
||||
class MotionEvent : public QWaylandPointerEvent
|
||||
--
|
||||
2.35.1
|
||||
|
59
0042-Revert-Client-Remove-mWaitingForUpdateDelivery.patch
Normal file
59
0042-Revert-Client-Remove-mWaitingForUpdateDelivery.patch
Normal file
@ -0,0 +1,59 @@
|
||||
From 1acd85e8b71610141bbe5bfc804e92ddafb56505 Mon Sep 17 00:00:00 2001
|
||||
From: Paul Olav Tvete <paul.tvete@qt.io>
|
||||
Date: Tue, 15 Mar 2022 15:59:15 +0100
|
||||
Subject: [PATCH 42/44] Revert "Client: Remove mWaitingForUpdateDelivery"
|
||||
|
||||
The reverted commit introduces a severe performance regression
|
||||
when a client window is resized while a QtQuick renderthread
|
||||
animation is running.
|
||||
|
||||
This reverts commit feb1a5c207c13d0bf87c0d8ad039279dbf8cee9e.
|
||||
|
||||
Fixes: QTBUG-101726
|
||||
Change-Id: Ib5b52ce06efec8c86fada1623c2af82099e57fc6
|
||||
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
||||
---
|
||||
src/client/qwaylandwindow.cpp | 12 +++++++++---
|
||||
src/client/qwaylandwindow_p.h | 1 +
|
||||
2 files changed, 10 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
|
||||
index fee2ecdd..bf41cc5b 100644
|
||||
--- a/src/client/qwaylandwindow.cpp
|
||||
+++ b/src/client/qwaylandwindow.cpp
|
||||
@@ -655,11 +655,17 @@ void QWaylandWindow::handleFrameCallback()
|
||||
sendExposeEvent(QRect(QPoint(), geometry().size()));
|
||||
if (wasExposed && hasPendingUpdateRequest())
|
||||
deliverUpdateRequest();
|
||||
+
|
||||
+ mWaitingForUpdateDelivery = false;
|
||||
};
|
||||
|
||||
- // Queued connection, to make sure we don't call handleUpdate() from inside waitForFrameSync()
|
||||
- // in the single-threaded case.
|
||||
- QMetaObject::invokeMethod(this, doHandleExpose, Qt::QueuedConnection);
|
||||
+ if (!mWaitingForUpdateDelivery) {
|
||||
+ // Queued connection, to make sure we don't call handleUpdate() from inside waitForFrameSync()
|
||||
+ // in the single-threaded case.
|
||||
+ mWaitingForUpdateDelivery = true;
|
||||
+ QMetaObject::invokeMethod(this, doHandleExpose, Qt::QueuedConnection);
|
||||
+ }
|
||||
+
|
||||
|
||||
mFrameSyncWait.notify_all();
|
||||
}
|
||||
diff --git a/src/client/qwaylandwindow_p.h b/src/client/qwaylandwindow_p.h
|
||||
index 3ff68ccb..d45980a8 100644
|
||||
--- a/src/client/qwaylandwindow_p.h
|
||||
+++ b/src/client/qwaylandwindow_p.h
|
||||
@@ -228,6 +228,7 @@ protected:
|
||||
WId mWindowId;
|
||||
bool mWaitingForFrameCallback = false;
|
||||
bool mFrameCallbackTimedOut = false; // Whether the frame callback has timed out
|
||||
+ bool mWaitingForUpdateDelivery = false;
|
||||
int mFrameCallbackCheckIntervalTimerId = -1;
|
||||
QElapsedTimer mFrameCallbackElapsedTimer;
|
||||
struct ::wl_callback *mFrameCallback = nullptr;
|
||||
--
|
||||
2.35.1
|
||||
|
59
0043-Fix-race-condition-on-mWaitingForUpdateDelivery.patch
Normal file
59
0043-Fix-race-condition-on-mWaitingForUpdateDelivery.patch
Normal file
@ -0,0 +1,59 @@
|
||||
From 3c9619bded58f09a85df01a4ef46474bf147b2a0 Mon Sep 17 00:00:00 2001
|
||||
From: Paul Olav Tvete <paul.tvete@qt.io>
|
||||
Date: Tue, 15 Mar 2022 16:53:04 +0100
|
||||
Subject: [PATCH 43/44] Fix race condition on mWaitingForUpdateDelivery
|
||||
|
||||
Change-Id: I0e91bda73722468b9339fc434fe04420b5e7d3da
|
||||
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
||||
---
|
||||
src/client/qwaylandwindow.cpp | 7 ++-----
|
||||
src/client/qwaylandwindow_p.h | 2 +-
|
||||
2 files changed, 3 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
|
||||
index bf41cc5b..ceaa4c73 100644
|
||||
--- a/src/client/qwaylandwindow.cpp
|
||||
+++ b/src/client/qwaylandwindow.cpp
|
||||
@@ -649,24 +649,21 @@ void QWaylandWindow::handleFrameCallback()
|
||||
|
||||
// The rest can wait until we can run it on the correct thread
|
||||
auto doHandleExpose = [this]() {
|
||||
+ mWaitingForUpdateDelivery.storeRelease(false);
|
||||
bool wasExposed = isExposed();
|
||||
mFrameCallbackTimedOut = false;
|
||||
if (!wasExposed && isExposed()) // Did setting mFrameCallbackTimedOut make the window exposed?
|
||||
sendExposeEvent(QRect(QPoint(), geometry().size()));
|
||||
if (wasExposed && hasPendingUpdateRequest())
|
||||
deliverUpdateRequest();
|
||||
-
|
||||
- mWaitingForUpdateDelivery = false;
|
||||
};
|
||||
|
||||
- if (!mWaitingForUpdateDelivery) {
|
||||
+ if (mWaitingForUpdateDelivery.testAndSetAcquire(false, true)) {
|
||||
// Queued connection, to make sure we don't call handleUpdate() from inside waitForFrameSync()
|
||||
// in the single-threaded case.
|
||||
- mWaitingForUpdateDelivery = true;
|
||||
QMetaObject::invokeMethod(this, doHandleExpose, Qt::QueuedConnection);
|
||||
}
|
||||
|
||||
-
|
||||
mFrameSyncWait.notify_all();
|
||||
}
|
||||
|
||||
diff --git a/src/client/qwaylandwindow_p.h b/src/client/qwaylandwindow_p.h
|
||||
index d45980a8..cb9135f6 100644
|
||||
--- a/src/client/qwaylandwindow_p.h
|
||||
+++ b/src/client/qwaylandwindow_p.h
|
||||
@@ -228,7 +228,7 @@ protected:
|
||||
WId mWindowId;
|
||||
bool mWaitingForFrameCallback = false;
|
||||
bool mFrameCallbackTimedOut = false; // Whether the frame callback has timed out
|
||||
- bool mWaitingForUpdateDelivery = false;
|
||||
+ QAtomicInt mWaitingForUpdateDelivery = false;
|
||||
int mFrameCallbackCheckIntervalTimerId = -1;
|
||||
QElapsedTimer mFrameCallbackElapsedTimer;
|
||||
struct ::wl_callback *mFrameCallback = nullptr;
|
||||
--
|
||||
2.35.1
|
||||
|
48
0044-use-poll-2-when-reading-from-clipboard.patch
Normal file
48
0044-use-poll-2-when-reading-from-clipboard.patch
Normal file
@ -0,0 +1,48 @@
|
||||
From 398040301e439cc20bcd537bad7095d7eb6f285a Mon Sep 17 00:00:00 2001
|
||||
From: Kenneth Topp <ken@bllue.org>
|
||||
Date: Mon, 4 Apr 2022 09:36:21 -0400
|
||||
Subject: [PATCH 44/44] 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
|
||||
|
||||
Change-Id: I6d98c6bb11cdd5b6171b01cfeb0044dd41cf9fb5
|
||||
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
||||
(cherry picked from commit 829a9f62a96721c142f53e12a8812e8231b20317)
|
||||
---
|
||||
src/client/qwaylanddataoffer.cpp | 15 ++++++++-------
|
||||
1 file changed, 8 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/src/client/qwaylanddataoffer.cpp b/src/client/qwaylanddataoffer.cpp
|
||||
index c9e158cc..fe0ea8c9 100644
|
||||
--- a/src/client/qwaylanddataoffer.cpp
|
||||
+++ b/src/client/qwaylanddataoffer.cpp
|
||||
@@ -188,17 +188,18 @@ QVariant QWaylandMimeData::retrieveData_sys(const QString &mimeType, QVariant::T
|
||||
|
||||
int QWaylandMimeData::readData(int fd, QByteArray &data) const
|
||||
{
|
||||
- fd_set readset;
|
||||
- FD_ZERO(&readset);
|
||||
- FD_SET(fd, &readset);
|
||||
- struct timeval timeout;
|
||||
+ struct pollfd readset;
|
||||
+ readset.fd = fd;
|
||||
+ readset.events = POLLIN;
|
||||
+ struct timespec timeout;
|
||||
timeout.tv_sec = 1;
|
||||
- timeout.tv_usec = 0;
|
||||
+ timeout.tv_nsec = 0;
|
||||
+
|
||||
|
||||
Q_FOREVER {
|
||||
- int ready = select(FD_SETSIZE, &readset, nullptr, nullptr, &timeout);
|
||||
+ int ready = qt_safe_poll(&readset, 1, &timeout);
|
||||
if (ready < 0) {
|
||||
- qWarning() << "QWaylandDataOffer: select() failed";
|
||||
+ qWarning() << "QWaylandDataOffer: qt_safe_poll() failed";
|
||||
return -1;
|
||||
} else if (ready == 0) {
|
||||
qWarning("QWaylandDataOffer: timeout reading from pipe");
|
||||
--
|
||||
2.35.1
|
||||
|
@ -3,7 +3,7 @@
|
||||
Summary: Qt5 - Wayland platform support and QtCompositor module
|
||||
Name: qt5-%{qt_module}
|
||||
Version: 5.15.3
|
||||
Release: 1%{?dist}
|
||||
Release: 2%{?dist}
|
||||
|
||||
License: LGPLv3
|
||||
Url: http://www.qt.io
|
||||
@ -54,6 +54,10 @@ Patch37: 0037-Update-the-preedit-styling-mapping.patch
|
||||
Patch38: 0038-client-Simplify-round-trip-behavior.patch
|
||||
Patch39: 0039-Client-Fix-opaque-region-setter.patch
|
||||
Patch40: 0040-Use-proper-dependencies-in-compile-tests.patch
|
||||
Patch41: 0041-client-update-button-state-and-etc-in-pointer_leave.patch
|
||||
Patch42: 0042-Revert-Client-Remove-mWaitingForUpdateDelivery.patch
|
||||
Patch43: 0043-Fix-race-condition-on-mWaitingForUpdateDelivery.patch
|
||||
Patch44: 0044-use-poll-2-when-reading-from-clipboard.patch
|
||||
|
||||
# Disable for now, there is a Qt bug making this broken
|
||||
# Patch102: qtwayland-decoration-support-backports-from-qt6.patch
|
||||
@ -166,6 +170,9 @@ popd
|
||||
|
||||
|
||||
%changelog
|
||||
* Fri Apr 15 2022 Kenneth Topp <toppk@bllue.org> - 5.15.3-2
|
||||
- Pull in latest kde/5.15 branch fixes
|
||||
|
||||
* Fri Mar 04 2022 Jan Grulich <jgrulich@redhat.com> - 5.15.3-1
|
||||
- 5.15.3
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user