# HG changeset patch
# User rosfran
# Date 1170880750 0
# Node ID e326033fb0485a7a551fdd15be93e622abdea619
# Parent  f9d778bb88a2d74a3c1323c130f02cd0a70829d5
[svn r336] More fixes on disposing GObjects.

diff -r f9d778bb88a2 -r e326033fb048 gmyth/src/gmyth_livetv.c
--- a/gmyth/src/gmyth_livetv.c	Wed Feb 07 20:38:39 2007 +0000
+++ b/gmyth/src/gmyth_livetv.c	Wed Feb 07 20:39:10 2007 +0000
@@ -329,7 +329,7 @@
 	}
 	
 	/* Creates livetv chain handler */
-	livetv->tvchain = GMYTH_TVCHAIN ( g_object_new(GMYTH_TVCHAIN_TYPE, NULL) );
+	livetv->tvchain = gmyth_tvchain_new();
 	gmyth_tvchain_initialize ( livetv->tvchain, livetv->backend_info );
 
 	if ( livetv->tvchain == NULL || livetv->tvchain->tvchain_id == NULL ) {
diff -r f9d778bb88a2 -r e326033fb048 gmyth/src/gmyth_recorder.c
--- a/gmyth/src/gmyth_recorder.c	Wed Feb 07 20:38:39 2007 +0000
+++ b/gmyth/src/gmyth_recorder.c	Wed Feb 07 20:39:10 2007 +0000
@@ -82,8 +82,10 @@
   GMythRecorder *recorder = GMYTH_RECORDER(object);
 
 	gmyth_debug ("[%s] Closing control socket", __FUNCTION__);
-	gmyth_socket_close_connection(recorder->myth_socket);
-	g_object_unref (recorder->myth_socket);
+	/*gmyth_socket_close_connection(recorder->myth_socket);*/
+	
+	if ( recorder->myth_socket != NULL )
+		g_object_unref (recorder->myth_socket);	
     
   G_OBJECT_CLASS (gmyth_recorder_parent_class)->finalize (object);
 }
diff -r f9d778bb88a2 -r e326033fb048 gmyth/src/gmyth_tvchain.c
--- a/gmyth/src/gmyth_tvchain.c	Wed Feb 07 20:38:39 2007 +0000
+++ b/gmyth/src/gmyth_tvchain.c	Wed Feb 07 20:39:10 2007 +0000
@@ -74,6 +74,14 @@
 	tvchain->cur_startts = NULL;
 }
 
+GMythTVChain*
+gmyth_tvchain_new ()
+{
+	GMythTVChain *tvchain = GMYTH_TVCHAIN ( g_object_new( GMYTH_TVCHAIN_TYPE, NULL ) );
+
+	return tvchain;
+}
+
 static void
 gmyth_tvchain_dispose  (GObject *object)
 {
diff -r f9d778bb88a2 -r e326033fb048 gmyth/src/gmyth_tvchain.h
--- a/gmyth/src/gmyth_tvchain.h	Wed Feb 07 20:38:39 2007 +0000
+++ b/gmyth/src/gmyth_tvchain.h	Wed Feb 07 20:39:10 2007 +0000
@@ -86,14 +86,15 @@
   GMythBackendInfo *backend_info;
 };
 
+GType       	gmyth_tvchain_get_type (void);
 
-GType       gmyth_tvchain_get_type (void);
+GMythTVChain* gmyth_tvchain_new ();
 
-gboolean        gmyth_tvchain_initialize    (GMythTVChain *tvchain, 
+gboolean      gmyth_tvchain_initialize    (GMythTVChain *tvchain, 
                                          GMythBackendInfo *backend_info);
-gboolean    gmyth_tvchain_reload_all    (GMythTVChain *tvchain);
-GString*    gmyth_tvchain_get_id        (GMythTVChain *tvchain);
-gint         gmyth_tvchain_program_is_at (GMythTVChain *tvchain, 
+gboolean    	gmyth_tvchain_reload_all    (GMythTVChain *tvchain);
+GString*    	gmyth_tvchain_get_id        (GMythTVChain *tvchain);
+gint         	gmyth_tvchain_program_is_at (GMythTVChain *tvchain, 
                                          GString *chanid, GTimeVal* startts);
 
 struct LiveTVChainEntry* gmyth_tvchain_get_entry_at (GMythTVChain *tvchain,