Upstream backports

- a11y - fix race condition on atspi startup on Wayland
This commit is contained in:
Jan Grulich 2023-11-06 09:14:27 +01:00
parent 66655b0bf6
commit a19a7d36f9
2 changed files with 43 additions and 1 deletions

View File

@ -38,7 +38,7 @@ BuildRequires: pkgconfig(libsystemd)
Name: qt6-qtbase Name: qt6-qtbase
Summary: Qt6 - QtBase components Summary: Qt6 - QtBase components
Version: 6.6.0 Version: 6.6.0
Release: 3%{?dist} Release: 4%{?dist}
License: LGPL-3.0-only OR GPL-3.0-only WITH Qt-GPL-exception-1.0 License: LGPL-3.0-only OR GPL-3.0-only WITH Qt-GPL-exception-1.0
Url: http://qt-project.org/ Url: http://qt-project.org/
@ -97,6 +97,7 @@ Patch100: qtbase-use-qgnomeplatform-as-default-platform-theme-on-gnome.patch
%endif %endif
## upstream patches ## upstream patches
Patch200: qtbase-a11y-fix-race-condition-on-atspi-startup-on-wayland.patch
# Do not check any files in %%{_qt6_plugindir}/platformthemes/ for requires. # Do not check any files in %%{_qt6_plugindir}/platformthemes/ for requires.
# Those themes are there for platform integration. If the required libraries are # Those themes are there for platform integration. If the required libraries are
@ -833,6 +834,10 @@ make check -k ||:
%changelog %changelog
* Mon Nov 06 2023 Jan Grulich <jgrulich@redhat.com> - 6.6.0-4
- Upstream backports
- a11y - fix race condition on atspi startup on Wayland
* Mon Oct 23 2023 Jan Grulich <jgrulich@redhat.com> - 6.6.0-3 * Mon Oct 23 2023 Jan Grulich <jgrulich@redhat.com> - 6.6.0-3
- Do not use tslib on RHEL builds - Do not use tslib on RHEL builds

View File

@ -0,0 +1,37 @@
From 197e5915585e8978e8b98a861f71f2d22b0d930e Mon Sep 17 00:00:00 2001
From: Harald Sitter <sitter@kde.org>
Date: Tue, 01 Aug 2023 13:56:24 +0200
Subject: [PATCH] a11y: fix race condition on atspi startup on Wayland
This amends db346e711c9af50566c234cfc21199680e6cb499 .
Previously we could race between dbus connecting and our "manual"
enabled call since we didn't take into account whether dbus is
connected or not.
This lead to scenarios where opening an application (in particular under
Wayland) would result in the application not being able to register on
the a11y bus because registration was attempted too early.
By simply taking connectedness into account we'll make sure to not
run registration too early anymore.
Pick-to: 6.5
Change-Id: I46a3c0b57f8a0c83d3e5fae9e355c2061954031f
Reviewed-by: Liang Qi <liang.qi@qt.io>
(cherry picked from commit 918fed39156c90540a12557c7a6630ae3d7d841e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
---
diff --git a/src/gui/accessible/linux/qspiaccessiblebridge.cpp b/src/gui/accessible/linux/qspiaccessiblebridge.cpp
index f59d8be..8a3f82e 100644
--- a/src/gui/accessible/linux/qspiaccessiblebridge.cpp
+++ b/src/gui/accessible/linux/qspiaccessiblebridge.cpp
@@ -38,7 +38,7 @@
// But do that only on next loop, once dbus is really settled.
QTimer::singleShot(
0, this, [this]{
- if (dbusConnection->isEnabled())
+ if (dbusConnection->isEnabled() && dbusConnection->connection().isConnected())
enabledChanged(true);
});
}