brasero r730 - in branches/brasero_0_7: . src



Author: philippr
Date: Thu Apr 17 15:38:19 2008
New Revision: 730
URL: http://svn.gnome.org/viewvc/brasero?rev=730&view=rev

Log:

	Attempt at fixing #525371 â brasero crashed with SIGSEGV in g_io_channel_get_buffer_condition()

	* src/brasero-project-type-chooser.c
	(brasero_project_type_chooser_recent_changed_cb):
	* src/burn-process.c (brasero_process_stop):


Modified:
   branches/brasero_0_7/ChangeLog
   branches/brasero_0_7/src/brasero-project-type-chooser.c
   branches/brasero_0_7/src/burn-process.c

Modified: branches/brasero_0_7/src/brasero-project-type-chooser.c
==============================================================================
--- branches/brasero_0_7/src/brasero-project-type-chooser.c	(original)
+++ branches/brasero_0_7/src/brasero-project-type-chooser.c	Thu Apr 17 15:38:19 2008
@@ -318,9 +318,11 @@
 brasero_project_type_chooser_recent_changed_cb (GtkRecentManager *recent,
 						BraseroProjectTypeChooser *self)
 {
-	gtk_container_foreach (GTK_CONTAINER (self->priv->recent_box),
-			       (GtkCallback) gtk_widget_destroy,
-			       NULL);
+	if (self->priv->recent_box)
+		gtk_container_foreach (GTK_CONTAINER (self->priv->recent_box),
+				       (GtkCallback) gtk_widget_destroy,
+				       NULL);
+
 	brasero_project_type_chooser_build_recent (self, recent);
 }
 

Modified: branches/brasero_0_7/src/burn-process.c
==============================================================================
--- branches/brasero_0_7/src/burn-process.c	(original)
+++ branches/brasero_0_7/src/burn-process.c	Thu Apr 17 15:38:19 2008
@@ -637,7 +637,7 @@
 				g_string_set_size (priv->out_buffer, 0);
 
 			klass = BRASERO_PROCESS_GET_CLASS (process);
-			while (g_io_channel_get_buffer_condition (priv->std_out) == G_IO_IN)
+			while (priv->std_out && g_io_channel_get_buffer_condition (priv->std_out) == G_IO_IN)
 				brasero_process_read (process,
 						      priv->std_out,
 						      G_IO_IN,
@@ -675,12 +675,12 @@
 				g_string_set_size (priv->err_buffer, 0);
 
 			klass = BRASERO_PROCESS_GET_CLASS (process);
-			while (g_io_channel_get_buffer_condition (priv->std_error) == G_IO_IN)
+			while (priv->std_error && g_io_channel_get_buffer_condition (priv->std_error) == G_IO_IN)
 				brasero_process_read (process,
-						     priv->std_error,
-						     G_IO_IN,
-						     BRASERO_CHANNEL_STDERR,
-						     klass->stderr_func);
+						      priv->std_error,
+						      G_IO_IN,
+						      BRASERO_CHANNEL_STDERR,
+						      klass->stderr_func);
 		}
 
 	    	/* NOTE: we already checked if priv->std_out wasn't 



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