qt5-qtwayland/0054-client-Do-not-cast-placeholder-screens-to-QWaylandSc.patch

35 lines
1.3 KiB
Diff
Raw Normal View History

2023-04-11 11:34:57 +00:00
From 18c2bcec31f68aafd66d7ec503ec6511ca804d07 Mon Sep 17 00:00:00 2001
From: Aleix Pol <aleixpol@kde.org>
Date: Mon, 6 Mar 2023 01:11:45 +0100
Subject: [PATCH 54/55] client: Do not cast placeholder screens to
QWaylandScreen
It's wrong to C-cast an object to a class that isn't theirs. Check if it
is a placeholder first.
Pick-to: 5.15 6.2 6.5
Change-Id: I45d3c423422ae6638a033fb0f4cfefc7cd4460f0
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Reviewed-by: David Edmundson <davidedmundson@kde.org>
(cherry picked from commit a53f022393a1276dbf8eccbae04cb0bd6cea0160)
---
src/client/qwaylandnativeinterface.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/client/qwaylandnativeinterface.cpp b/src/client/qwaylandnativeinterface.cpp
index bf54a1a0..9763c312 100644
--- a/src/client/qwaylandnativeinterface.cpp
+++ b/src/client/qwaylandnativeinterface.cpp
@@ -139,7 +139,7 @@ void *QWaylandNativeInterface::nativeResourceForScreen(const QByteArray &resourc
{
QByteArray lowerCaseResource = resourceString.toLower();
- if (lowerCaseResource == "output")
+ if (lowerCaseResource == "output" && !screen->handle()->isPlaceholder())
return ((QWaylandScreen *) screen->handle())->output();
return nullptr;
--
2.40.0