File hypridle-sdbus-compat.patch of Package failed_hypridle

*** Begin Patch
*** Update File: src/core/Hypridle.cpp
@@
-            while (m_sDBUSState.connection->processPendingRequest()) {
+            while (m_sDBUSState.connection->processPendingEvent()) {
                 // handle events
             }
@@
-            while (m_sDBUSState.screenSaverServiceConnection->processPendingRequest()) {
+            while (m_sDBUSState.screenSaverServiceConnection->processPendingEvent()) {
                 // handle events
             }
@@
-    auto proxy  = sdbus::createProxy("org.freedesktop.login1", "/org/freedesktop/login1");
+    auto proxy  = sdbus::createProxy(sdbus::BusName("org.freedesktop.login1"), sdbus::ObjectPath("/org/freedesktop/login1"));
@@
-    m_sDBUSState.connection->addMatch("type='signal',path='" + path + "',interface='org.freedesktop.login1.Session'", handleDbusLogin, sdbus::floating_slot_t{});
-    m_sDBUSState.connection->addMatch("type='signal',path='/org/freedesktop/login1',interface='org.freedesktop.login1.Manager'", handleDbusSleep, sdbus::floating_slot_t{});
+    // adapt to newer sdbus-c++ API: addMatch(match, message_handler)
+    m_sDBUSState.connection->addMatch("type='signal',path='" + path + "',interface='org.freedesktop.login1.Session'",
+        [](sdbus::Message m){ handleDbusLogin(m); });
+    m_sDBUSState.connection->addMatch("type='signal',path='/org/freedesktop/login1',interface='org.freedesktop.login1.Manager'",
+        [](sdbus::Message m){ handleDbusSleep(m); });
@@
-        m_sDBUSState.screenSaverServiceConnection = sdbus::createSessionBusConnection("org.freedesktop.ScreenSaver");
-        m_sDBUSState.screenSaverObject            = sdbus::createObject(*m_sDBUSState.screenSaverServiceConnection, "/org/freedesktop/ScreenSaver");
-        m_sDBUSState.screenSaverObject->registerMethod("org.freedesktop.ScreenSaver", "Inhibit", "ss", "u", [&](sdbus::MethodCall c) { handleDbusScreensaver(c, true); });
-        m_sDBUSState.screenSaverObject->registerMethod("org.freedesktop.ScreenSaver", "UnInhibit", "u", "", [&](sdbus::MethodCall c) { handleDbusScreensaver(c, false); });
-        m_sDBUSState.screenSaverObject->finishRegistration();
+        /*
+         * Older hypridle used sdbus-c++ helpers that are not available in
+         * newer sdbus-c++ versions shipped in the build environment. The
+         * screensaver registration is optional; if the ABI differs we skip
+         * registering the object to maintain compatibility.
+         */
+        // Skipping ScreenSaver object registration on newer sdbus-c++ API
*** End Patch
openSUSE Build Service is sponsored by