File gammaray-qt69.patch of Package gammaray

From 73a102f50f0c4f9482f90b84814aa9cd812c3136 Mon Sep 17 00:00:00 2001
From: Michael Weghorn <m.weghorn@posteo.de>
Date: Fri, 20 Dec 2024 11:47:11 +0100
Subject: [PATCH] Fix build for Qt >= 6.9

QMutableTouchEvent::from was removed in qtbase commit [1]

    commit e9cabe22c1e7ae64e48690b7dada2b83161e6340
    Author: Allan Sandfeld Jensen <allan.jensen@qt.io>
    Date:   Tue Nov 12 16:25:28 2024 +0100

        QMutable{Touch,SinglePoint}Event: Remove unsafe from() getters

        The getters were used to convert types in an undefined manner.
        No usage of the methods outside of qtbase (Qt and KDE searched)
        has been found, and qtbase is already fixed.

        Change-Id: I9fe77de842a2e0023b011e6eee257d6c6a28a3f5
        Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>

For Qt >= 6.9, use the API introduced in [2]

    commit acc3ef6653c710b509e9321663986910f88ac3b4
    Author: Allan Sandfeld Jensen <allan.jensen@qt.io>
    Date:   Tue Nov 12 12:34:15 2024 +0100

        Fix ubsan warning of illegal cast and illegal method call

        Avoid casting an event to a type it does not have. Instead use a static accessor class.

        Pick-to: 6.8
        Task-number: QTBUG-99563
        Change-Id: Ideb11779b1510cd10a27fb8bc40bcc8e4849bf15
        Reviewed-by: Marc Mutz <marc.mutz@qt.io>

instead.

[1] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=e9cabe22c1e7ae64e48690b7dada2b83161e6340
[2] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=acc3ef6653c710b509e9321663986910f88ac3b4
---
 core/remoteviewserver.cpp | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/core/remoteviewserver.cpp b/core/remoteviewserver.cpp
index 955bea2aed..b6d3804708 100644
--- a/core/remoteviewserver.cpp
+++ b/core/remoteviewserver.cpp
@@ -188,8 +188,12 @@ void RemoteViewServer::sendTouchEvent(int type, int touchDeviceType, int deviceC
     const QEventPoint::States states(touchPointStates);
     QTouchEvent event(QEvent::Type(type), m_touchDevice.get(), Qt::KeyboardModifiers(modifiers), states, touchPoints);
 
+#if (QT_VERSION >= QT_VERSION_CHECK(6, 9, 0))
+    QMutableTouchEvent::setTarget(&event, m_eventReceiver);
+#else
     auto *mut = QMutableTouchEvent::from(&event);
     mut->setTarget(m_eventReceiver);
+#endif
 #else
     if (!m_touchDevice) {
         // create our own touch device, the system may not have one already, or it may not have
openSUSE Build Service is sponsored by