summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorColomban Wendling <[email protected]>2025-11-17 17:04:37 +0100
committerLuke from DC <[email protected]>2025-12-18 08:11:04 +0000
commitbab0d69dcae81e1c90ee166db7e9748225408f3b (patch)
treeeb53cd3b21ef6962993d5c99d91796a25300275c /src
parent47372146b4c28d8edce224b3b14336d2cdc7276c (diff)
downloadmate-screensaver-bab0d69dcae81e1c90ee166db7e9748225408f3b.tar.bz2
mate-screensaver-bab0d69dcae81e1c90ee166db7e9748225408f3b.tar.xz
Register DBus interface on historical KDE path /ScreenSaver
For better compatibility.
Diffstat (limited to 'src')
-rw-r--r--src/gs-listener-dbus.c27
1 files changed, 19 insertions, 8 deletions
diff --git a/src/gs-listener-dbus.c b/src/gs-listener-dbus.c
index aa666a3..1343533 100644
--- a/src/gs-listener-dbus.c
+++ b/src/gs-listener-dbus.c
@@ -57,6 +57,7 @@ static DBusHandlerResult gs_listener_message_handler (DBusConnection *connec
#define GS_FDO_LISTENER_SERVICE "org.freedesktop.ScreenSaver"
#define GS_FDO_LISTENER_PATH "/org/freedesktop/ScreenSaver"
+#define GS_FDO_LISTENER_PATH2 "/ScreenSaver" /* Historical KDE path for compatibility */
#define GS_FDO_LISTENER_INTERFACE "org.freedesktop.ScreenSaver"
/* systemd logind */
@@ -2337,14 +2338,24 @@ gs_listener_acquire (GSListener *listener,
"another owner", GS_FDO_LISTENER_SERVICE);
}
dbus_error_free (&buserror);
- /* now if we acquired the FDO name, register the path */
- if (fdo_acquired != -1 &&
- ! dbus_connection_register_object_path (listener->priv->connection,
- GS_FDO_LISTENER_PATH,
- &gs_listener_vtable,
- listener))
- {
- g_warning ("Failed to register DBus path %s", GS_FDO_LISTENER_PATH);
+ /* now if we acquired the FDO name, register the paths */
+ if (fdo_acquired != -1)
+ {
+ const gchar *paths[] = {
+ GS_FDO_LISTENER_PATH,
+ GS_FDO_LISTENER_PATH2
+ };
+
+ for (guint i = 0; i < G_N_ELEMENTS (paths); i++)
+ {
+ if (! dbus_connection_register_object_path (listener->priv->connection,
+ paths[i],
+ &gs_listener_vtable,
+ listener))
+ {
+ g_warning ("Failed to register DBus path %s", paths[i]);
+ }
+ }
}
dbus_connection_add_filter (listener->priv->connection, listener_dbus_filter_function, listener, NULL);