static void _button_clicked_cb (MxButton *button, gpointer userdata) { PengeAppTilePrivate *priv = GET_PRIVATE (userdata); GError *error = NULL; gchar *path = NULL; path = g_filename_from_uri (priv->bookmark, NULL, &error); if (!path) { if (error) { g_warning (G_STRLOC ": Error getting path from uri: %s", error->message); g_clear_error (&error); } return; } if (penge_utils_launch_for_desktop_file ((ClutterActor *)button, path)) penge_utils_signal_activated ((ClutterActor *)button); else g_warning (G_STRLOC ": Unable to launch for desktop file: %s", path); g_free (path); }
static void _launch_desktop_file (ClutterActor *actor, const gchar *desktop_id) { GDesktopAppInfo *app_info; const gchar *path; app_info = g_desktop_app_info_new (desktop_id); if (!app_info) return; path = g_desktop_app_info_get_filename (app_info); if (penge_utils_launch_for_desktop_file (actor, path)) penge_utils_signal_activated (actor); g_object_unref (app_info); }