Index: e-util/e-logger.c
===================================================================
--- e-util/e-logger.c	(revision 36431)
+++ e-util/e-logger.c	(working copy)
@@ -60,7 +60,8 @@ static gpointer parent_class;
 static gboolean
 flush_logfile (ELogger *logger)
 {
-	fflush (logger->priv->fp);
+	if (logger->priv->fp)
+		fflush (logger->priv->fp);
 	logger->priv->timer = 0;
 
 	return FALSE;
@@ -81,6 +82,9 @@ logger_set_component (ELogger *logger,
 	logger->priv->fp = g_fopen (logger->priv->logfile, "w");
 	logger->priv->timer = 0;
 
+	if (!logger->priv->fp)
+		g_warning ("%s: Failed to open log file '%s' for writing.", G_STRFUNC, logger->priv->logfile ? logger->priv->logfile : "[null]");
+
 	g_free (temp);
 }
 
@@ -126,7 +130,8 @@ logger_finalize (GObject *object)
 	if (logger->priv->timer)
 		g_source_remove (logger->priv->timer);
 	flush_logfile (logger);
-	fclose (logger->priv->fp);
+	if (logger->priv->fp)
+		fclose (logger->priv->fp);
 
 	g_free (logger->priv->component);
 	g_free (logger->priv->logfile);
@@ -230,6 +235,9 @@ e_logger_log (ELogger *logger,
 	g_return_if_fail (primary != NULL);
 	g_return_if_fail (secondary != NULL);
 
+	if (!logger->priv->fp)
+		return;
+
 	fprintf (logger->priv->fp, "%d:%ld:%s\n", level, t, primary);
 	fprintf (logger->priv->fp, "%d:%ld:%s\n", level, t, secondary);
 	set_dirty (logger);
@@ -247,11 +255,12 @@ e_logger_get_logs (ELogger *logger,
 	g_return_if_fail (func != NULL);
 
 	/* Flush everything before we get the logs */
-	fflush (logger->priv->fp);	
+	if (logger->priv->fp)
+		fflush (logger->priv->fp);	
 	fp = g_fopen (logger->priv->logfile, "r");
 
 	if (!fp) {
-		fprintf (stderr, "Cannot open log file '%s' for reading! No flush yet?\n", logger->priv->logfile ? logger->priv->logfile : "[null]");
+		g_warning ("%s: Cannot open log file '%s' for reading! No flush yet?\n", G_STRFUNC, logger->priv->logfile ? logger->priv->logfile : "[null]");
 		return;
 	}
 
Index: e-util/ChangeLog
===================================================================
--- e-util/ChangeLog	(revision 36431)
+++ e-util/ChangeLog	(working copy)
@@ -1,3 +1,11 @@
+2008-09-23  Milan Crha  <mcrha@redhat.com>
+
+	** Fix for bug #535248
+
+	* e-logger.c: (flush_logfile), (logger_set_component),
+	(logger_finalize), (e_logger_log), (e_logger_get_logs):
+	Check if log file has been opened successfully before using it.
+
 2008-09-16  Sankar P  <psankar@novell.com>
 
 License Changes
