From 3476d44e30f8c358801831b77977581356af9b60 Mon Sep 17 00:00:00 2001 From: Philip Kovacs Date: Mon, 9 Jan 2006 23:29:47 +0000 Subject: [PATCH] xmms free glib objects git-svn-id: https://conky.svn.sourceforge.net/svnroot/conky/trunk/conky@492 7f574dfc-610e-0410-a909-a81674777703 --- src/xmms.c | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/src/xmms.c b/src/xmms.c index 3d38d65..1840a6d 100644 --- a/src/xmms.c +++ b/src/xmms.c @@ -29,6 +29,10 @@ #include "conky.h" #include "xmms.h" +#if defined(XMMS) || defined(BMP) || defined(AUDACIOUS) +#include +#endif + #if defined(XMMS) #include @@ -94,12 +98,14 @@ void *xmms_thread_func(void *pvoid) { int runnable; static xmms_t items; - int session,playpos,frames,length; - int rate,freq,chans; - char *psong,*pfilename; + gint session,playpos,frames,length; + gint rate,freq,chans; + gchar *psong,*pfilename; pvoid=(void*)pvoid; /* useless cast to avoid unused var warning */ session=0; + psong=NULL; + pfilename=NULL; /* Grab the runnable signal. Should be non-zero here or we do nothing. */ pthread_mutex_lock(&info.xmms.runnable_mutex); @@ -126,10 +132,13 @@ void *xmms_thread_func(void *pvoid) strcpy(items[XMMS_STATUS],"Stopped"); /* Current song title */ - playpos = (int) xmms_remote_get_playlist_pos(session); - psong = (char *) xmms_remote_get_playlist_title(session, playpos); - if (psong) + playpos = xmms_remote_get_playlist_pos(session); + psong = xmms_remote_get_playlist_title(session, playpos); + if (psong) { strncpy(items[XMMS_TITLE],psong,sizeof(items[XMMS_TITLE])-1); + g_free(psong); + psong=NULL; + } /* Current song length as MM:SS */ frames = xmms_remote_get_playlist_time(session,playpos); @@ -163,7 +172,11 @@ void *xmms_thread_func(void *pvoid) /* Current song filename */ pfilename = xmms_remote_get_playlist_file(session,playpos); - strncpy(items[XMMS_FILENAME],pfilename,sizeof(items[XMMS_FILENAME])-1); + if (pfilename) { + strncpy(items[XMMS_FILENAME],pfilename,sizeof(items[XMMS_FILENAME])-1); + g_free(pfilename); + pfilename=NULL; + } /* Length of the Playlist (number of songs) */ length = xmms_remote_get_playlist_length(session); -- 1.7.9.5