gnome-utils r8219 - trunk/logview



Author: cosimoc
Date: Tue Dec 23 13:25:04 2008
New Revision: 8219
URL: http://svn.gnome.org/viewvc/gnome-utils?rev=8219&view=rev

Log:
Properly free the memory we use, and unref the monitor in _finalize ().

Modified:
   trunk/logview/logview-log.c

Modified: trunk/logview/logview-log.c
==============================================================================
--- trunk/logview/logview-log.c	(original)
+++ trunk/logview/logview-log.c	Tue Dec 23 13:25:04 2008
@@ -69,8 +69,12 @@
 {
   LogviewLog *log = LOGVIEW_LOG (obj);
 
-  g_object_unref (log->priv->stream);
-  g_object_unref (log->priv->file);
+  if (log->priv->stream)
+    g_object_unref (log->priv->stream);
+  if (log->priv->file)
+    g_object_unref (log->priv->file);
+  if (log->priv->mon)
+    g_object_unref (log->priv->mon);
 
   G_OBJECT_CLASS (logview_log_parent_class)->finalize (obj);
 }
@@ -143,12 +147,16 @@
 
   if (job->err) {
     job->callback (job->log, NULL, job->err, job->user_data);
-    /* drop the reference we acquired before */
-    g_object_unref (job->log);
+    g_error_free (job->err);
   } else {
     job->callback (job->log, job->lines, job->err, job->user_data);
   }
 
+  /* drop the reference we acquired before */
+  g_object_unref (job->log);  
+
+  g_slice_free (NewLinesJob, job);
+
   return FALSE;
 }
 
@@ -200,6 +208,7 @@
     /* the callback will have NULL as log, and the error set */
     g_object_unref (job->log);
     job->callback (NULL, job->err, job->user_data);
+    g_error_free (job->err);
   } else {
     job->callback (job->log, NULL, job->user_data);
   }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]