diff options
Diffstat (limited to 'src/mpris2-interfaces.c')
-rw-r--r-- | src/mpris2-interfaces.c | 124 |
1 files changed, 88 insertions, 36 deletions
diff --git a/src/mpris2-interfaces.c b/src/mpris2-interfaces.c index b288a8f..d5d0bce 100644 --- a/src/mpris2-interfaces.c +++ b/src/mpris2-interfaces.c @@ -1,4 +1,4 @@ -/* mpris2-interfaces.c generated by valac 0.12.1, the Vala compiler +/* mpris2-interfaces.c generated by valac 0.14.2, the Vala compiler * generated from mpris2-interfaces.vala, do not modify */ /* @@ -57,6 +57,7 @@ typedef struct _PlaylistDetails PlaylistDetails; #define TYPE_ACTIVE_PLAYLIST_CONTAINER (active_playlist_container_get_type ()) typedef struct _ActivePlaylistContainer ActivePlaylistContainer; +#define _playlist_details_free0(var) ((var == NULL) ? NULL : (var = (playlist_details_free (var), NULL))) #define TYPE_MPRIS_PLAYLISTS (mpris_playlists_get_type ()) #define MPRIS_PLAYLISTS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MPRIS_PLAYLISTS, MprisPlaylists)) @@ -114,14 +115,14 @@ struct _PlaylistDetails { struct _ActivePlaylistContainer { gboolean valid; - PlaylistDetails details; + PlaylistDetails* details; }; struct _MprisPlaylistsIface { GTypeInterface parent_iface; void (*ActivatePlaylist) (MprisPlaylists* self, const char* playlist_id, GAsyncReadyCallback _callback_, gpointer _user_data_); void (*ActivatePlaylist_finish) (MprisPlaylists* self, GAsyncResult* _res_, GError** error); - void (*GetPlaylists) (MprisPlaylists* self, guint32 index, guint32 max_count, const gchar* order, gboolean reverse_order, GAsyncReadyCallback _callback_, gpointer _user_data_); + void (*GetPlaylists) (MprisPlaylists* self, gint32 index, guint32 max_count, const gchar* order, gboolean reverse_order, GAsyncReadyCallback _callback_, gpointer _user_data_); PlaylistDetails* (*GetPlaylists_finish) (MprisPlaylists* self, GAsyncResult* _res_, int* result_length1, GError** error); gchar** (*get_Orderings) (MprisPlaylists* self, int* result_length1); void (*set_Orderings) (MprisPlaylists* self, gchar** value, int value_length1); @@ -256,7 +257,7 @@ guint mpris_playlists_register_object (void* object, GDBusConnection* connection GType mpris_playlists_get_type (void) G_GNUC_CONST; void mpris_playlists_ActivatePlaylist (MprisPlaylists* self, const char* playlist_id, GAsyncReadyCallback _callback_, gpointer _user_data_); void mpris_playlists_ActivatePlaylist_finish (MprisPlaylists* self, GAsyncResult* _res_, GError** error); -void mpris_playlists_GetPlaylists (MprisPlaylists* self, guint32 index, guint32 max_count, const gchar* order, gboolean reverse_order, GAsyncReadyCallback _callback_, gpointer _user_data_); +void mpris_playlists_GetPlaylists (MprisPlaylists* self, gint32 index, guint32 max_count, const gchar* order, gboolean reverse_order, GAsyncReadyCallback _callback_, gpointer _user_data_); PlaylistDetails* mpris_playlists_GetPlaylists_finish (MprisPlaylists* self, GAsyncResult* _res_, int* result_length1, GError** error); gchar** mpris_playlists_get_Orderings (MprisPlaylists* self, int* result_length1); void mpris_playlists_set_Orderings (MprisPlaylists* self, gchar** value, int value_length1); @@ -269,7 +270,7 @@ static void mpris_playlists_proxy_g_signal (GDBusProxy* proxy, const gchar* send static void _dbus_handle_mpris_playlists_playlist_changed (MprisPlaylists* self, GVariant* parameters); static void mpris_playlists_proxy_ActivatePlaylist_async (MprisPlaylists* self, const char* playlist_id, GAsyncReadyCallback _callback_, gpointer _user_data_); static void mpris_playlists_proxy_ActivatePlaylist_finish (MprisPlaylists* self, GAsyncResult* _res_, GError** error); -static void mpris_playlists_proxy_GetPlaylists_async (MprisPlaylists* self, guint32 index, guint32 max_count, const gchar* order, gboolean reverse_order, GAsyncReadyCallback _callback_, gpointer _user_data_); +static void mpris_playlists_proxy_GetPlaylists_async (MprisPlaylists* self, gint32 index, guint32 max_count, const gchar* order, gboolean reverse_order, GAsyncReadyCallback _callback_, gpointer _user_data_); static PlaylistDetails* mpris_playlists_proxy_GetPlaylists_finish (MprisPlaylists* self, GAsyncResult* _res_, int* result_length1, GError** error); static gchar** mpris_playlists_dbus_proxy_get_Orderings (MprisPlaylists* self, int* result_length1); static void mpris_playlists_dbus_proxy_set_Orderings (MprisPlaylists* self, gchar** value, int value_length1); @@ -341,7 +342,7 @@ static const GDBusArgInfo _mpris_playlists_dbus_arg_info_ActivatePlaylist_playli static const GDBusArgInfo * const _mpris_playlists_dbus_arg_info_ActivatePlaylist_in[] = {&_mpris_playlists_dbus_arg_info_ActivatePlaylist_playlist_id, NULL}; static const GDBusArgInfo * const _mpris_playlists_dbus_arg_info_ActivatePlaylist_out[] = {NULL}; static const GDBusMethodInfo _mpris_playlists_dbus_method_info_ActivatePlaylist = {-1, "ActivatePlaylist", (GDBusArgInfo **) (&_mpris_playlists_dbus_arg_info_ActivatePlaylist_in), (GDBusArgInfo **) (&_mpris_playlists_dbus_arg_info_ActivatePlaylist_out)}; -static const GDBusArgInfo _mpris_playlists_dbus_arg_info_GetPlaylists_index = {-1, "index", "u"}; +static const GDBusArgInfo _mpris_playlists_dbus_arg_info_GetPlaylists_index = {-1, "index", "i"}; static const GDBusArgInfo _mpris_playlists_dbus_arg_info_GetPlaylists_max_count = {-1, "max_count", "u"}; static const GDBusArgInfo _mpris_playlists_dbus_arg_info_GetPlaylists_order = {-1, "order", "s"}; static const GDBusArgInfo _mpris_playlists_dbus_arg_info_GetPlaylists_reverse_order = {-1, "reverse_order", "b"}; @@ -382,51 +383,61 @@ void mpris_root_Raise_finish (MprisRoot* self, GAsyncResult* _res_, GError** err gboolean mpris_root_get_HasTracklist (MprisRoot* self) { + g_return_val_if_fail (self != NULL, FALSE); return MPRIS_ROOT_GET_INTERFACE (self)->get_HasTracklist (self); } void mpris_root_set_HasTracklist (MprisRoot* self, gboolean value) { + g_return_if_fail (self != NULL); MPRIS_ROOT_GET_INTERFACE (self)->set_HasTracklist (self, value); } gboolean mpris_root_get_CanQuit (MprisRoot* self) { + g_return_val_if_fail (self != NULL, FALSE); return MPRIS_ROOT_GET_INTERFACE (self)->get_CanQuit (self); } void mpris_root_set_CanQuit (MprisRoot* self, gboolean value) { + g_return_if_fail (self != NULL); MPRIS_ROOT_GET_INTERFACE (self)->set_CanQuit (self, value); } gboolean mpris_root_get_CanRaise (MprisRoot* self) { + g_return_val_if_fail (self != NULL, FALSE); return MPRIS_ROOT_GET_INTERFACE (self)->get_CanRaise (self); } void mpris_root_set_CanRaise (MprisRoot* self, gboolean value) { + g_return_if_fail (self != NULL); MPRIS_ROOT_GET_INTERFACE (self)->set_CanRaise (self, value); } gchar* mpris_root_get_Identity (MprisRoot* self) { + g_return_val_if_fail (self != NULL, NULL); return MPRIS_ROOT_GET_INTERFACE (self)->get_Identity (self); } void mpris_root_set_Identity (MprisRoot* self, const gchar* value) { + g_return_if_fail (self != NULL); MPRIS_ROOT_GET_INTERFACE (self)->set_Identity (self, value); } gchar* mpris_root_get_DesktopEntry (MprisRoot* self) { + g_return_val_if_fail (self != NULL, NULL); return MPRIS_ROOT_GET_INTERFACE (self)->get_DesktopEntry (self); } void mpris_root_set_DesktopEntry (MprisRoot* self, const gchar* value) { + g_return_if_fail (self != NULL); MPRIS_ROOT_GET_INTERFACE (self)->set_DesktopEntry (self, value); } @@ -875,7 +886,7 @@ static GVariant* _dbus_mpris_root_get_Identity (MprisRoot* self) { GVariant* _reply; result = mpris_root_get_Identity (self); _reply = g_variant_new_string (result); - _g_free0 ( result); + _g_free0 (result); return _reply; } @@ -885,7 +896,7 @@ static GVariant* _dbus_mpris_root_get_DesktopEntry (MprisRoot* self) { GVariant* _reply; result = mpris_root_get_DesktopEntry (self); _reply = g_variant_new_string (result); - _g_free0 ( result); + _g_free0 (result); return _reply; } @@ -1038,31 +1049,37 @@ void mpris_player_Seek_finish (MprisPlayer* self, GAsyncResult* _res_, GError** GHashTable* mpris_player_get_Metadata (MprisPlayer* self) { + g_return_val_if_fail (self != NULL, NULL); return MPRIS_PLAYER_GET_INTERFACE (self)->get_Metadata (self); } void mpris_player_set_Metadata (MprisPlayer* self, GHashTable* value) { + g_return_if_fail (self != NULL); MPRIS_PLAYER_GET_INTERFACE (self)->set_Metadata (self, value); } gint32 mpris_player_get_Position (MprisPlayer* self) { + g_return_val_if_fail (self != NULL, 0); return MPRIS_PLAYER_GET_INTERFACE (self)->get_Position (self); } void mpris_player_set_Position (MprisPlayer* self, gint32 value) { + g_return_if_fail (self != NULL); MPRIS_PLAYER_GET_INTERFACE (self)->set_Position (self, value); } gchar* mpris_player_get_PlaybackStatus (MprisPlayer* self) { + g_return_val_if_fail (self != NULL, NULL); return MPRIS_PLAYER_GET_INTERFACE (self)->get_PlaybackStatus (self); } void mpris_player_set_PlaybackStatus (MprisPlayer* self, const gchar* value) { + g_return_if_fail (self != NULL); MPRIS_PLAYER_GET_INTERFACE (self)->set_PlaybackStatus (self, value); } @@ -1071,7 +1088,8 @@ static void g_cclosure_user_marshal_VOID__INT64 (GClosure * closure, GValue * re typedef void (*GMarshalFunc_VOID__INT64) (gpointer data1, gint64 arg_1, gpointer data2); register GMarshalFunc_VOID__INT64 callback; register GCClosure * cc; - register gpointer data1, data2; + register gpointer data1; + register gpointer data2; cc = (GCClosure *) closure; g_return_if_fail (n_param_values == 2); if (G_CCLOSURE_SWAP_DATA (closure)) { @@ -1583,7 +1601,7 @@ static GVariant* _dbus_mpris_player_get_Metadata (MprisPlayer* self) { g_variant_builder_add (&_tmp10_, "{?*}", g_variant_new_string (_key), g_variant_new_variant (_value)); } _reply = g_variant_builder_end (&_tmp10_); - _g_hash_table_unref0 ( result); + _g_hash_table_unref0 (result); return _reply; } @@ -1602,7 +1620,7 @@ static GVariant* _dbus_mpris_player_get_PlaybackStatus (MprisPlayer* self) { GVariant* _reply; result = mpris_player_get_PlaybackStatus (self); _reply = g_variant_new_string (result); - _g_free0 ( result); + _g_free0 (result); return _reply; } @@ -1707,6 +1725,7 @@ guint mpris_player_register_object (gpointer object, GDBusConnection* connection static void _mpris_player_unregister_object (gpointer user_data) { gpointer* data; data = user_data; + g_signal_handlers_disconnect_by_func (data[0], _dbus_mpris_player_seeked, data); g_object_unref (data[0]); g_object_unref (data[1]); g_free (data[2]); @@ -1715,9 +1734,24 @@ static void _mpris_player_unregister_object (gpointer user_data) { void playlist_details_copy (const PlaylistDetails* self, PlaylistDetails* dest) { - dest->path = g_strdup (self->path); - dest->name = g_strdup (self->name); - dest->icon_path = g_strdup (self->icon_path); + const char* _tmp0_; + char* _tmp1_; + const gchar* _tmp2_; + gchar* _tmp3_; + const gchar* _tmp4_; + gchar* _tmp5_; + _tmp0_ = (*self).path; + _tmp1_ = g_strdup (_tmp0_); + _g_free0 ((*dest).path); + (*dest).path = _tmp1_; + _tmp2_ = (*self).name; + _tmp3_ = g_strdup (_tmp2_); + _g_free0 ((*dest).name); + (*dest).name = _tmp3_; + _tmp4_ = (*self).icon_path; + _tmp5_ = g_strdup (_tmp4_); + _g_free0 ((*dest).icon_path); + (*dest).icon_path = _tmp5_; } @@ -1753,16 +1787,26 @@ GType playlist_details_get_type (void) { } +static gpointer _playlist_details_dup0 (gpointer self) { + return self ? playlist_details_dup (self) : NULL; +} + + void active_playlist_container_copy (const ActivePlaylistContainer* self, ActivePlaylistContainer* dest) { - PlaylistDetails _tmp0_ = {0}; - dest->valid = self->valid; - playlist_details_copy (&self->details, &_tmp0_); - dest->details = _tmp0_; + gboolean _tmp0_; + PlaylistDetails* _tmp1_; + PlaylistDetails* _tmp2_; + _tmp0_ = (*self).valid; + (*dest).valid = _tmp0_; + _tmp1_ = (*self).details; + _tmp2_ = _playlist_details_dup0 (_tmp1_); + _playlist_details_free0 ((*dest).details); + (*dest).details = _tmp2_; } void active_playlist_container_destroy (ActivePlaylistContainer* self) { - playlist_details_destroy (&(*self).details); + _playlist_details_free0 ((*self).details); } @@ -1801,7 +1845,7 @@ void mpris_playlists_ActivatePlaylist_finish (MprisPlaylists* self, GAsyncResult } -void mpris_playlists_GetPlaylists (MprisPlaylists* self, guint32 index, guint32 max_count, const gchar* order, gboolean reverse_order, GAsyncReadyCallback _callback_, gpointer _user_data_) { +void mpris_playlists_GetPlaylists (MprisPlaylists* self, gint32 index, guint32 max_count, const gchar* order, gboolean reverse_order, GAsyncReadyCallback _callback_, gpointer _user_data_) { MPRIS_PLAYLISTS_GET_INTERFACE (self)->GetPlaylists (self, index, max_count, order, reverse_order, _callback_, _user_data_); } @@ -1812,31 +1856,37 @@ PlaylistDetails* mpris_playlists_GetPlaylists_finish (MprisPlaylists* self, GAsy gchar** mpris_playlists_get_Orderings (MprisPlaylists* self, int* result_length1) { + g_return_val_if_fail (self != NULL, NULL); return MPRIS_PLAYLISTS_GET_INTERFACE (self)->get_Orderings (self, result_length1); } void mpris_playlists_set_Orderings (MprisPlaylists* self, gchar** value, int value_length1) { + g_return_if_fail (self != NULL); MPRIS_PLAYLISTS_GET_INTERFACE (self)->set_Orderings (self, value, value_length1); } guint32 mpris_playlists_get_PlaylistCount (MprisPlaylists* self) { + g_return_val_if_fail (self != NULL, 0U); return MPRIS_PLAYLISTS_GET_INTERFACE (self)->get_PlaylistCount (self); } void mpris_playlists_set_PlaylistCount (MprisPlaylists* self, guint32 value) { + g_return_if_fail (self != NULL); MPRIS_PLAYLISTS_GET_INTERFACE (self)->set_PlaylistCount (self, value); } void mpris_playlists_get_ActivePlaylist (MprisPlaylists* self, ActivePlaylistContainer* result) { + g_return_if_fail (self != NULL); MPRIS_PLAYLISTS_GET_INTERFACE (self)->get_ActivePlaylist (self, result); } void mpris_playlists_set_ActivePlaylist (MprisPlaylists* self, ActivePlaylistContainer* value) { + g_return_if_fail (self != NULL); MPRIS_PLAYLISTS_GET_INTERFACE (self)->set_ActivePlaylist (self, value); } @@ -1845,7 +1895,8 @@ static void g_cclosure_user_marshal_VOID__BOXED (GClosure * closure, GValue * re typedef void (*GMarshalFunc_VOID__BOXED) (gpointer data1, gpointer arg_1, gpointer data2); register GMarshalFunc_VOID__BOXED callback; register GCClosure * cc; - register gpointer data1, data2; + register gpointer data1; + register gpointer data2; cc = (GCClosure *) closure; g_return_if_fail (n_param_values == 2); if (G_CCLOSURE_SWAP_DATA (closure)) { @@ -1959,14 +2010,14 @@ static void mpris_playlists_proxy_ActivatePlaylist_finish (MprisPlaylists* self, } -static void mpris_playlists_proxy_GetPlaylists_async (MprisPlaylists* self, guint32 index, guint32 max_count, const gchar* order, gboolean reverse_order, GAsyncReadyCallback _callback_, gpointer _user_data_) { +static void mpris_playlists_proxy_GetPlaylists_async (MprisPlaylists* self, gint32 index, guint32 max_count, const gchar* order, gboolean reverse_order, GAsyncReadyCallback _callback_, gpointer _user_data_) { GDBusMessage *_message; GVariant *_arguments; GVariantBuilder _arguments_builder; G_IO_ERROR; _message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.mpris.MediaPlayer2.Playlists", "GetPlaylists"); g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE); - g_variant_builder_add_value (&_arguments_builder, g_variant_new_uint32 (index)); + g_variant_builder_add_value (&_arguments_builder, g_variant_new_int32 (index)); g_variant_builder_add_value (&_arguments_builder, g_variant_new_uint32 (max_count)); g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (order)); g_variant_builder_add_value (&_arguments_builder, g_variant_new_boolean (reverse_order)); @@ -2202,7 +2253,7 @@ static void mpris_playlists_dbus_proxy_get_ActivePlaylist (MprisPlaylists* self, _tmp47_ = g_variant_iter_next_value (&_tmp44_); _tmp43_.icon_path = g_variant_dup_string (_tmp47_, NULL); g_variant_unref (_tmp47_); - _tmp39_.details = _tmp43_; + _tmp39_.details = g_memdup (&_tmp43_, sizeof (PlaylistDetails)); g_variant_unref (_tmp42_); *result = _tmp39_; g_variant_unref (_inner_reply); @@ -2223,9 +2274,9 @@ static void mpris_playlists_dbus_proxy_set_ActivePlaylist (MprisPlaylists* self, g_variant_builder_init (&_tmp48_, G_VARIANT_TYPE_TUPLE); g_variant_builder_add_value (&_tmp48_, g_variant_new_boolean ((*value).valid)); g_variant_builder_init (&_tmp49_, G_VARIANT_TYPE_TUPLE); - g_variant_builder_add_value (&_tmp49_, g_variant_new_object_path ((*value).details.path)); - g_variant_builder_add_value (&_tmp49_, g_variant_new_string ((*value).details.name)); - g_variant_builder_add_value (&_tmp49_, g_variant_new_string ((*value).details.icon_path)); + g_variant_builder_add_value (&_tmp49_, g_variant_new_object_path ((*(*value).details).path)); + g_variant_builder_add_value (&_tmp49_, g_variant_new_string ((*(*value).details).name)); + g_variant_builder_add_value (&_tmp49_, g_variant_new_string ((*(*value).details).icon_path)); g_variant_builder_add_value (&_tmp48_, g_variant_builder_end (&_tmp49_)); g_variant_builder_add_value (&_arguments_builder, g_variant_builder_end (&_tmp48_)); g_variant_builder_close (&_arguments_builder); @@ -2289,7 +2340,7 @@ static void _dbus_mpris_playlists_ActivatePlaylist_ready (GObject * source_objec static void _dbus_mpris_playlists_GetPlaylists (MprisPlaylists* self, GVariant* parameters, GDBusMethodInvocation* invocation) { GVariantIter _arguments_iter; - guint32 index = 0U; + gint32 index = 0; GVariant* _tmp51_; guint32 max_count = 0U; GVariant* _tmp52_; @@ -2299,7 +2350,7 @@ static void _dbus_mpris_playlists_GetPlaylists (MprisPlaylists* self, GVariant* GVariant* _tmp54_; g_variant_iter_init (&_arguments_iter, parameters); _tmp51_ = g_variant_iter_next_value (&_arguments_iter); - index = g_variant_get_uint32 (_tmp51_); + index = g_variant_get_int32 (_tmp51_); g_variant_unref (_tmp51_); _tmp52_ = g_variant_iter_next_value (&_arguments_iter); max_count = g_variant_get_uint32 (_tmp52_); @@ -2357,7 +2408,7 @@ static void _dbus_mpris_playlists_GetPlaylists_ready (GObject * source_object, G _tmp55_++; } g_variant_builder_add_value (&_reply_builder, g_variant_builder_end (&_tmp56_)); - result = (_vala_PlaylistDetails_array_free ( result, result_length1), NULL); + result = (_vala_PlaylistDetails_array_free (result, result_length1), NULL); _reply = g_variant_builder_end (&_reply_builder); g_dbus_message_set_body (_reply_message, _reply); g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL); @@ -2396,7 +2447,7 @@ static GVariant* _dbus_mpris_playlists_get_Orderings (MprisPlaylists* self) { _tmp59_++; } _reply = g_variant_builder_end (&_tmp60_); - result = (_vala_array_free ( result, result_length1, (GDestroyNotify) g_free), NULL); + result = (_vala_array_free (result, result_length1, (GDestroyNotify) g_free), NULL); return _reply; } @@ -2419,12 +2470,12 @@ static GVariant* _dbus_mpris_playlists_get_ActivePlaylist (MprisPlaylists* self) g_variant_builder_init (&_tmp62_, G_VARIANT_TYPE_TUPLE); g_variant_builder_add_value (&_tmp62_, g_variant_new_boolean (result.valid)); g_variant_builder_init (&_tmp63_, G_VARIANT_TYPE_TUPLE); - g_variant_builder_add_value (&_tmp63_, g_variant_new_object_path (result.details.path)); - g_variant_builder_add_value (&_tmp63_, g_variant_new_string (result.details.name)); - g_variant_builder_add_value (&_tmp63_, g_variant_new_string (result.details.icon_path)); + g_variant_builder_add_value (&_tmp63_, g_variant_new_object_path ((*result.details).path)); + g_variant_builder_add_value (&_tmp63_, g_variant_new_string ((*result.details).name)); + g_variant_builder_add_value (&_tmp63_, g_variant_new_string ((*result.details).icon_path)); g_variant_builder_add_value (&_tmp62_, g_variant_builder_end (&_tmp63_)); _reply = g_variant_builder_end (&_tmp62_); - active_playlist_container_destroy (& result); + active_playlist_container_destroy (&result); return _reply; } @@ -2508,7 +2559,7 @@ static void _dbus_mpris_playlists_set_ActivePlaylist (MprisPlaylists* self, GVar _tmp75_ = g_variant_iter_next_value (&_tmp72_); _tmp71_.icon_path = g_variant_dup_string (_tmp75_, NULL); g_variant_unref (_tmp75_); - _tmp67_.details = _tmp71_; + _tmp67_.details = g_memdup (&_tmp71_, sizeof (PlaylistDetails)); g_variant_unref (_tmp70_); value = _tmp67_; mpris_playlists_set_ActivePlaylist (self, &value); @@ -2573,6 +2624,7 @@ guint mpris_playlists_register_object (gpointer object, GDBusConnection* connect static void _mpris_playlists_unregister_object (gpointer user_data) { gpointer* data; data = user_data; + g_signal_handlers_disconnect_by_func (data[0], _dbus_mpris_playlists_playlist_changed, data); g_object_unref (data[0]); g_object_unref (data[1]); g_free (data[2]); |