[brasero/gnome-2-28] Check flags _before_ trying to create a task



commit e5fb5a709a9cf24c64410914b9ea04bb3a70a844
Author: Philippe Rouquier <bonfire-app wanadoo fr>
Date:   Mon Oct 12 09:48:01 2009 +0200

    Check flags _before_ trying to create a task
    The other way round would do nothing helpful as flags are sometimes a reason why creating a task fails

 libbrasero-burn/brasero-burn.c |   23 +++++++++++++----------
 1 files changed, 13 insertions(+), 10 deletions(-)
---
diff --git a/libbrasero-burn/brasero-burn.c b/libbrasero-burn/brasero-burn.c
index 5f9fa70..1fc4924 100644
--- a/libbrasero-burn/brasero-burn.c
+++ b/libbrasero-burn/brasero-burn.c
@@ -1907,16 +1907,6 @@ brasero_burn_run_tasks (BraseroBurn *burn,
 	GSList *tasks, *next, *iter;
 	BraseroBurnPrivate *priv = BRASERO_BURN_PRIVATE (burn);
 
-	tasks = brasero_burn_caps_new_task (priv->caps,
-					    priv->session,
-					    error);
-	if (!tasks)
-		return BRASERO_BURN_NOT_SUPPORTED;
-
-	priv->tasks_done = 0;
-	priv->task_nb = g_slist_length (tasks);
-	BRASERO_BURN_LOG ("%i tasks to perform", priv->task_nb);
-
 	/* push the session settings to keep the original session untainted */
 	brasero_burn_session_push_settings (priv->session);
 
@@ -1927,6 +1917,19 @@ brasero_burn_run_tasks (BraseroBurn *burn,
 		return result;
 	}
 
+	tasks = brasero_burn_caps_new_task (priv->caps,
+					    priv->session,
+	                                    temp_output,
+					    error);
+	if (!tasks) {
+		brasero_burn_session_pop_settings (priv->session);
+		return BRASERO_BURN_NOT_SUPPORTED;
+	}
+
+	priv->tasks_done = 0;
+	priv->task_nb = g_slist_length (tasks);
+	BRASERO_BURN_LOG ("%i tasks to perform", priv->task_nb);
+
 	/* run all imaging tasks first */
 	for (iter = tasks; iter; iter = next) {
 		goffset len = 0;



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