summaryrefslogtreecommitdiff
path: root/x11/plasma6-layer-shell-qt/files/patch-src_qwaylandlayersurface.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'x11/plasma6-layer-shell-qt/files/patch-src_qwaylandlayersurface.cpp')
-rw-r--r--x11/plasma6-layer-shell-qt/files/patch-src_qwaylandlayersurface.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/x11/plasma6-layer-shell-qt/files/patch-src_qwaylandlayersurface.cpp b/x11/plasma6-layer-shell-qt/files/patch-src_qwaylandlayersurface.cpp
new file mode 100644
index 000000000000..264ac398bdcd
--- /dev/null
+++ b/x11/plasma6-layer-shell-qt/files/patch-src_qwaylandlayersurface.cpp
@@ -0,0 +1,17 @@
+Fix the crash that happens when right-clicking the desktop surface
+
+--- src/qwaylandlayersurface.cpp.orig 2025-07-15 09:53:41 UTC
++++ src/qwaylandlayersurface.cpp
+@@ -113,10 +113,8 @@ void QWaylandLayerSurface::attachPopup(QtWaylandClient
+
+ void QWaylandLayerSurface::attachPopup(QtWaylandClient::QWaylandShellSurface *popup)
+ {
+- std::any anyRole = popup->surfaceRole();
+-
+- if (auto role = std::any_cast<::xdg_popup *>(&anyRole)) {
+- get_popup(*role);
++ if (auto role = popup->nativeResource("xdg_popup")) {
++ get_popup(reinterpret_cast<struct ::xdg_popup*>(role));
+ } else {
+ qCWarning(LAYERSHELLQT) << "Cannot attach popup of unknown type";
+ }