import qt5-qtwayland-5.15.3-1.el9
This commit is contained in:
parent
5d065615c2
commit
6fd77f28a4
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
|||||||
SOURCES/qtwayland-everywhere-src-5.15.2.tar.xz
|
SOURCES/qtwayland-everywhere-opensource-src-5.15.3.tar.xz
|
||||||
|
@ -1 +1 @@
|
|||||||
b547a38762ca6ef6d14545b4d51aabbcf06cc17e SOURCES/qtwayland-everywhere-src-5.15.2.tar.xz
|
021b5c6fa4f5dc4c3cc87da9a380da100a30ffdf SOURCES/qtwayland-everywhere-opensource-src-5.15.3.tar.xz
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
From 9ee2ea141adc7765f6c212e63839ef23a4494b30 Mon Sep 17 00:00:00 2001
|
From 610af8f0ba9de42cb22228e4e4b3fd77275e3e17 Mon Sep 17 00:00:00 2001
|
||||||
From: Weng Xuetian <wengxt@gmail.com>
|
From: Weng Xuetian <wengxt@gmail.com>
|
||||||
Date: Tue, 9 Mar 2021 10:43:59 -0800
|
Date: Tue, 9 Mar 2021 10:43:59 -0800
|
||||||
Subject: [PATCH 11/52] Use qWarning and _exit() instead of qFatal for wayland
|
Subject: [PATCH 01/40] Use qWarning and _exit() instead of qFatal for wayland
|
||||||
error
|
error
|
||||||
|
|
||||||
This type of error is likely to happen upon system logout. qFatal would
|
This type of error is likely to happen upon system logout. qFatal would
|
@ -1,7 +1,7 @@
|
|||||||
From a3e3ac1c86a956b25b1dc24f14518b6e6c96bcfc Mon Sep 17 00:00:00 2001
|
From d353938c1a07a803656489cada8683e31f8f1c62 Mon Sep 17 00:00:00 2001
|
||||||
From: Jan Grulich <jgrulich@redhat.com>
|
From: Jan Grulich <jgrulich@redhat.com>
|
||||||
Date: Wed, 10 Feb 2021 17:11:27 +0100
|
Date: Wed, 10 Feb 2021 17:11:27 +0100
|
||||||
Subject: [PATCH 14/52] Translate opaque area with frame margins
|
Subject: [PATCH 02/40] Translate opaque area with frame margins
|
||||||
|
|
||||||
The opaque area doesn't take window decorations into account, which may
|
The opaque area doesn't take window decorations into account, which may
|
||||||
result into possible graphical artefacts.
|
result into possible graphical artefacts.
|
@ -1,7 +1,7 @@
|
|||||||
From 2073ff99e62d4f99ed3f1f45559c5b68a61c5f66 Mon Sep 17 00:00:00 2001
|
From 11e9bd41951ec9f229e20566f821aa39ca011352 Mon Sep 17 00:00:00 2001
|
||||||
From: David Edmundson <davidedmundson@kde.org>
|
From: David Edmundson <davidedmundson@kde.org>
|
||||||
Date: Mon, 14 Sep 2020 17:08:39 +0100
|
Date: Mon, 14 Sep 2020 17:08:39 +0100
|
||||||
Subject: [PATCH 15/52] Client: Send exposeEvent to parent on subsurface
|
Subject: [PATCH 03/40] Client: Send exposeEvent to parent on subsurface
|
||||||
position changes
|
position changes
|
||||||
|
|
||||||
When a subsurface is moved, we need the parent window to commit to apply
|
When a subsurface is moved, we need the parent window to commit to apply
|
@ -1,7 +1,7 @@
|
|||||||
From 6810b0f66a34056bfe0da7299d7a768e700e58f5 Mon Sep 17 00:00:00 2001
|
From 50a9256db8cd43665cf74cf94a293d1c05375d33 Mon Sep 17 00:00:00 2001
|
||||||
From: Jan Grulich <jgrulich@redhat.com>
|
From: Jan Grulich <jgrulich@redhat.com>
|
||||||
Date: Thu, 11 Feb 2021 15:12:32 +0100
|
Date: Thu, 11 Feb 2021 15:12:32 +0100
|
||||||
Subject: [PATCH 16/52] Get correct decoration margins region
|
Subject: [PATCH 04/40] Get correct decoration margins region
|
||||||
|
|
||||||
Size we use to calculate margins region already contains size including
|
Size we use to calculate margins region already contains size including
|
||||||
margins. This resulted into bigger region and not properly damaging
|
margins. This resulted into bigger region and not properly damaging
|
@ -1,38 +0,0 @@
|
|||||||
From e5c272423d1bba2825086b82fd97499237a6fa4b Mon Sep 17 00:00:00 2001
|
|
||||||
From: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
|
|
||||||
Date: Fri, 30 Oct 2020 16:55:30 +0200
|
|
||||||
Subject: [PATCH 05/52] Scanner: Avoid accessing dangling pointers in
|
|
||||||
destroy_func()
|
|
||||||
|
|
||||||
Usually, the object associated with the resource gets destroyed in the
|
|
||||||
destroy_resource() function.
|
|
||||||
|
|
||||||
Therefore, we need to double-check that the object is still alive before
|
|
||||||
trying to reset its m_resource.
|
|
||||||
|
|
||||||
Change-Id: I26408228f58919db17eb29584a1cbd4a9427d25c
|
|
||||||
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
||||||
(cherry picked from commit 735164b5c2a2637a8d53a8803a2401e4ef477ff0)
|
|
||||||
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
||||||
---
|
|
||||||
src/qtwaylandscanner/qtwaylandscanner.cpp | 4 +++-
|
|
||||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/qtwaylandscanner/qtwaylandscanner.cpp b/src/qtwaylandscanner/qtwaylandscanner.cpp
|
|
||||||
index 1d635f06..e2f87bbd 100644
|
|
||||||
--- a/src/qtwaylandscanner/qtwaylandscanner.cpp
|
|
||||||
+++ b/src/qtwaylandscanner/qtwaylandscanner.cpp
|
|
||||||
@@ -814,7 +814,9 @@ bool Scanner::process()
|
|
||||||
printf(" if (Q_LIKELY(that)) {\n");
|
|
||||||
printf(" that->m_resource_map.remove(resource->client(), resource);\n");
|
|
||||||
printf(" that->%s_destroy_resource(resource);\n", interfaceNameStripped);
|
|
||||||
- printf(" if (that->m_resource == resource)\n");
|
|
||||||
+ printf("\n");
|
|
||||||
+ printf(" that = resource->%s_object;\n", interfaceNameStripped);
|
|
||||||
+ printf(" if (that && that->m_resource == resource)\n");
|
|
||||||
printf(" that->m_resource = nullptr;\n");
|
|
||||||
printf(" }\n");
|
|
||||||
printf(" delete resource;\n");
|
|
||||||
--
|
|
||||||
2.35.1
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
From cea69b8adec1e61adc1fa04cbf46b77c0d72c75e Mon Sep 17 00:00:00 2001
|
From f408482e4364293e5ab9889854a759796436971d Mon Sep 17 00:00:00 2001
|
||||||
From: Aleix Pol <aleixpol@kde.org>
|
From: Aleix Pol <aleixpol@kde.org>
|
||||||
Date: Mon, 23 Nov 2020 20:07:02 +0100
|
Date: Mon, 23 Nov 2020 20:07:02 +0100
|
||||||
Subject: [PATCH 17/52] xdgshell: Tell the compositor the screen we're
|
Subject: [PATCH 05/40] xdgshell: Tell the compositor the screen we're
|
||||||
expecting to fill
|
expecting to fill
|
||||||
|
|
||||||
The xdgshell protocol allows us to tell the output to fill. This makes
|
The xdgshell protocol allows us to tell the output to fill. This makes
|
@ -1,38 +0,0 @@
|
|||||||
From a825fb5f714fd79d16cc3ebbdd327e7961b07d0a Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Morten=20Johan=20S=C3=B8rvig?= <morten.sorvig@qt.io>
|
|
||||||
Date: Mon, 16 Nov 2020 19:37:33 +0100
|
|
||||||
Subject: [PATCH 06/52] Make setting QT_SCALE_FACTOR work on Wayland
|
|
||||||
|
|
||||||
Follow-up to 8cb1b07aea12d50b4fecc45c903705dfd368022a,
|
|
||||||
fixes one additional case (Use of minimum/maximum size).
|
|
||||||
|
|
||||||
Fixes: QTBUG-87762
|
|
||||||
Change-Id: I73e0df2529b0cadf25ad50ea7459cdbb92caf424
|
|
||||||
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
||||||
(cherry picked from commit 6ed363e3665f17d935f8636d9c958154c898f5c5)
|
|
||||||
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
||||||
---
|
|
||||||
src/client/qwaylandwindow.cpp | 6 ++++--
|
|
||||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
|
|
||||||
index bc031ed5..eb053406 100644
|
|
||||||
--- a/src/client/qwaylandwindow.cpp
|
|
||||||
+++ b/src/client/qwaylandwindow.cpp
|
|
||||||
@@ -332,9 +332,11 @@ void QWaylandWindow::setWindowIcon(const QIcon &icon)
|
|
||||||
|
|
||||||
void QWaylandWindow::setGeometry_helper(const QRect &rect)
|
|
||||||
{
|
|
||||||
+ QSize minimum = windowMinimumSize();
|
|
||||||
+ QSize maximum = windowMaximumSize();
|
|
||||||
QPlatformWindow::setGeometry(QRect(rect.x(), rect.y(),
|
|
||||||
- qBound(window()->minimumWidth(), rect.width(), window()->maximumWidth()),
|
|
||||||
- qBound(window()->minimumHeight(), rect.height(), window()->maximumHeight())));
|
|
||||||
+ qBound(minimum.width(), rect.width(), maximum.width()),
|
|
||||||
+ qBound(minimum.height(), rect.height(), maximum.height())));
|
|
||||||
|
|
||||||
if (mSubSurfaceWindow) {
|
|
||||||
QMargins m = QPlatformWindow::parent()->frameMargins();
|
|
||||||
--
|
|
||||||
2.35.1
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
From 91c48320633e493b4cd519e5d73b836a878b2b77 Mon Sep 17 00:00:00 2001
|
From d6dd815014564f235fb972eb72d28ccca6cf3549 Mon Sep 17 00:00:00 2001
|
||||||
From: Aleix Pol <aleixpol@kde.org>
|
From: Aleix Pol <aleixpol@kde.org>
|
||||||
Date: Wed, 10 Mar 2021 01:09:13 +0100
|
Date: Wed, 10 Mar 2021 01:09:13 +0100
|
||||||
Subject: [PATCH 19/52] client: Allow QWaylandInputContext to accept composed
|
Subject: [PATCH 06/40] client: Allow QWaylandInputContext to accept composed
|
||||||
key combinations
|
key combinations
|
||||||
|
|
||||||
At the moment, we are forcing user to choose to either compose or use
|
At the moment, we are forcing user to choose to either compose or use
|
@ -1,7 +1,7 @@
|
|||||||
From d5186701e27ad6f09f3944809cec2a25c5328026 Mon Sep 17 00:00:00 2001
|
From a6fb2a976ecd778e450afe89c180c8c748beb568 Mon Sep 17 00:00:00 2001
|
||||||
From: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
|
From: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
|
||||||
Date: Wed, 5 May 2021 20:49:26 +0300
|
Date: Wed, 5 May 2021 20:49:26 +0300
|
||||||
Subject: [PATCH 20/52] Client: Announce an output after receiving more
|
Subject: [PATCH 07/40] Client: Announce an output after receiving more
|
||||||
complete state
|
complete state
|
||||||
|
|
||||||
Output initialization is not atomic, meaning that the compositor may
|
Output initialization is not atomic, meaning that the compositor may
|
@ -1,62 +0,0 @@
|
|||||||
From 2c0a03e9aea13831d05ac03996949f888afd5085 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jaehak Lee <jaehak.lee@mobis.co.kr>
|
|
||||||
Date: Sun, 8 Nov 2020 11:40:06 +0900
|
|
||||||
Subject: [PATCH 07/52] Do not try to eglMakeCurrent for unintended case
|
|
||||||
|
|
||||||
The QSGThreadedRenderLoop::hide can be called at twice,
|
|
||||||
when the QWindowPrivate::setVisible(false) is called.
|
|
||||||
|
|
||||||
The eglSurface is EGL_NO_SURFACE when the second QSGThreadedRenderLoop::hide is
|
|
||||||
called. And if EGL_KHR_surfaceless_context is supported, the eglMakeCurrent
|
|
||||||
don't return the false.
|
|
||||||
|
|
||||||
But this case is not intended. So, add the defence code for above case.
|
|
||||||
|
|
||||||
Fixes: QTBUG-88277
|
|
||||||
Change-Id: Ia9e5990303e98f0eedc48531e5af62ff9961f419
|
|
||||||
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
||||||
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
||||||
---
|
|
||||||
.../client/wayland-egl/qwaylandglcontext.cpp | 6 ++++++
|
|
||||||
.../client/wayland-egl/qwaylandglcontext.h | 1 +
|
|
||||||
2 files changed, 7 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
|
|
||||||
index ccebf43d..681f82f4 100644
|
|
||||||
--- a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
|
|
||||||
+++ b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
|
|
||||||
@@ -336,6 +336,8 @@ QWaylandGLContext::QWaylandGLContext(EGLDisplay eglDisplay, QWaylandDisplay *dis
|
|
||||||
<< "It may also cause the event loop to freeze in some situations";
|
|
||||||
}
|
|
||||||
|
|
||||||
+ m_supportSurfaceLessContext = q_hasEglExtension(m_eglDisplay, "EGL_KHR_surfaceless_context");
|
|
||||||
+
|
|
||||||
updateGLFormat();
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -439,6 +441,10 @@ bool QWaylandGLContext::makeCurrent(QPlatformSurface *surface)
|
|
||||||
eglSurface = window->eglSurface();
|
|
||||||
}
|
|
||||||
|
|
||||||
+ if (eglSurface == EGL_NO_SURFACE && m_supportSurfaceLessContext) {
|
|
||||||
+ return false;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
if (!eglMakeCurrent(m_eglDisplay, eglSurface, eglSurface, m_context)) {
|
|
||||||
qWarning("QWaylandGLContext::makeCurrent: eglError: %x, this: %p \n", eglGetError(), this);
|
|
||||||
window->setCanResize(true);
|
|
||||||
diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.h b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.h
|
|
||||||
index 46c7bb76..93edaec0 100644
|
|
||||||
--- a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.h
|
|
||||||
+++ b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.h
|
|
||||||
@@ -93,6 +93,7 @@ private:
|
|
||||||
DecorationsBlitter *m_blitter = nullptr;
|
|
||||||
uint m_api;
|
|
||||||
bool m_supportNonBlockingSwap = true;
|
|
||||||
+ bool m_supportSurfaceLessContext = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
--
|
|
||||||
2.35.1
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
From 62494312db0f58053d1342bfacc7984186fdf3a6 Mon Sep 17 00:00:00 2001
|
From bb9288c913dc49aefc3fad03ec243809b6b21a88 Mon Sep 17 00:00:00 2001
|
||||||
From: Jaeyoon Jung <jaeyoon.jung@lge.com>
|
From: Jaeyoon Jung <jaeyoon.jung@lge.com>
|
||||||
Date: Mon, 15 Feb 2021 08:31:06 +0900
|
Date: Mon, 15 Feb 2021 08:31:06 +0900
|
||||||
Subject: [PATCH 21/52] Fix issue with repeated window size changes
|
Subject: [PATCH 08/40] Fix issue with repeated window size changes
|
||||||
|
|
||||||
Check if the new window size is different from the size requested
|
Check if the new window size is different from the size requested
|
||||||
previously before calling wl_egl_window_resize. It addresses the issue
|
previously before calling wl_egl_window_resize. It addresses the issue
|
@ -1,112 +0,0 @@
|
|||||||
From 10005185e06857ce119c50fe710f9eedde06ec5e Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Morten=20Johan=20S=C3=B8rvig?= <morten.sorvig@qt.io>
|
|
||||||
Date: Fri, 13 Nov 2020 11:21:50 +0100
|
|
||||||
Subject: [PATCH 08/52] Make setting QT_SCALE_FACTOR work on Wayland
|
|
||||||
|
|
||||||
QWindow geometry accessors return geometry in device
|
|
||||||
independent pixels. Normally this coordinate system
|
|
||||||
is equivalent to the Wayland native coordinate system,
|
|
||||||
but this is not the case when QT_SCALE_FACTOR is set.
|
|
||||||
|
|
||||||
Replace QWindow geometry calls with the helpers from
|
|
||||||
QPlatformWindow which return geometry in the native
|
|
||||||
coordinate system:
|
|
||||||
|
|
||||||
QWindow::geometry() -> QPlatformWindow::windowGeometry()
|
|
||||||
QWindow::frameGeometry() -> QPlatformWindow::windowFrameGeometry()
|
|
||||||
|
|
||||||
Task-number: QTBUG-87762
|
|
||||||
Fixes: QTBUG-88064
|
|
||||||
(cherry-picked from commit 8cb1b07aea12d50b4fecc45c903705dfd368022a)
|
|
||||||
Change-Id: I6e2029bc6210f12441ae7c9d8b678271e9922dde
|
|
||||||
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
||||||
---
|
|
||||||
src/client/qwaylandwindow.cpp | 7 ++++---
|
|
||||||
.../shellintegration/wl-shell/qwaylandwlshellsurface.cpp | 2 +-
|
|
||||||
.../shellintegration/xdg-shell-v5/qwaylandxdgsurfacev5.cpp | 2 +-
|
|
||||||
.../shellintegration/xdg-shell-v6/qwaylandxdgshellv6.cpp | 2 +-
|
|
||||||
.../shellintegration/xdg-shell/qwaylandxdgshell.cpp | 2 +-
|
|
||||||
5 files changed, 8 insertions(+), 7 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
|
|
||||||
index eb053406..9b343702 100644
|
|
||||||
--- a/src/client/qwaylandwindow.cpp
|
|
||||||
+++ b/src/client/qwaylandwindow.cpp
|
|
||||||
@@ -194,10 +194,11 @@ void QWaylandWindow::initWindow()
|
|
||||||
if (QScreen *s = window()->screen())
|
|
||||||
setOrientationMask(s->orientationUpdateMask());
|
|
||||||
setWindowFlags(window()->flags());
|
|
||||||
- if (window()->geometry().isEmpty())
|
|
||||||
+ QRect geometry = windowGeometry();
|
|
||||||
+ if (geometry.isEmpty())
|
|
||||||
setGeometry_helper(QRect(QPoint(), QSize(500,500)));
|
|
||||||
else
|
|
||||||
- setGeometry_helper(window()->geometry());
|
|
||||||
+ setGeometry_helper(geometry);
|
|
||||||
setMask(window()->mask());
|
|
||||||
if (mShellSurface)
|
|
||||||
mShellSurface->requestWindowStates(window()->windowStates());
|
|
||||||
@@ -431,7 +432,7 @@ void QWaylandWindow::setVisible(bool visible)
|
|
||||||
initWindow();
|
|
||||||
mDisplay->flushRequests();
|
|
||||||
|
|
||||||
- setGeometry(window()->geometry());
|
|
||||||
+ setGeometry(windowGeometry());
|
|
||||||
// Don't flush the events here, or else the newly visible window may start drawing, but since
|
|
||||||
// there was no frame before it will be stuck at the waitForFrameSync() in
|
|
||||||
// QWaylandShmBackingStore::beginPaint().
|
|
||||||
diff --git a/src/plugins/shellintegration/wl-shell/qwaylandwlshellsurface.cpp b/src/plugins/shellintegration/wl-shell/qwaylandwlshellsurface.cpp
|
|
||||||
index 245fec19..8f41118d 100644
|
|
||||||
--- a/src/plugins/shellintegration/wl-shell/qwaylandwlshellsurface.cpp
|
|
||||||
+++ b/src/plugins/shellintegration/wl-shell/qwaylandwlshellsurface.cpp
|
|
||||||
@@ -134,7 +134,7 @@ void QWaylandWlShellSurface::applyConfigure()
|
|
||||||
{
|
|
||||||
if ((m_pending.states & (Qt::WindowMaximized|Qt::WindowFullScreen))
|
|
||||||
&& !(m_applied.states & (Qt::WindowMaximized|Qt::WindowFullScreen))) {
|
|
||||||
- m_normalSize = m_window->window()->frameGeometry().size();
|
|
||||||
+ m_normalSize = m_window->windowFrameGeometry().size();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (m_pending.states != m_applied.states)
|
|
||||||
diff --git a/src/plugins/shellintegration/xdg-shell-v5/qwaylandxdgsurfacev5.cpp b/src/plugins/shellintegration/xdg-shell-v5/qwaylandxdgsurfacev5.cpp
|
|
||||||
index 770fad7e..73aba1ee 100644
|
|
||||||
--- a/src/plugins/shellintegration/xdg-shell-v5/qwaylandxdgsurfacev5.cpp
|
|
||||||
+++ b/src/plugins/shellintegration/xdg-shell-v5/qwaylandxdgsurfacev5.cpp
|
|
||||||
@@ -157,7 +157,7 @@ void QWaylandXdgSurfaceV5::applyConfigure()
|
|
||||||
if (m_pending.isResizing)
|
|
||||||
m_normalSize = m_pending.size;
|
|
||||||
else if (!(m_acked.states & (Qt::WindowMaximized|Qt::WindowFullScreen)))
|
|
||||||
- m_normalSize = m_window->window()->frameGeometry().size();
|
|
||||||
+ m_normalSize = m_window->windowFrameGeometry().size();
|
|
||||||
|
|
||||||
if ((m_pending.states & Qt::WindowActive) && !(m_acked.states & Qt::WindowActive))
|
|
||||||
m_window->display()->handleWindowActivated(m_window);
|
|
||||||
diff --git a/src/plugins/shellintegration/xdg-shell-v6/qwaylandxdgshellv6.cpp b/src/plugins/shellintegration/xdg-shell-v6/qwaylandxdgshellv6.cpp
|
|
||||||
index c137b308..8c371661 100644
|
|
||||||
--- a/src/plugins/shellintegration/xdg-shell-v6/qwaylandxdgshellv6.cpp
|
|
||||||
+++ b/src/plugins/shellintegration/xdg-shell-v6/qwaylandxdgshellv6.cpp
|
|
||||||
@@ -72,7 +72,7 @@ QWaylandXdgSurfaceV6::Toplevel::~Toplevel()
|
|
||||||
void QWaylandXdgSurfaceV6::Toplevel::applyConfigure()
|
|
||||||
{
|
|
||||||
if (!(m_applied.states & (Qt::WindowMaximized|Qt::WindowFullScreen)))
|
|
||||||
- m_normalSize = m_xdgSurface->m_window->window()->frameGeometry().size();
|
|
||||||
+ m_normalSize = m_xdgSurface->m_window->windowFrameGeometry().size();
|
|
||||||
|
|
||||||
if ((m_pending.states & Qt::WindowActive) && !(m_applied.states & Qt::WindowActive))
|
|
||||||
m_xdgSurface->m_window->display()->handleWindowActivated(m_xdgSurface->m_window);
|
|
||||||
diff --git a/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp b/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp
|
|
||||||
index b6d23ac1..1c762944 100644
|
|
||||||
--- a/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp
|
|
||||||
+++ b/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp
|
|
||||||
@@ -83,7 +83,7 @@ QWaylandXdgSurface::Toplevel::~Toplevel()
|
|
||||||
void QWaylandXdgSurface::Toplevel::applyConfigure()
|
|
||||||
{
|
|
||||||
if (!(m_applied.states & (Qt::WindowMaximized|Qt::WindowFullScreen)))
|
|
||||||
- m_normalSize = m_xdgSurface->m_window->window()->frameGeometry().size();
|
|
||||||
+ m_normalSize = m_xdgSurface->m_window->windowFrameGeometry().size();
|
|
||||||
|
|
||||||
if ((m_pending.states & Qt::WindowActive) && !(m_applied.states & Qt::WindowActive))
|
|
||||||
m_xdgSurface->m_window->display()->handleWindowActivated(m_xdgSurface->m_window);
|
|
||||||
--
|
|
||||||
2.35.1
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
|||||||
From dba4bc4f1d6dfee9fe9433c55b15653d703bed4f Mon Sep 17 00:00:00 2001
|
|
||||||
From: Andreas Cord-Landwehr <cordlandwehr@kde.org>
|
|
||||||
Date: Wed, 2 Dec 2020 20:55:52 +0100
|
|
||||||
Subject: [PATCH 09/52] Ensure that grabbing is performed in correct context
|
|
||||||
|
|
||||||
For multi-display rendering on EGL, it is mandatory that the grabbing of
|
|
||||||
the surface happens in the same EGL context as the surface belongs to.
|
|
||||||
By adding the grabbing to the rendering stage of the image, this
|
|
||||||
relation is forced.
|
|
||||||
|
|
||||||
Task-number: QTBUG-87597
|
|
||||||
Change-Id: I50f40df1215aa771d714065e942c5a738ba6269f
|
|
||||||
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
||||||
(cherry picked from commit ab3a1a07f3d1e0d5a9e9d97b6b3b587180e2f4c8)
|
|
||||||
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
||||||
---
|
|
||||||
src/compositor/compositor_api/qwaylandquickcompositor.cpp | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/compositor/compositor_api/qwaylandquickcompositor.cpp b/src/compositor/compositor_api/qwaylandquickcompositor.cpp
|
|
||||||
index 49f0860e..db1cf00f 100644
|
|
||||||
--- a/src/compositor/compositor_api/qwaylandquickcompositor.cpp
|
|
||||||
+++ b/src/compositor/compositor_api/qwaylandquickcompositor.cpp
|
|
||||||
@@ -161,7 +161,7 @@ void QWaylandQuickCompositor::grabSurface(QWaylandSurfaceGrabber *grabber, const
|
|
||||||
GrabState *state = new GrabState;
|
|
||||||
state->grabber = grabber;
|
|
||||||
state->buffer = buffer;
|
|
||||||
- static_cast<QQuickWindow *>(output->window())->scheduleRenderJob(state, QQuickWindow::NoStage);
|
|
||||||
+ static_cast<QQuickWindow *>(output->window())->scheduleRenderJob(state, QQuickWindow::AfterRenderingStage);
|
|
||||||
#else
|
|
||||||
emit grabber->failed(QWaylandSurfaceGrabber::UnknownBufferType);
|
|
||||||
#endif
|
|
||||||
--
|
|
||||||
2.35.1
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
From 1ccebbab3a42690a0812e2c4c76016799bf6cf1f Mon Sep 17 00:00:00 2001
|
From 82720c9d7e0a706793f9716144347171820ddf4d Mon Sep 17 00:00:00 2001
|
||||||
From: Albert Astals Cid <albert.astals.cid@kdab.com>
|
From: Albert Astals Cid <albert.astals.cid@kdab.com>
|
||||||
Date: Mon, 10 May 2021 14:38:49 +0200
|
Date: Mon, 10 May 2021 14:38:49 +0200
|
||||||
Subject: [PATCH 22/52] Include locale.h for setlocale/LC_CTYPE
|
Subject: [PATCH 09/40] Include locale.h for setlocale/LC_CTYPE
|
||||||
|
|
||||||
Pick-to: 5.15
|
Pick-to: 5.15
|
||||||
Change-Id: Iced32a31a63cec71008549c1e0961d59ffc45a37
|
Change-Id: Iced32a31a63cec71008549c1e0961d59ffc45a37
|
@ -1,7 +1,7 @@
|
|||||||
From fcc2f57cefa66339c8cb6632f45a47fbb99bb60d Mon Sep 17 00:00:00 2001
|
From 6b2084a4c9f87d3575fc6aec3f7454304bcc6188 Mon Sep 17 00:00:00 2001
|
||||||
From: David Edmundson <davidedmundson@kde.org>
|
From: David Edmundson <davidedmundson@kde.org>
|
||||||
Date: Tue, 9 Feb 2021 16:09:21 +0000
|
Date: Tue, 9 Feb 2021 16:09:21 +0000
|
||||||
Subject: [PATCH 23/52] Client: Connect drags being accepted to updating the
|
Subject: [PATCH 10/40] Client: Connect drags being accepted to updating the
|
||||||
source drag icon
|
source drag icon
|
||||||
|
|
||||||
Currently in a multi-process drag and drop when the other client accepts
|
Currently in a multi-process drag and drop when the other client accepts
|
@ -1,36 +0,0 @@
|
|||||||
From a8d35b3c18bdb05a0da3ed50a554a7b7bd4ebed3 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
||||||
Date: Mon, 30 Nov 2020 13:13:18 +0100
|
|
||||||
Subject: [PATCH 10/52] Fix leaked subsurface wayland items
|
|
||||||
|
|
||||||
Whenever a subsurface was added we would create a QWaylandQuickItem,
|
|
||||||
but this was never deleted. It is one-to-one with the surface, so it
|
|
||||||
should be deleted at the same time.
|
|
||||||
|
|
||||||
[ChangeLog][QtWaylandCompositor] Fixed a memory leak when creating
|
|
||||||
subsurfaces.
|
|
||||||
|
|
||||||
Task-number: QTBUG-88782
|
|
||||||
Change-Id: If4b3f15200ce3bd123ff73847d3593d174a39229
|
|
||||||
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
||||||
(cherry picked from commit 38fc568b30bf916165324c2cd2db127d2a9aa68c)
|
|
||||||
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
||||||
---
|
|
||||||
src/compositor/compositor_api/qwaylandquickitem.cpp | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
diff --git a/src/compositor/compositor_api/qwaylandquickitem.cpp b/src/compositor/compositor_api/qwaylandquickitem.cpp
|
|
||||||
index 15f0195c..2218f43a 100644
|
|
||||||
--- a/src/compositor/compositor_api/qwaylandquickitem.cpp
|
|
||||||
+++ b/src/compositor/compositor_api/qwaylandquickitem.cpp
|
|
||||||
@@ -737,6 +737,7 @@ void QWaylandQuickItem::handleSubsurfaceAdded(QWaylandSurface *childSurface)
|
|
||||||
childItem->setVisible(true);
|
|
||||||
childItem->setParentItem(this);
|
|
||||||
connect(childSurface, &QWaylandSurface::subsurfacePositionChanged, childItem, &QWaylandQuickItem::handleSubsurfacePosition);
|
|
||||||
+ connect(childSurface, &QWaylandSurface::destroyed, childItem, &QObject::deleteLater);
|
|
||||||
} else {
|
|
||||||
bool success = QMetaObject::invokeMethod(d->subsurfaceHandler, "handleSubsurfaceAdded", Q_ARG(QWaylandSurface *, childSurface));
|
|
||||||
if (!success)
|
|
||||||
--
|
|
||||||
2.35.1
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
From 1b5e43a593e917610e6245f7a272ac081c508ba4 Mon Sep 17 00:00:00 2001
|
From a1d6aa2078b8a840469f13ae720669cb4f99291d Mon Sep 17 00:00:00 2001
|
||||||
From: David Edmundson <davidedmundson@kde.org>
|
From: David Edmundson <davidedmundson@kde.org>
|
||||||
Date: Fri, 14 May 2021 13:23:24 +0100
|
Date: Fri, 14 May 2021 13:23:24 +0100
|
||||||
Subject: [PATCH 24/52] Client: Disconnect registry listener on destruction
|
Subject: [PATCH 11/40] Client: Disconnect registry listener on destruction
|
||||||
|
|
||||||
If a display outlives a QWaylandClientExtension and a new global is
|
If a display outlives a QWaylandClientExtension and a new global is
|
||||||
announced we end up delivering an event to a now deleted extension which
|
announced we end up delivering an event to a now deleted extension which
|
@ -1,7 +1,7 @@
|
|||||||
From 36a552fa530be57091e986ebd1468d75d3061743 Mon Sep 17 00:00:00 2001
|
From d9d7c73f908db351921cf016c5e079f3d13e84aa Mon Sep 17 00:00:00 2001
|
||||||
From: David Edmundson <davidedmundson@kde.org>
|
From: David Edmundson <davidedmundson@kde.org>
|
||||||
Date: Mon, 3 May 2021 23:01:53 +0100
|
Date: Mon, 3 May 2021 23:01:53 +0100
|
||||||
Subject: [PATCH 25/52] Client: Set XdgShell size hints before the first commit
|
Subject: [PATCH 12/40] Client: Set XdgShell size hints before the first commit
|
||||||
|
|
||||||
propagateSizeHints is only called in QWindow we have platform window and
|
propagateSizeHints is only called in QWindow we have platform window and
|
||||||
minimumSizeHint is then sent. We also need to send existing hints when
|
minimumSizeHint is then sent. We also need to send existing hints when
|
@ -1,38 +0,0 @@
|
|||||||
From 9df11e79b46c77d8c83f765b2a8e85b639fd55a2 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
||||||
Date: Tue, 5 Jan 2021 09:08:50 +0100
|
|
||||||
Subject: [PATCH 12/52] Fix memory leak in QWaylandGLContext
|
|
||||||
|
|
||||||
We were leaking an EGL context with every GL context created,
|
|
||||||
which lead to rapid OOM errors in stress tests.
|
|
||||||
|
|
||||||
[ChangeLog][Qt Wayland Client] Fixed a memory leak when creating
|
|
||||||
QOpenGLContexts on Wayland and using the wayland-egl backend.
|
|
||||||
|
|
||||||
Fixes: QTBUG-85608
|
|
||||||
Pick-to: 5.15
|
|
||||||
Pick-to: 6.0
|
|
||||||
Change-Id: I8426b5df36ec7ab9e66ce15f9e02edad3aca60b9
|
|
||||||
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
|
||||||
---
|
|
||||||
.../client/wayland-egl/qwaylandglcontext.cpp | 4 +++-
|
|
||||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
|
|
||||||
index 681f82f4..befadedc 100644
|
|
||||||
--- a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
|
|
||||||
+++ b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
|
|
||||||
@@ -406,7 +406,9 @@ void QWaylandGLContext::updateGLFormat()
|
|
||||||
QWaylandGLContext::~QWaylandGLContext()
|
|
||||||
{
|
|
||||||
delete m_blitter;
|
|
||||||
- eglDestroyContext(m_eglDisplay, m_context);
|
|
||||||
+ m_blitter = nullptr;
|
|
||||||
+ if (m_decorationsContext != EGL_NO_CONTEXT)
|
|
||||||
+ eglDestroyContext(eglDisplay(), m_decorationsContext);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool QWaylandGLContext::makeCurrent(QPlatformSurface *surface)
|
|
||||||
--
|
|
||||||
2.35.1
|
|
||||||
|
|
@ -1,41 +0,0 @@
|
|||||||
From 7db4f83c39d2a0c709bc0b9c0de3946d3b4ebfd5 Mon Sep 17 00:00:00 2001
|
|
||||||
From: David Edmundson <davidedmundson@kde.org>
|
|
||||||
Date: Mon, 16 Nov 2020 14:57:36 +0000
|
|
||||||
Subject: [PATCH 13/52] Client: Send set_window_geometry only once configured
|
|
||||||
|
|
||||||
The geometry only makes sense when a buffer exists, our currently send
|
|
||||||
value is somewhat meaningless, but till now harmless.
|
|
||||||
|
|
||||||
A specification clarification implies that it is an error if the
|
|
||||||
calculated effective window geometry is null, rather than just checking
|
|
||||||
the sent value. This is the case if set_window_geometry is sent before a
|
|
||||||
buffer is attached.
|
|
||||||
|
|
||||||
On our first configure call we enter resizeFromApplyConfigure which will
|
|
||||||
hit this path and send the initial state.
|
|
||||||
|
|
||||||
Pick-to: 5.15
|
|
||||||
Pick-to: 6.1
|
|
||||||
Pick-to: 6.0
|
|
||||||
Change-Id: Ib57ebe8b64210eae86e79dfdd6b5cb8a986b020b
|
|
||||||
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
||||||
---
|
|
||||||
src/client/qwaylandwindow.cpp | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
|
|
||||||
index 9b343702..e875af3a 100644
|
|
||||||
--- a/src/client/qwaylandwindow.cpp
|
|
||||||
+++ b/src/client/qwaylandwindow.cpp
|
|
||||||
@@ -365,7 +365,7 @@ void QWaylandWindow::setGeometry(const QRect &rect)
|
|
||||||
if (isExposed() && !mInResizeFromApplyConfigure && exposeGeometry != mLastExposeGeometry)
|
|
||||||
sendExposeEvent(exposeGeometry);
|
|
||||||
|
|
||||||
- if (mShellSurface)
|
|
||||||
+ if (mShellSurface && isExposed())
|
|
||||||
mShellSurface->setWindowGeometry(windowContentGeometry());
|
|
||||||
|
|
||||||
if (isOpaque() && mMask.isEmpty())
|
|
||||||
--
|
|
||||||
2.35.1
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
From a8ddf1a7296e2d28b36231a391807226a7329ae4 Mon Sep 17 00:00:00 2001
|
From 2e8e8b87d800f1ef2e0fb0a6f0818de0a8fa0951 Mon Sep 17 00:00:00 2001
|
||||||
From: David Edmundson <davidedmundson@kde.org>
|
From: David Edmundson <davidedmundson@kde.org>
|
||||||
Date: Mon, 14 Jun 2021 12:45:37 +0100
|
Date: Mon, 14 Jun 2021 12:45:37 +0100
|
||||||
Subject: [PATCH 26/52] Fix build
|
Subject: [PATCH 13/40] Fix build
|
||||||
|
|
||||||
1b5e43a593e917610e6245f7a272ac081c508ba4 relied on a patch that we can't
|
1b5e43a593e917610e6245f7a272ac081c508ba4 relied on a patch that we can't
|
||||||
backport.
|
backport.
|
@ -1,7 +1,7 @@
|
|||||||
From d1c4a459faa1d514026c4834828cb33024ac2ceb Mon Sep 17 00:00:00 2001
|
From 88b2e6c9728d01a9aa334026629fbb1ce85fe197 Mon Sep 17 00:00:00 2001
|
||||||
From: Zhang Liang <zhanglianga@uniontech.com>
|
From: Zhang Liang <zhanglianga@uniontech.com>
|
||||||
Date: Mon, 1 Feb 2021 19:29:43 +0800
|
Date: Mon, 1 Feb 2021 19:29:43 +0800
|
||||||
Subject: [PATCH 27/52] Fix: remove listener
|
Subject: [PATCH 14/40] Fix: remove listener
|
||||||
|
|
||||||
Add the operation for removing the listener form listener list
|
Add the operation for removing the listener form listener list
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
From a6476d1a1c78eb7f17408241b268404e27b3e161 Mon Sep 17 00:00:00 2001
|
From 75693b47dcac101f74f98e5902c4c6b39d407e4f Mon Sep 17 00:00:00 2001
|
||||||
From: David Redondo <qt@david-redondo.de>
|
From: David Redondo <qt@david-redondo.de>
|
||||||
Date: Wed, 26 May 2021 14:49:40 +0200
|
Date: Wed, 26 May 2021 14:49:40 +0200
|
||||||
Subject: [PATCH 28/52] Hook up queryKeyboardModifers
|
Subject: [PATCH 15/40] Hook up queryKeyboardModifers
|
||||||
|
|
||||||
Can be useful when upon enter a modifiers event is received but no key
|
Can be useful when upon enter a modifiers event is received but no key
|
||||||
event so no QKeyEvent is generated.
|
event so no QKeyEvent is generated.
|
@ -1,7 +1,7 @@
|
|||||||
From d4c41797b61a5a8da47c5821711aca72e756dcbf Mon Sep 17 00:00:00 2001
|
From 537c5d43941d26d89ebf00f6abf7f12f9bac1caf Mon Sep 17 00:00:00 2001
|
||||||
From: Aleix Pol <aleixpol@kde.org>
|
From: Aleix Pol <aleixpol@kde.org>
|
||||||
Date: Tue, 13 Jul 2021 13:32:15 +0200
|
Date: Tue, 13 Jul 2021 13:32:15 +0200
|
||||||
Subject: [PATCH 29/52] Do not update the mask if we do not have a surface
|
Subject: [PATCH 16/40] 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
|
mMask serves as a cache to remember what we've sent, the source of truth
|
||||||
for the value is window()->mask().
|
for the value is window()->mask().
|
@ -1,7 +1,7 @@
|
|||||||
From 3c420cd180397e3f42c8a436a7f1b11465925bdd Mon Sep 17 00:00:00 2001
|
From ae3ea8875b9475532e5779154e3992affe2b9a32 Mon Sep 17 00:00:00 2001
|
||||||
From: Jan Blackquill <uhhadd@gmail.com>
|
From: Jan Blackquill <uhhadd@gmail.com>
|
||||||
Date: Tue, 24 Aug 2021 14:36:34 -0400
|
Date: Tue, 24 Aug 2021 14:36:34 -0400
|
||||||
Subject: [PATCH 30/52] Correctly detect if image format is supported by
|
Subject: [PATCH 17/40] Correctly detect if image format is supported by
|
||||||
QImageWriter
|
QImageWriter
|
||||||
|
|
||||||
The code queries potential image formats by stripping a mimetype of its
|
The code queries potential image formats by stripping a mimetype of its
|
@ -1,26 +0,0 @@
|
|||||||
From 2f84a874da064069461284db1da36dc818949ec1 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Albert Astals Cid <aacid@kde.org>
|
|
||||||
Date: Sat, 10 Apr 2021 12:10:16 +0200
|
|
||||||
Subject: [PATCH 18/52] Fix compilation
|
|
||||||
|
|
||||||
9df11e79b46c77d8c83f765b2a8e85b639fd55a2 can't be backported 1:1
|
|
||||||
---
|
|
||||||
.../client/wayland-egl/qwaylandglcontext.cpp | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
|
|
||||||
index befadedc..95d1049c 100644
|
|
||||||
--- a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
|
|
||||||
+++ b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
|
|
||||||
@@ -408,7 +408,7 @@ QWaylandGLContext::~QWaylandGLContext()
|
|
||||||
delete m_blitter;
|
|
||||||
m_blitter = nullptr;
|
|
||||||
if (m_decorationsContext != EGL_NO_CONTEXT)
|
|
||||||
- eglDestroyContext(eglDisplay(), m_decorationsContext);
|
|
||||||
+ eglDestroyContext(m_eglDisplay, m_decorationsContext);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool QWaylandGLContext::makeCurrent(QPlatformSurface *surface)
|
|
||||||
--
|
|
||||||
2.35.1
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
From 1c53ba6dfebbf1d6e87c9ad1f2bbda94e3d45bf7 Mon Sep 17 00:00:00 2001
|
From 8d673fe2edebe2c5bf338a779ef22ae212dc244a Mon Sep 17 00:00:00 2001
|
||||||
From: Paul Olav Tvete <paul.tvete@qt.io>
|
From: Paul Olav Tvete <paul.tvete@qt.io>
|
||||||
Date: Tue, 14 Sep 2021 11:56:23 +0200
|
Date: Tue, 14 Sep 2021 11:56:23 +0200
|
||||||
Subject: [PATCH 31/52] Wayland client: Fix crash when windows are shown/hidden
|
Subject: [PATCH 18/40] Wayland client: Fix crash when windows are shown/hidden
|
||||||
during drag
|
during drag
|
||||||
|
|
||||||
Fixes: QTBUG-87624
|
Fixes: QTBUG-87624
|
@ -1,7 +1,7 @@
|
|||||||
From 3be586cd8b6c8313cb6b8b7d61be17706f79590e Mon Sep 17 00:00:00 2001
|
From bdd2dacf2d8668b3a1f59db3c6cc859f95868eb2 Mon Sep 17 00:00:00 2001
|
||||||
From: Georges Basile Stavracas Neto <gbsneto@gnome.org>
|
From: Georges Basile Stavracas Neto <gbsneto@gnome.org>
|
||||||
Date: Thu, 27 May 2021 19:55:04 -0300
|
Date: Thu, 27 May 2021 19:55:04 -0300
|
||||||
Subject: [PATCH 32/52] Client: Don't always recreate frame callbacks
|
Subject: [PATCH 19/40] Client: Don't always recreate frame callbacks
|
||||||
|
|
||||||
The main QWaylandWindow method that is executed when handling updates is
|
The main QWaylandWindow method that is executed when handling updates is
|
||||||
QWaylandWindow::handleUpdate(). This method always, unconditionally queues
|
QWaylandWindow::handleUpdate(). This method always, unconditionally queues
|
@ -1,7 +1,7 @@
|
|||||||
From efe6edcaf8eba601dff99ec6ad4457c8a4442f86 Mon Sep 17 00:00:00 2001
|
From fb0a5265ec9d83b56563769cc1b756aeca42ce65 Mon Sep 17 00:00:00 2001
|
||||||
From: Georges Basile Stavracas Neto <gbsneto@gnome.org>
|
From: Georges Basile Stavracas Neto <gbsneto@gnome.org>
|
||||||
Date: Thu, 27 May 2021 20:02:53 -0300
|
Date: Thu, 27 May 2021 20:02:53 -0300
|
||||||
Subject: [PATCH 33/52] Client: Always destroy frame callback in the actual
|
Subject: [PATCH 20/40] Client: Always destroy frame callback in the actual
|
||||||
callback
|
callback
|
||||||
|
|
||||||
It's good hygiene to destroy all frame callbacks. Destroy the
|
It's good hygiene to destroy all frame callbacks. Destroy the
|
@ -1,7 +1,7 @@
|
|||||||
From 02f9585ca19c17ae0978b864195533dc527d825e Mon Sep 17 00:00:00 2001
|
From 1e0519c6465335dd380ad8d8209969c71eb78d48 Mon Sep 17 00:00:00 2001
|
||||||
From: Rodney Dawes <dobey.pwns@gmail.com>
|
From: Rodney Dawes <dobey.pwns@gmail.com>
|
||||||
Date: Fri, 15 Oct 2021 12:55:33 -0400
|
Date: Fri, 15 Oct 2021 12:55:33 -0400
|
||||||
Subject: [PATCH 34/52] Fix the logic for decoding modifiers map in Wayland
|
Subject: [PATCH 21/40] Fix the logic for decoding modifiers map in Wayland
|
||||||
text input protocol
|
text input protocol
|
||||||
|
|
||||||
Correctly check for the flags in the modifiers map when we get it from
|
Correctly check for the flags in the modifiers map when we get it from
|
@ -1,7 +1,7 @@
|
|||||||
From 5c180bdc1042e7cb1555e188051f09e219b00ec9 Mon Sep 17 00:00:00 2001
|
From 64e133f830ce48b6732397325b768ed9193c2cb4 Mon Sep 17 00:00:00 2001
|
||||||
From: =?UTF-8?q?M=C3=A9ven=20Car?= <meven.car@enioka.com>
|
From: =?UTF-8?q?M=C3=A9ven=20Car?= <meven.car@enioka.com>
|
||||||
Date: Wed, 18 Aug 2021 18:28:20 +0200
|
Date: Wed, 18 Aug 2021 18:28:20 +0200
|
||||||
Subject: [PATCH 35/52] Wayland client: use wl_keyboard to determine active
|
Subject: [PATCH 22/40] Wayland client: use wl_keyboard to determine active
|
||||||
state
|
state
|
||||||
|
|
||||||
Commit f497a5bb87270174b8e0106b7eca1992d44ff15d made QWaylandDisplay
|
Commit f497a5bb87270174b8e0106b7eca1992d44ff15d made QWaylandDisplay
|
@ -1,7 +1,7 @@
|
|||||||
From 992833ca741efe8f533c61abfaf129a1d8bfcfee Mon Sep 17 00:00:00 2001
|
From 167a89d23d4db6f62ef8336002fe306829604a77 Mon Sep 17 00:00:00 2001
|
||||||
From: Jan Grulich <jgrulich@redhat.com>
|
From: Jan Grulich <jgrulich@redhat.com>
|
||||||
Date: Fri, 16 Jul 2021 13:00:03 +0200
|
Date: Fri, 16 Jul 2021 13:00:03 +0200
|
||||||
Subject: [PATCH 36/52] Client: do not empty clipboard when a new popup/window
|
Subject: [PATCH 23/40] Client: do not empty clipboard when a new popup/window
|
||||||
is opened
|
is opened
|
||||||
|
|
||||||
If we open a new popup or a window within the same app we have to avoid
|
If we open a new popup or a window within the same app we have to avoid
|
@ -1,7 +1,7 @@
|
|||||||
From e0646f531e1e73a90a93faaa45d933ae40769985 Mon Sep 17 00:00:00 2001
|
From 5ea11ccde21448f5c61978bf52e2f3db79a7143c Mon Sep 17 00:00:00 2001
|
||||||
From: Weng Xuetian <wengxt@gmail.com>
|
From: Weng Xuetian <wengxt@gmail.com>
|
||||||
Date: Sat, 18 Dec 2021 23:42:49 -0800
|
Date: Sat, 18 Dec 2021 23:42:49 -0800
|
||||||
Subject: [PATCH 38/52] Set preedit cursor when cursor equals to 0
|
Subject: [PATCH 24/40] Set preedit cursor when cursor equals to 0
|
||||||
|
|
||||||
Pick-to: 6.3 6.2 5.15
|
Pick-to: 6.3 6.2 5.15
|
||||||
Change-Id: I832fbb22d973b36ac4ab51570fc53bc2e4c3ed58
|
Change-Id: I832fbb22d973b36ac4ab51570fc53bc2e4c3ed58
|
@ -1,7 +1,7 @@
|
|||||||
From 2044603ebb5ae70c785d50968ac620b842c2b14e Mon Sep 17 00:00:00 2001
|
From 95783492ae8df7f84c3c13351df5dc114288e96e Mon Sep 17 00:00:00 2001
|
||||||
From: David Edmundson <davidedmundson@kde.org>
|
From: David Edmundson <davidedmundson@kde.org>
|
||||||
Date: Tue, 16 Feb 2021 09:51:47 +0000
|
Date: Tue, 16 Feb 2021 09:51:47 +0000
|
||||||
Subject: [PATCH 39/52] Client: Implement DataDeviceV3
|
Subject: [PATCH 25/40] Client: Implement DataDeviceV3
|
||||||
|
|
||||||
DataDeviceV2 fixes a leak of DataDevice resources.
|
DataDeviceV2 fixes a leak of DataDevice resources.
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
From 0b15df7e9e26a4edfc2277eb3ec7b3d5c58a5dcd Mon Sep 17 00:00:00 2001
|
From 8c9e148bb0aa25cbc831e2bd931d3bd54bc0fb46 Mon Sep 17 00:00:00 2001
|
||||||
From: Arjen Hiemstra <ahiemstra@heimr.nl>
|
From: Arjen Hiemstra <ahiemstra@heimr.nl>
|
||||||
Date: Thu, 18 Nov 2021 13:05:30 +0100
|
Date: Thu, 18 Nov 2021 13:05:30 +0100
|
||||||
Subject: [PATCH 40/52] Client: Delay deletion of QDrag object until after
|
Subject: [PATCH 26/40] Client: Delay deletion of QDrag object until after
|
||||||
we're done with it
|
we're done with it
|
||||||
|
|
||||||
In certain cases, most notably when performing drag and drop operations
|
In certain cases, most notably when performing drag and drop operations
|
@ -1,7 +1,7 @@
|
|||||||
From 867540b9d913760a847ff67c8694d817c821f2c2 Mon Sep 17 00:00:00 2001
|
From b736b4488dcaa1a3c6b0c6059e5b85881f74c52b Mon Sep 17 00:00:00 2001
|
||||||
From: David Edmundson <davidedmundson@kde.org>
|
From: David Edmundson <davidedmundson@kde.org>
|
||||||
Date: Sun, 14 Nov 2021 13:54:19 +0000
|
Date: Sun, 14 Nov 2021 13:54:19 +0000
|
||||||
Subject: [PATCH 41/52] Client: Avoid processing of events when showing windows
|
Subject: [PATCH 27/40] Client: Avoid processing of events when showing windows
|
||||||
|
|
||||||
The only time we want to dispatch events from the wayland socket is when
|
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
|
the application is waiting for external events. Doing so at any other
|
@ -1,7 +1,7 @@
|
|||||||
From bc5a8d24f63181a36759723a4d1b39b59b3b53e6 Mon Sep 17 00:00:00 2001
|
From 771705eee02b4d752beee22ef5408ccbd72078cc Mon Sep 17 00:00:00 2001
|
||||||
From: Elvis Lee <kwangwoong.lee@lge.com>
|
From: Elvis Lee <kwangwoong.lee@lge.com>
|
||||||
Date: Thu, 18 Feb 2021 15:45:49 +0900
|
Date: Thu, 18 Feb 2021 15:45:49 +0900
|
||||||
Subject: [PATCH 42/52] Handle registry_global out of constructor
|
Subject: [PATCH 28/40] Handle registry_global out of constructor
|
||||||
|
|
||||||
Factory functions in QWaylandDisplay::registry_global() can be overridden.
|
Factory functions in QWaylandDisplay::registry_global() can be overridden.
|
||||||
Later, other classes instantiated in the registry_global can support
|
Later, other classes instantiated in the registry_global can support
|
@ -1,7 +1,7 @@
|
|||||||
From 98dc33fdc66f15a0e69f3024fcef046f11adc58c Mon Sep 17 00:00:00 2001
|
From 725c5de6bdd528d1fa03f1de5ec91585eb110d83 Mon Sep 17 00:00:00 2001
|
||||||
From: Elvis Lee <kwangwoong.lee@lge.com>
|
From: Elvis Lee <kwangwoong.lee@lge.com>
|
||||||
Date: Wed, 17 Mar 2021 16:31:10 +0900
|
Date: Wed, 17 Mar 2021 16:31:10 +0900
|
||||||
Subject: [PATCH 43/52] Connect flushRequest after forceRoundTrip
|
Subject: [PATCH 29/40] Connect flushRequest after forceRoundTrip
|
||||||
|
|
||||||
If flushRequest is connected with aboutToBlock, the flushRequest
|
If flushRequest is connected with aboutToBlock, the flushRequest
|
||||||
may consumes all events so that processEvents might be blocked in forceRoundTrip.
|
may consumes all events so that processEvents might be blocked in forceRoundTrip.
|
@ -1,7 +1,7 @@
|
|||||||
From 4644d51f4b52e83fc1b4d02b380d80d9d57e76fa Mon Sep 17 00:00:00 2001
|
From 91d36a2497f3289996d788c8974583bccac3c842 Mon Sep 17 00:00:00 2001
|
||||||
From: Adrien Faveraux <af@brain-networks.fr>
|
From: Adrien Faveraux <af@brain-networks.fr>
|
||||||
Date: Fri, 26 Nov 2021 09:18:58 +0100
|
Date: Fri, 26 Nov 2021 09:18:58 +0100
|
||||||
Subject: [PATCH 44/52] Move the wayland socket polling to a separate event
|
Subject: [PATCH 30/40] Move the wayland socket polling to a separate event
|
||||||
thread
|
thread
|
||||||
|
|
||||||
New event threads is introduced which calls poll() on the wayland fd,
|
New event threads is introduced which calls poll() on the wayland fd,
|
@ -1,7 +1,7 @@
|
|||||||
From 460a2bb54d8377586dff6d561646f3929c71370d Mon Sep 17 00:00:00 2001
|
From ca1d9023b6d40a128faad652f02881b5805e36ba Mon Sep 17 00:00:00 2001
|
||||||
From: Roman Genkhel <roman.genhel@lge.com>
|
From: Roman Genkhel <roman.genhel@lge.com>
|
||||||
Date: Thu, 12 Nov 2020 12:21:51 +0300
|
Date: Thu, 12 Nov 2020 12:21:51 +0300
|
||||||
Subject: [PATCH 45/52] Check pointer for null before use in ASSERT
|
Subject: [PATCH 31/40] Check pointer for null before use in ASSERT
|
||||||
|
|
||||||
Task-number: QTBUG-85195
|
Task-number: QTBUG-85195
|
||||||
Change-Id: I331e54f6e58aa9d536351a55223610c60b3cb414
|
Change-Id: I331e54f6e58aa9d536351a55223610c60b3cb414
|
@ -1,7 +1,7 @@
|
|||||||
From b6d85c2a75f5618e87267f5b5c361455be257a17 Mon Sep 17 00:00:00 2001
|
From e6b30f42f8eec2ecc10395593dbfff354acd5425 Mon Sep 17 00:00:00 2001
|
||||||
From: Inho Lee <inho.lee@qt.io>
|
From: Inho Lee <inho.lee@qt.io>
|
||||||
Date: Mon, 1 Nov 2021 14:23:58 +0100
|
Date: Mon, 1 Nov 2021 14:23:58 +0100
|
||||||
Subject: [PATCH 46/52] Do not create decorations when the shellSurface is not
|
Subject: [PATCH 32/40] Do not create decorations when the shellSurface is not
|
||||||
ready
|
ready
|
||||||
|
|
||||||
A cases reported that client windows try to make decorations
|
A cases reported that client windows try to make decorations
|
@ -1,7 +1,7 @@
|
|||||||
From 7200a1ad8488f157ef8ce9d5ed81a0a1c1cd1eda Mon Sep 17 00:00:00 2001
|
From 3027c9659866101c06252829d99e7597cef19a40 Mon Sep 17 00:00:00 2001
|
||||||
From: Paul Olav Tvete <paul.tvete@qt.io>
|
From: Paul Olav Tvete <paul.tvete@qt.io>
|
||||||
Date: Mon, 6 Jul 2020 14:37:35 +0200
|
Date: Mon, 6 Jul 2020 14:37:35 +0200
|
||||||
Subject: [PATCH 47/52] Use wl_surface.damage_buffer on the client side
|
Subject: [PATCH 33/40] Use wl_surface.damage_buffer on the client side
|
||||||
|
|
||||||
Prefer the newer, recommended damage_buffer when the compositor
|
Prefer the newer, recommended damage_buffer when the compositor
|
||||||
supports it.
|
supports it.
|
@ -1,7 +1,7 @@
|
|||||||
From ce2caf493a1343fbd9f8e4c85baf6a61c057f242 Mon Sep 17 00:00:00 2001
|
From 297c4e075068bffe4a396b2553afc4798c97fb4c Mon Sep 17 00:00:00 2001
|
||||||
From: Joni Poikelin <joni.poikelin@qt.io>
|
From: Joni Poikelin <joni.poikelin@qt.io>
|
||||||
Date: Thu, 3 Feb 2022 14:01:50 +0200
|
Date: Thu, 3 Feb 2022 14:01:50 +0200
|
||||||
Subject: [PATCH 48/52] Fix crash if no input method module could be loaded
|
Subject: [PATCH 34/40] Fix crash if no input method module could be loaded
|
||||||
|
|
||||||
Pick-to: 6.2 6.3 5.15
|
Pick-to: 6.2 6.3 5.15
|
||||||
Change-Id: I8f346def616606a6c5540856bd08a84ee7ed5ca2
|
Change-Id: I8f346def616606a6c5540856bd08a84ee7ed5ca2
|
@ -1,7 +1,7 @@
|
|||||||
From 214f7ab9d3384a4123f14d9f6cd0205cf0aaa794 Mon Sep 17 00:00:00 2001
|
From a97759d032a40045551546ca17300891d4067ee4 Mon Sep 17 00:00:00 2001
|
||||||
From: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
|
From: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
|
||||||
Date: Tue, 1 Feb 2022 13:05:36 +0200
|
Date: Tue, 1 Feb 2022 13:05:36 +0200
|
||||||
Subject: [PATCH 49/52] Client: Remove mWaitingForUpdateDelivery
|
Subject: [PATCH 35/40] Client: Remove mWaitingForUpdateDelivery
|
||||||
|
|
||||||
Currently, mWaitingForUpdateDelivery is shared between the main thread
|
Currently, mWaitingForUpdateDelivery is shared between the main thread
|
||||||
(doHandleFrameCallback()) and the frame callback event thread
|
(doHandleFrameCallback()) and the frame callback event thread
|
@ -1,7 +1,7 @@
|
|||||||
From 157c7f55005a6ef0e65ebb02f9b5f344848670b2 Mon Sep 17 00:00:00 2001
|
From d3b794920d643fc5d722f63ad52b91e8143c0de0 Mon Sep 17 00:00:00 2001
|
||||||
From: Weng Xuetian <wengxt@gmail.com>
|
From: Weng Xuetian <wengxt@gmail.com>
|
||||||
Date: Tue, 8 Feb 2022 07:11:25 -0800
|
Date: Tue, 8 Feb 2022 07:11:25 -0800
|
||||||
Subject: [PATCH 50/52] Cursor position == 0 should still show the cursor
|
Subject: [PATCH 36/40] Cursor position == 0 should still show the cursor
|
||||||
|
|
||||||
Otherwise the cursor would be hidden even if preedit is empty.
|
Otherwise the cursor would be hidden even if preedit is empty.
|
||||||
Amends 719a55be13bdadfa659a732755f280e276a894bd
|
Amends 719a55be13bdadfa659a732755f280e276a894bd
|
@ -1,29 +0,0 @@
|
|||||||
From eb422ab5e07498a7a8d086f6a942ee35ab3c9776 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Aleix Pol <aleixpol@kde.org>
|
|
||||||
Date: Thu, 9 Dec 2021 17:35:24 +0100
|
|
||||||
Subject: [PATCH 37/52] Fix backport, context destruction was omitted
|
|
||||||
|
|
||||||
When cherry-picking for 9df11e79b46c77d8c83f765b2a8e85b639fd55a2, this
|
|
||||||
line got removed when rebasing the patch, which created a leak.
|
|
||||||
|
|
||||||
BUG: 442844
|
|
||||||
Change-Id: Id00e8b194dcd910c5f01ce9d2cc318f96a4129a2
|
|
||||||
---
|
|
||||||
src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
|
|
||||||
index 95d1049c..683fe123 100644
|
|
||||||
--- a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
|
|
||||||
+++ b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
|
|
||||||
@@ -407,6 +407,7 @@ QWaylandGLContext::~QWaylandGLContext()
|
|
||||||
{
|
|
||||||
delete m_blitter;
|
|
||||||
m_blitter = nullptr;
|
|
||||||
+ eglDestroyContext(m_eglDisplay, m_context);
|
|
||||||
if (m_decorationsContext != EGL_NO_CONTEXT)
|
|
||||||
eglDestroyContext(m_eglDisplay, m_decorationsContext);
|
|
||||||
}
|
|
||||||
--
|
|
||||||
2.35.1
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
From 9f66cd3784421ee5dc6538630ade0cf215f656aa Mon Sep 17 00:00:00 2001
|
From 3ddd4dcb1790920ce2598ebdbe14c95bdba55005 Mon Sep 17 00:00:00 2001
|
||||||
From: Weng Xuetian <wengxt@gmail.com>
|
From: Weng Xuetian <wengxt@gmail.com>
|
||||||
Date: Wed, 22 Dec 2021 10:42:38 -0800
|
Date: Wed, 22 Dec 2021 10:42:38 -0800
|
||||||
Subject: [PATCH 51/52] Update the preedit styling mapping
|
Subject: [PATCH 37/40] Update the preedit styling mapping
|
||||||
|
|
||||||
- None mapping to no style.
|
- None mapping to no style.
|
||||||
- Default/Underline mapping to underline.
|
- Default/Underline mapping to underline.
|
@ -1,7 +1,7 @@
|
|||||||
From d6a6b727832819d118199f7016c2c401663ee370 Mon Sep 17 00:00:00 2001
|
From 971dbf2d5be743ddeb998f7461ff3e06ccb892c4 Mon Sep 17 00:00:00 2001
|
||||||
From: David Edmundson <davidedmundson@kde.org>
|
From: David Edmundson <davidedmundson@kde.org>
|
||||||
Date: Wed, 9 Feb 2022 17:20:48 +0000
|
Date: Wed, 9 Feb 2022 17:20:48 +0000
|
||||||
Subject: [PATCH 52/52] client: Simplify round trip behavior
|
Subject: [PATCH 38/40] client: Simplify round trip behavior
|
||||||
|
|
||||||
The custom event queue was removed in
|
The custom event queue was removed in
|
||||||
302d4ffb8549214eb4028dc3e47ec4ee4e12ffbd (2015) so the comment about not
|
302d4ffb8549214eb4028dc3e47ec4ee4e12ffbd (2015) so the comment about not
|
31
SOURCES/0039-Client-Fix-opaque-region-setter.patch
Normal file
31
SOURCES/0039-Client-Fix-opaque-region-setter.patch
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
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
|
||||||
|
|
||||||
|
The rect is in the global coordinate system, while the opaque region
|
||||||
|
must be in the surface local coordinate system.
|
||||||
|
|
||||||
|
Change-Id: I75042b4d779dfd4dfe610aad1f0387879f11b048
|
||||||
|
Reviewed-by: Aleix Pol Gonzalez <aleixpol@kde.org>
|
||||||
|
(cherry picked from commit f9425f573b18c0b66fd9ad9c2805e8b8b9a3ec77)
|
||||||
|
---
|
||||||
|
src/client/qwaylandwindow.cpp | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
|
||||||
|
index 949374b1..fee2ecdd 100644
|
||||||
|
--- a/src/client/qwaylandwindow.cpp
|
||||||
|
+++ b/src/client/qwaylandwindow.cpp
|
||||||
|
@@ -372,7 +372,7 @@ void QWaylandWindow::setGeometry(const QRect &rect)
|
||||||
|
mShellSurface->setWindowGeometry(windowContentGeometry());
|
||||||
|
|
||||||
|
if (isOpaque() && mMask.isEmpty())
|
||||||
|
- setOpaqueArea(rect);
|
||||||
|
+ setOpaqueArea(QRect(QPoint(0, 0), rect.size()));
|
||||||
|
}
|
||||||
|
|
||||||
|
void QWaylandWindow::resizeFromApplyConfigure(const QSize &sizeWithMargins, const QPoint &offset)
|
||||||
|
--
|
||||||
|
2.35.1
|
||||||
|
|
126
SOURCES/0040-Use-proper-dependencies-in-compile-tests.patch
Normal file
126
SOURCES/0040-Use-proper-dependencies-in-compile-tests.patch
Normal file
@ -0,0 +1,126 @@
|
|||||||
|
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
|
||||||
|
|
||||||
|
Use the dependencies as found by the "libraries" section instead of relying
|
||||||
|
on them being available in the default location (e.g. "-ldrm").
|
||||||
|
|
||||||
|
Additionally, VK_USE_PLATFORM_WAYLAND_KHR requires <wayland-client.h>, so
|
||||||
|
add the wayland-client dependency.
|
||||||
|
|
||||||
|
This fixes those tests if e.g. wayland-client headers need to be found through
|
||||||
|
pkgconfig.
|
||||||
|
|
||||||
|
This part of the code changed completely in Qt 6, so this is a totally
|
||||||
|
different patch and not a cherry-pick of 5fc2e1915c3a
|
||||||
|
("CMake: Fix qtwayland feature detection").
|
||||||
|
|
||||||
|
Fixes: QTBUG-100475
|
||||||
|
---
|
||||||
|
src/client/configure.json | 8 ++++----
|
||||||
|
src/compositor/configure.json | 34 +++++++++++++++++++++++++++++-----
|
||||||
|
2 files changed, 33 insertions(+), 9 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/client/configure.json b/src/client/configure.json
|
||||||
|
index 2f424580..29222357 100644
|
||||||
|
--- a/src/client/configure.json
|
||||||
|
+++ b/src/client/configure.json
|
||||||
|
@@ -149,8 +149,7 @@
|
||||||
|
"#endif"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
- "libs": "-ldrm",
|
||||||
|
- "use": "egl"
|
||||||
|
+ "use": "drm egl"
|
||||||
|
},
|
||||||
|
"vulkan-server-buffer": {
|
||||||
|
"label": "Vulkan Buffer Sharing",
|
||||||
|
@@ -168,7 +167,8 @@
|
||||||
|
"exportAllocInfo.handleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR;",
|
||||||
|
"return 0;"
|
||||||
|
]
|
||||||
|
- }
|
||||||
|
+ },
|
||||||
|
+ "use": "wayland-client"
|
||||||
|
},
|
||||||
|
"egl_1_5-wayland": {
|
||||||
|
"label": "EGL 1.5 with Wayland Platform",
|
||||||
|
@@ -183,7 +183,7 @@
|
||||||
|
"eglGetPlatformDisplay(EGL_PLATFORM_WAYLAND_EXT, (struct wl_display *)(nullptr), nullptr);"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
- "use": "egl"
|
||||||
|
+ "use": "egl wayland-client"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
diff --git a/src/compositor/configure.json b/src/compositor/configure.json
|
||||||
|
index bcfd5215..da95d07b 100644
|
||||||
|
--- a/src/compositor/configure.json
|
||||||
|
+++ b/src/compositor/configure.json
|
||||||
|
@@ -7,6 +7,31 @@
|
||||||
|
"testDir": "../../config.tests",
|
||||||
|
|
||||||
|
"libraries": {
|
||||||
|
+ "wayland-client": {
|
||||||
|
+ "label": "Wayland client library",
|
||||||
|
+ "headers": "wayland-version.h",
|
||||||
|
+ "test": {
|
||||||
|
+ "main": [
|
||||||
|
+ "#if WAYLAND_VERSION_MAJOR < 1",
|
||||||
|
+ "# error Wayland 1.8.0 or higher required",
|
||||||
|
+ "#endif",
|
||||||
|
+ "#if WAYLAND_VERSION_MAJOR == 1",
|
||||||
|
+ "# if WAYLAND_VERSION_MINOR < 8",
|
||||||
|
+ "# error Wayland 1.8.0 or higher required",
|
||||||
|
+ "# endif",
|
||||||
|
+ "# if WAYLAND_VERSION_MINOR == 8",
|
||||||
|
+ "# if WAYLAND_VERSION_MICRO < 0",
|
||||||
|
+ "# error Wayland 1.8.0 or higher required",
|
||||||
|
+ "# endif",
|
||||||
|
+ "# endif",
|
||||||
|
+ "#endif"
|
||||||
|
+ ]
|
||||||
|
+ },
|
||||||
|
+ "sources": [
|
||||||
|
+ { "type": "pkgConfig", "args": "wayland-client" },
|
||||||
|
+ "-lwayland-client"
|
||||||
|
+ ]
|
||||||
|
+ },
|
||||||
|
"wayland-server": {
|
||||||
|
"label": "wayland-server",
|
||||||
|
"headers": "wayland-version.h",
|
||||||
|
@@ -151,8 +176,7 @@
|
||||||
|
"#endif"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
- "libs": "-ldrm",
|
||||||
|
- "use": "egl"
|
||||||
|
+ "use": "drm egl"
|
||||||
|
},
|
||||||
|
"dmabuf-client-buffer": {
|
||||||
|
"label": "Linux Client dma-buf Buffer Sharing",
|
||||||
|
@@ -176,8 +200,7 @@
|
||||||
|
"return 0;"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
- "libs": "-ldrm",
|
||||||
|
- "use": "egl"
|
||||||
|
+ "use": "drm egl"
|
||||||
|
},
|
||||||
|
"vulkan-server-buffer": {
|
||||||
|
"label": "Vulkan Buffer Sharing",
|
||||||
|
@@ -195,7 +218,8 @@
|
||||||
|
"exportAllocInfo.handleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR;",
|
||||||
|
"return 0;"
|
||||||
|
]
|
||||||
|
- }
|
||||||
|
+ },
|
||||||
|
+ "use": "wayland-client"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
--
|
||||||
|
2.35.1
|
||||||
|
|
@ -0,0 +1,33 @@
|
|||||||
|
From 48b9dbb4d9d508895f7568531d8f0a7e63261b75 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Liang Qi <liang.qi@qt.io>
|
||||||
|
Date: Tue, 4 Jan 2022 12:30:36 +0100
|
||||||
|
Subject: [PATCH] client: set_constraint_adjustment() for popups in xdg
|
||||||
|
|
||||||
|
See also https://cgit.freedesktop.org/wayland/wayland-protocols/tree/stable/xdg-shell/xdg-shell.xml#n234 .
|
||||||
|
|
||||||
|
Kudos to Greg V for his original patch in jira.
|
||||||
|
|
||||||
|
Fixes: QTBUG-87303
|
||||||
|
Pick-to: 5.15 6.2 6.3
|
||||||
|
Done-with: Greg V <greg@unrelenting.technology>
|
||||||
|
Change-Id: I57df9aedea7cc6f0b6fa142a6fc6c3bdc98324c8
|
||||||
|
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
||||||
|
(cherry picked from commit 59a5fe99e1569421b920d99c5b20cdafcdcf43a9)
|
||||||
|
diff --git a/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp b/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp
|
||||||
|
index 1c76294..3b99c4b 100644
|
||||||
|
--- a/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp
|
||||||
|
+++ b/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp
|
||||||
|
@@ -410,6 +410,13 @@ void QWaylandXdgSurface::setPopup(QWaylandWindow *parent)
|
||||||
|
positioner->set_anchor(QtWayland::xdg_positioner::anchor_top_left);
|
||||||
|
positioner->set_gravity(QtWayland::xdg_positioner::gravity_bottom_right);
|
||||||
|
positioner->set_size(m_window->geometry().width(), m_window->geometry().height());
|
||||||
|
+ const QByteArray currentDesktop = qgetenv("XDG_CURRENT_DESKTOP");
|
||||||
|
+ if (currentDesktop != QByteArray("KDE")) {
|
||||||
|
+ positioner->set_constraint_adjustment(QtWayland::xdg_positioner::constraint_adjustment_slide_x
|
||||||
|
+ | QtWayland::xdg_positioner::constraint_adjustment_slide_y
|
||||||
|
+ | QtWayland::xdg_positioner::constraint_adjustment_flip_x
|
||||||
|
+ | QtWayland::xdg_positioner::constraint_adjustment_flip_y);
|
||||||
|
+ }
|
||||||
|
m_popup = new Popup(this, parentXdgSurface, positioner);
|
||||||
|
positioner->destroy();
|
||||||
|
delete positioner;
|
@ -4,75 +4,63 @@
|
|||||||
|
|
||||||
Summary: Qt5 - Wayland platform support and QtCompositor module
|
Summary: Qt5 - Wayland platform support and QtCompositor module
|
||||||
Name: qt5-%{qt_module}
|
Name: qt5-%{qt_module}
|
||||||
Version: 5.15.2
|
Version: 5.15.3
|
||||||
Release: 15%{?dist}
|
Release: 1%{?dist}
|
||||||
|
|
||||||
License: LGPLv3
|
License: LGPLv3
|
||||||
Url: http://www.qt.io
|
Url: http://www.qt.io
|
||||||
%global majmin %(echo %{version} | cut -d. -f1-2)
|
%global majmin %(echo %{version} | cut -d. -f1-2)
|
||||||
Source0: https://download.qt.io/official_releases/qt/%{majmin}/%{version}/submodules/%{qt_module}-everywhere-src-%{version}.tar.xz
|
Source0: https://download.qt.io/official_releases/qt/%{majmin}/%{version}/submodules/%{qt_module}-everywhere-opensource-src-%{version}.tar.xz
|
||||||
|
|
||||||
## Upstream patches
|
## Upstream patches
|
||||||
## repo: https://invent.kde.org/qt/qt/qtwayland
|
## repo: https://invent.kde.org/qt/qt/qtwayland
|
||||||
## branch: kde/5.15
|
## branch: kde/5.15
|
||||||
## git format-patch v5.15.2
|
## git format-patch v5.15.3-lts-lgpl
|
||||||
## These are already included in stock 5.15.2 tarball, referenced here for completeness
|
Patch1: 0001-Use-qWarning-and-_exit-instead-of-qFatal-for-wayland.patch
|
||||||
#Patch1: 0001-Bump-version.patch
|
Patch2: 0002-Translate-opaque-area-with-frame-margins.patch
|
||||||
#Patch2: 0002-Replace-remaining-LGPLv3-headers-in-QtWaylandComposi.patch
|
Patch3: 0003-Client-Send-exposeEvent-to-parent-on-subsurface-posi.patch
|
||||||
#Patch3: 0003-Doc-List-correct-license-information-for-the-module.patch
|
Patch4: 0004-Get-correct-decoration-margins-region.patch
|
||||||
#Patch4: 0004-Add-changes-file-for-Qt-5.15.2.patch
|
Patch5: 0005-xdgshell-Tell-the-compositor-the-screen-we-re-expect.patch
|
||||||
Patch5: 0005-Scanner-Avoid-accessing-dangling-pointers-in-destroy.patch
|
Patch6: 0006-client-Allow-QWaylandInputContext-to-accept-composed.patch
|
||||||
Patch6: 0006-Make-setting-QT_SCALE_FACTOR-work-on-Wayland.patch
|
Patch7: 0007-Client-Announce-an-output-after-receiving-more-compl.patch
|
||||||
Patch7: 0007-Do-not-try-to-eglMakeCurrent-for-unintended-case.patch
|
Patch8: 0008-Fix-issue-with-repeated-window-size-changes.patch
|
||||||
Patch8: 0008-Make-setting-QT_SCALE_FACTOR-work-on-Wayland.patch
|
Patch9: 0009-Include-locale.h-for-setlocale-LC_CTYPE.patch
|
||||||
Patch9: 0009-Ensure-that-grabbing-is-performed-in-correct-context.patch
|
Patch10: 0010-Client-Connect-drags-being-accepted-to-updating-the-.patch
|
||||||
Patch10: 0010-Fix-leaked-subsurface-wayland-items.patch
|
Patch11: 0011-Client-Disconnect-registry-listener-on-destruction.patch
|
||||||
Patch11: 0011-Use-qWarning-and-_exit-instead-of-qFatal-for-wayland.patch
|
Patch12: 0012-Client-Set-XdgShell-size-hints-before-the-first-comm.patch
|
||||||
Patch12: 0012-Fix-memory-leak-in-QWaylandGLContext.patch
|
Patch13: 0013-Fix-build.patch
|
||||||
Patch13: 0013-Client-Send-set_window_geometry-only-once-configured.patch
|
Patch14: 0014-Fix-remove-listener.patch
|
||||||
Patch14: 0014-Translate-opaque-area-with-frame-margins.patch
|
Patch15: 0015-Hook-up-queryKeyboardModifers.patch
|
||||||
Patch15: 0015-Client-Send-exposeEvent-to-parent-on-subsurface-posi.patch
|
Patch16: 0016-Do-not-update-the-mask-if-we-do-not-have-a-surface.patch
|
||||||
Patch16: 0016-Get-correct-decoration-margins-region.patch
|
Patch17: 0017-Correctly-detect-if-image-format-is-supported-by-QIm.patch
|
||||||
Patch17: 0017-xdgshell-Tell-the-compositor-the-screen-we-re-expect.patch
|
Patch18: 0018-Wayland-client-Fix-crash-when-windows-are-shown-hidd.patch
|
||||||
Patch18: 0018-Fix-compilation.patch
|
Patch19: 0019-Client-Don-t-always-recreate-frame-callbacks.patch
|
||||||
Patch19: 0019-client-Allow-QWaylandInputContext-to-accept-composed.patch
|
Patch20: 0020-Client-Always-destroy-frame-callback-in-the-actual-c.patch
|
||||||
Patch20: 0020-Client-Announce-an-output-after-receiving-more-compl.patch
|
Patch21: 0021-Fix-the-logic-for-decoding-modifiers-map-in-Wayland-.patch
|
||||||
Patch21: 0021-Fix-issue-with-repeated-window-size-changes.patch
|
Patch22: 0022-Wayland-client-use-wl_keyboard-to-determine-active-s.patch
|
||||||
Patch22: 0022-Include-locale.h-for-setlocale-LC_CTYPE.patch
|
Patch23: 0023-Client-do-not-empty-clipboard-when-a-new-popup-windo.patch
|
||||||
Patch23: 0023-Client-Connect-drags-being-accepted-to-updating-the-.patch
|
Patch24: 0024-Set-preedit-cursor-when-cursor-equals-to-0.patch
|
||||||
Patch24: 0024-Client-Disconnect-registry-listener-on-destruction.patch
|
Patch25: 0025-Client-Implement-DataDeviceV3.patch
|
||||||
Patch25: 0025-Client-Set-XdgShell-size-hints-before-the-first-comm.patch
|
Patch26: 0026-Client-Delay-deletion-of-QDrag-object-until-after-we.patch
|
||||||
Patch26: 0026-Fix-build.patch
|
Patch27: 0027-Client-Avoid-processing-of-events-when-showing-windo.patch
|
||||||
Patch27: 0027-Fix-remove-listener.patch
|
Patch28: 0028-Handle-registry_global-out-of-constructor.patch
|
||||||
Patch28: 0028-Hook-up-queryKeyboardModifers.patch
|
Patch29: 0029-Connect-flushRequest-after-forceRoundTrip.patch
|
||||||
Patch29: 0029-Do-not-update-the-mask-if-we-do-not-have-a-surface.patch
|
Patch30: 0030-Move-the-wayland-socket-polling-to-a-separate-event-.patch
|
||||||
Patch30: 0030-Correctly-detect-if-image-format-is-supported-by-QIm.patch
|
Patch31: 0031-Check-pointer-for-null-before-use-in-ASSERT.patch
|
||||||
Patch31: 0031-Wayland-client-Fix-crash-when-windows-are-shown-hidd.patch
|
Patch32: 0032-Do-not-create-decorations-when-the-shellSurface-is-n.patch
|
||||||
Patch32: 0032-Client-Don-t-always-recreate-frame-callbacks.patch
|
Patch33: 0033-Use-wl_surface.damage_buffer-on-the-client-side.patch
|
||||||
Patch33: 0033-Client-Always-destroy-frame-callback-in-the-actual-c.patch
|
Patch34: 0034-Fix-crash-if-no-input-method-module-could-be-loaded.patch
|
||||||
Patch34: 0034-Fix-the-logic-for-decoding-modifiers-map-in-Wayland-.patch
|
Patch35: 0035-Client-Remove-mWaitingForUpdateDelivery.patch
|
||||||
Patch35: 0035-Wayland-client-use-wl_keyboard-to-determine-active-s.patch
|
Patch36: 0036-Cursor-position-0-should-still-show-the-cursor.patch
|
||||||
Patch36: 0036-Client-do-not-empty-clipboard-when-a-new-popup-windo.patch
|
Patch37: 0037-Update-the-preedit-styling-mapping.patch
|
||||||
Patch37: 0037-Fix-backport-context-destruction-was-omitted.patch
|
Patch38: 0038-client-Simplify-round-trip-behavior.patch
|
||||||
Patch38: 0038-Set-preedit-cursor-when-cursor-equals-to-0.patch
|
Patch39: 0039-Client-Fix-opaque-region-setter.patch
|
||||||
Patch39: 0039-Client-Implement-DataDeviceV3.patch
|
Patch40: 0040-Use-proper-dependencies-in-compile-tests.patch
|
||||||
Patch40: 0040-Client-Delay-deletion-of-QDrag-object-until-after-we.patch
|
Patch41: 0041-Client-set-constraint-adjustments-for-popups-in-xdg.patch
|
||||||
Patch41: 0041-Client-Avoid-processing-of-events-when-showing-windo.patch
|
|
||||||
Patch42: 0042-Handle-registry_global-out-of-constructor.patch
|
|
||||||
Patch43: 0043-Connect-flushRequest-after-forceRoundTrip.patch
|
|
||||||
Patch44: 0044-Move-the-wayland-socket-polling-to-a-separate-event-.patch
|
|
||||||
Patch45: 0045-Check-pointer-for-null-before-use-in-ASSERT.patch
|
|
||||||
Patch46: 0046-Do-not-create-decorations-when-the-shellSurface-is-n.patch
|
|
||||||
Patch47: 0047-Use-wl_surface.damage_buffer-on-the-client-side.patch
|
|
||||||
Patch48: 0048-Fix-crash-if-no-input-method-module-could-be-loaded.patch
|
|
||||||
Patch49: 0049-Client-Remove-mWaitingForUpdateDelivery.patch
|
|
||||||
Patch50: 0050-Cursor-position-0-should-still-show-the-cursor.patch
|
|
||||||
Patch51: 0051-Update-the-preedit-styling-mapping.patch
|
|
||||||
Patch52: 0052-client-Simplify-round-trip-behavior.patch
|
|
||||||
|
|
||||||
# Disable for now, there is a Qt bug making this broken
|
# Disable for now, there is a Qt bug making this broken
|
||||||
# Patch52: qtwayland-decoration-support-backports-from-qt6.patch
|
# Patch102: qtwayland-decoration-support-backports-from-qt6.patch
|
||||||
Patch53: qtwayland-client-expose-toplevel-window-state.patch
|
Patch103: qtwayland-client-expose-toplevel-window-state.patch
|
||||||
|
|
||||||
# filter qml provides
|
# filter qml provides
|
||||||
%global __provides_exclude_from ^%{_qt5_archdatadir}/qml/.*\\.so$
|
%global __provides_exclude_from ^%{_qt5_archdatadir}/qml/.*\\.so$
|
||||||
@ -198,6 +186,10 @@ popd
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Mar 28 2022 Jan Grulich <jgrulich@redhat.com> - 5.15.3-1
|
||||||
|
- 5.15.3
|
||||||
|
Resolves: bz#2061372
|
||||||
|
|
||||||
* Tue Feb 15 2022 Jan Grulich <jgrulich@redhat.com> - 5.15.2-15
|
* Tue Feb 15 2022 Jan Grulich <jgrulich@redhat.com> - 5.15.2-15
|
||||||
- Sync with Fedora
|
- Sync with Fedora
|
||||||
Resolves: bz#2051384
|
Resolves: bz#2051384
|
||||||
|
Loading…
Reference in New Issue
Block a user