brasero r1224 - in trunk: . src
- From: philippr svn gnome org
- To: svn-commits-list gnome org
- Subject: brasero r1224 - in trunk: . src
- Date: Sun, 31 Aug 2008 19:30:24 +0000 (UTC)
Author: philippr
Date: Sun Aug 31 19:30:24 2008
New Revision: 1224
URL: http://svn.gnome.org/viewvc/brasero?rev=1224&view=rev
Log:
Fix a problem with disc copy using same src and dest driven (brasero not
accepting blank disc for destination).
BRASERO_BURN_FLAG_BLANK_BEFORE_WRITING was on by default which would of
course be unsupported by a BLANK medium. So we are more lenient now with
this flag
* src/burn-caps.c (brasero_burn_caps_new_task),
(brasero_caps_try_output_with_blanking),
(brasero_burn_caps_get_flags):
Modified:
trunk/ChangeLog
trunk/src/burn-caps.c
Modified: trunk/src/burn-caps.c
==============================================================================
--- trunk/src/burn-caps.c (original)
+++ trunk/src/burn-caps.c Sun Aug 31 19:30:24 2008
@@ -1280,6 +1280,11 @@
if (!brasero_burn_caps_flags_check_for_drive (session))
BRASERO_BURN_CAPS_NOT_SUPPORTED_LOG (session);
+ /* Here remove BRASERO_BURN_FLAG_BLANK_BEFORE_WRITE since we'll handle
+ * any possible need for blanking just afterwards if it doesn't work */
+ session_flags &= ~(BRASERO_BURN_FLAG_BLANK_BEFORE_WRITE|
+ BRASERO_BURN_FLAG_FAST_BLANK);
+
list = brasero_caps_find_best_link (last_caps,
self->priv->group_id,
NULL,
@@ -1307,6 +1312,7 @@
/* apparently nothing can be done to reach our goal. Maybe that
* is because we first have to blank the disc. If so add a blank
* task to the others as a first step */
+ session_flags = brasero_burn_session_get_flags (session);
if (!(session_flags & BRASERO_BURN_FLAG_BLANK_BEFORE_WRITE)
|| brasero_burn_caps_can_blank (self, session) != BRASERO_BURN_OK)
BRASERO_BURN_CAPS_NOT_SUPPORTED_LOG_ERROR (session, error);
@@ -1808,6 +1814,12 @@
BraseroBurnFlag session_flags;
session_flags = brasero_burn_session_get_flags (session);
+
+ /* The case with prior blanking is checked later so no need for the next
+ * 2 flags */
+ session_flags &= ~(BRASERO_BURN_FLAG_BLANK_BEFORE_WRITE|
+ BRASERO_BURN_FLAG_FAST_BLANK);
+
result = brasero_caps_try_output (session_flags,
output,
input,
@@ -1815,6 +1827,8 @@
if (result)
return result;
+ session_flags = brasero_burn_session_get_flags (session);
+
/* we reached this point in two cases:
* - if the disc cannot be handled
* - if some flags are not handled
@@ -2399,11 +2413,18 @@
supported_flags |= BRASERO_BURN_FLAG_EJECT;
media = brasero_burn_session_get_dest_media (session);
+ /* Here remove the BRASERO_BURN_FLAG_BLANK_BEFORE_WRITE since that case
+ * will be handled later in case of failure */
+ session_flags &= ~(BRASERO_BURN_FLAG_BLANK_BEFORE_WRITE|
+ BRASERO_BURN_FLAG_FAST_BLANK);
+
result = brasero_caps_get_flags_for_disc (session_flags,
media,
&input,
&supported_flags,
&compulsory_flags);
+ session_flags = brasero_burn_session_get_flags (session);
+
if (result == BRASERO_BURN_OK) {
if (media & (BRASERO_MEDIUM_HAS_AUDIO|BRASERO_MEDIUM_HAS_DATA)) {
gboolean operation;
@@ -2492,12 +2513,15 @@
* then write on its own. Basically that works only with
* overwrite formatted discs, DVD+RW, ...) */
- if (!(media & (BRASERO_MEDIUM_HAS_AUDIO|BRASERO_MEDIUM_HAS_DATA|BRASERO_MEDIUM_UNFORMATTED))) {
+ if (!(media & (BRASERO_MEDIUM_HAS_AUDIO|
+ BRASERO_MEDIUM_HAS_DATA|
+ BRASERO_MEDIUM_UNFORMATTED))) {
/* media must have data/audio */
return BRASERO_BURN_NOT_SUPPORTED;
}
- if (session_flags & (BRASERO_BURN_FLAG_MERGE|BRASERO_BURN_FLAG_APPEND)) {
+ if (session_flags & (BRASERO_BURN_FLAG_MERGE|
+ BRASERO_BURN_FLAG_APPEND)) {
/* There is nothing we can do here */
return BRASERO_BURN_NOT_SUPPORTED;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]