diff --git a/src/background.c b/src/background.c index 0c12e6e..d800626 100644 --- a/src/background.c +++ b/src/background.c @@ -175,6 +175,15 @@ handle_get_app_state (XdpImplBackground *object, { g_debug ("background: handle GetAppState"); + if (!CINNAMON_MODE) + { + g_dbus_method_invocation_return_error (invocation, + XDG_DESKTOP_PORTAL_ERROR, + XDG_DESKTOP_PORTAL_ERROR_FAILED, + "GetAppState currently only supported in Cinnamon"); + return TRUE; + } + if (app_state == NULL) app_state = get_app_state (); @@ -243,16 +252,16 @@ background_init (GDBusConnection *bus, error)) return FALSE; - portal_handlers = org_cinnamon_portal_handlers_proxy_new_sync (bus, - G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START, - "org.Cinnamon", - "/org/Cinnamon", - NULL, - error); - g_signal_connect (portal_handlers, "g-signal", G_CALLBACK (on_cinnamon_signal), helper); - - if (portal_handlers == NULL) - return FALSE; + if (CINNAMON_MODE) + { + portal_handlers = org_cinnamon_portal_handlers_proxy_new_sync (bus, + G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START, + "org.Cinnamon", + "/org/Cinnamon", + NULL, + error); + g_signal_connect (portal_handlers, "g-signal", G_CALLBACK (on_cinnamon_signal), helper); + } g_debug ("providing %s", g_dbus_interface_skeleton_get_info (helper)->name); diff --git a/src/xdg-desktop-portal-xapp.c b/src/xdg-desktop-portal-xapp.c index 9c2967b..38cc6b3 100644 --- a/src/xdg-desktop-portal-xapp.c +++ b/src/xdg-desktop-portal-xapp.c @@ -139,7 +139,7 @@ on_bus_acquired (GDBusConnection *connection, g_clear_error (&error); } - if (CINNAMON_MODE && !background_init (connection, &error)) + if (!background_init (connection, &error)) { g_warning ("error: %s\n", error->message); g_clear_error (&error);