diff options
| author | Colomban Wendling <[email protected]> | 2025-11-17 17:04:37 +0100 |
|---|---|---|
| committer | Luke from DC <[email protected]> | 2025-12-18 08:11:04 +0000 |
| commit | bab0d69dcae81e1c90ee166db7e9748225408f3b (patch) | |
| tree | eb53cd3b21ef6962993d5c99d91796a25300275c /src | |
| parent | 47372146b4c28d8edce224b3b14336d2cdc7276c (diff) | |
| download | mate-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.c | 27 |
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); |
