brasero r1089 - in trunk: . src src/plugins/checksum



Author: philippr
Date: Thu Aug 14 13:30:37 2008
New Revision: 1089
URL: http://svn.gnome.org/viewvc/brasero?rev=1089&view=rev

Log:
	Some fixes for medium integrity checking
	- don\'t eject at the end
	- fix a warning
	- cleanup burn.c of commented out lines
	- fix progress not displayed
	- fix a string copy

	* src/brasero-sum-dialog.c (brasero_sum_dialog_check_disc_sum):
	* src/burn.c (brasero_burn_record_session), (brasero_burn_check):
	* src/plugins/checksum/burn-checksum-files.c
	(brasero_checksum_files_check_files):

Modified:
   trunk/ChangeLog
   trunk/src/brasero-sum-dialog.c
   trunk/src/burn.c
   trunk/src/plugins/checksum/burn-checksum-files.c

Modified: trunk/src/brasero-sum-dialog.c
==============================================================================
--- trunk/src/brasero-sum-dialog.c	(original)
+++ trunk/src/brasero-sum-dialog.c	Thu Aug 14 13:30:37 2008
@@ -610,6 +610,9 @@
 		return FALSE;
 	}
 
+	/* no eject at the end (it's default) */
+	brasero_burn_session_remove_flag (self->priv->session, BRASERO_BURN_FLAG_EJECT);
+
 	brasero_burn_session_add_track (self->priv->session, track);
 
 	/* It's good practice to unref the track afterwards as we don't need it

Modified: trunk/src/burn.c
==============================================================================
--- trunk/src/burn.c	(original)
+++ trunk/src/burn.c	Thu Aug 14 13:30:37 2008
@@ -2029,22 +2029,6 @@
 	if (type == BRASERO_CHECKSUM_NONE)
 		return BRASERO_BURN_OK;
 
-	/* unlock dest drive that's necessary if we want to check burnt medias
-	 * it seems that the kernel caches its contents and can't/don't update
-	 * its caches after a blanking/recording. */
-	/* NOTE: that work if the disc had not been mounted before. That's the 
-	 * mount that triggers the caches. So maybe if the disc was blank (and
-	 * therefore couldn't have been previously mounted) we could skip that
-	 * unlock/eject step. A better way would be to have a system call to 
-	 * force a re-load. */
-
-/*	result = brasero_burn_eject_dest_media (burn, error);
-	if (result != BRASERO_BURN_OK)
-		return result;
-
-	priv->dest = NULL;
-*/
-
 	if (type == BRASERO_CHECKSUM_MD5
 	||  type == BRASERO_CHECKSUM_SHA1
 	||  type == BRASERO_CHECKSUM_SHA256) {
@@ -2086,13 +2070,8 @@
 	 * anymore. BraseroBurnSession refs it. */
 	brasero_track_unref (track);
 
-	/* reload media */
-/*	result = brasero_burn_lock_checksum_media (burn, error);
-	if (result != BRASERO_BURN_OK)
-		return result;
-*/
-	/* this may be necessary for the drive to settle down */
-	/* and possibly be mounted by gnome-volume-manager (just temporarily) */
+	/* this may be necessary for the drive to settle down
+	 * and possibly be mounted by gnome-volume-manager (just temporarily) */
 	result = brasero_burn_sleep (burn, 5000);
 	if (result != BRASERO_BURN_OK)
 		return result;
@@ -2175,15 +2154,17 @@
 
 	brasero_burn_powermanagement (self, FALSE);
 
-	/* no need to check the result of the comparison, it's set in session */
-	priv->session = NULL;
-	g_object_unref (session);
-
 	if (result == BRASERO_BURN_OK)
 		result = brasero_burn_unlock_medias (self, error);
 	else
 		brasero_burn_unlock_medias (self, NULL);
 
+	/* no need to check the result of the comparison, it's set in session */
+
+	/* NOTE: unref session only AFTER drives are unlocked */
+	priv->session = NULL;
+	g_object_unref (session);
+
 	return result;
 }
 

Modified: trunk/src/plugins/checksum/burn-checksum-files.c
==============================================================================
--- trunk/src/plugins/checksum/burn-checksum-files.c	(original)
+++ trunk/src/plugins/checksum/burn-checksum-files.c	Thu Aug 14 13:30:37 2008
@@ -686,8 +686,8 @@
 	if (!root)
 		return BRASERO_BURN_ERR;
 
-	memcpy (filename, root, sizeof (filename));
 	root_len = strlen (root);
+	memcpy (filename, root, root_len);
 	filename [root_len ++ ] = '/';
 
 	name = brasero_track_get_checksum (track);
@@ -716,6 +716,11 @@
 	}
 
 	file_num = 0;
+	brasero_job_set_current_action (BRASERO_JOB (self),
+				        BRASERO_BURN_ACTION_CHECKSUM,
+					_("Checking file integrity"),
+					TRUE);
+	brasero_job_start_progress (BRASERO_JOB (self), FALSE);
 
 	/* Get the checksum type */
 	switch (checksum_type) {



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