brasero r1243 - in trunk: . src
- From: philippr svn gnome org
- To: svn-commits-list gnome org
- Subject: brasero r1243 - in trunk: . src
- Date: Wed, 3 Sep 2008 20:05:05 +0000 (UTC)
Author: philippr
Date: Wed Sep 3 20:05:05 2008
New Revision: 1243
URL: http://svn.gnome.org/viewvc/brasero?rev=1243&view=rev
Log:
Reload flags when image format changes or is detected
* src/brasero-image-option-dialog.c
(brasero_image_option_dialog_set_track):
* src/burn-session.c (brasero_burn_session_clear_current_track),
(brasero_burn_session_add_track):
* src/burn-session.h:
Modified:
trunk/ChangeLog
trunk/src/brasero-image-option-dialog.c
trunk/src/burn-session.c
trunk/src/burn-session.h
Modified: trunk/src/brasero-image-option-dialog.c
==============================================================================
--- trunk/src/brasero-image-option-dialog.c (original)
+++ trunk/src/brasero-image-option-dialog.c Wed Sep 3 20:05:05 2008
@@ -91,15 +91,19 @@
priv = BRASERO_IMAGE_OPTION_DIALOG_PRIVATE (dialog);
- if (!priv->track) {
- priv->track = brasero_track_new (BRASERO_TRACK_TYPE_IMAGE);
- brasero_burn_session_add_track (priv->session, priv->track);
+ /* add a track every time to send a signal */
+ if (priv->track) {
+ brasero_burn_session_clear_current_track (priv->session);
+ brasero_track_unref (priv->track);
}
+ /* set image type before adding so that signal has the right type */
+ priv->track = brasero_track_new (BRASERO_TRACK_TYPE_IMAGE);
brasero_track_set_image_source (priv->track,
image,
toc,
format);
+ brasero_burn_session_add_track (priv->session, priv->track);
}
static void
Modified: trunk/src/burn-session.c
==============================================================================
--- trunk/src/burn-session.c (original)
+++ trunk/src/burn-session.c Wed Sep 3 20:05:05 2008
@@ -247,6 +247,21 @@
0);
}
+void
+brasero_burn_session_clear_current_track (BraseroBurnSession *self)
+{
+ BraseroBurnSessionPrivate *priv;
+
+ g_return_val_if_fail (BRASERO_IS_BURN_SESSION (self), BRASERO_BURN_ERR);
+
+ priv = BRASERO_BURN_SESSION_PRIVATE (self);
+
+ brasero_burn_session_stop_src_drive_monitoring (self);
+ g_slist_foreach (priv->tracks, (GFunc) brasero_track_unref, NULL);
+ g_slist_free (priv->tracks);
+ priv->tracks = NULL;
+}
+
BraseroBurnResult
brasero_burn_session_add_track (BraseroBurnSession *self,
BraseroTrack *new_track)
@@ -279,7 +294,8 @@
brasero_burn_session_stop_src_drive_monitoring (self);
/* if there is already a track, then we replace it on condition that it
- * has the same type */
+ * has the same type and it's not AUDIO (only one allowed to have many)
+ */
if (brasero_track_get_type (new_track, NULL) != BRASERO_TRACK_TYPE_AUDIO
|| brasero_burn_session_get_input_type (self, NULL) != BRASERO_TRACK_TYPE_AUDIO) {
g_slist_foreach (priv->tracks, (GFunc) brasero_track_unref, NULL);
Modified: trunk/src/burn-session.h
==============================================================================
--- trunk/src/burn-session.h (original)
+++ trunk/src/burn-session.h Wed Sep 3 20:05:05 2008
@@ -78,6 +78,8 @@
BraseroBurnResult
brasero_burn_session_add_track (BraseroBurnSession *session,
BraseroTrack *track);
+void
+brasero_burn_session_clear_current_track (BraseroBurnSession *session);
GSList *
brasero_burn_session_get_tracks (BraseroBurnSession *session);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]