[brasero] Still make sure that (S)VCD type option appears when it's a CD and not an image



commit 9302a2f9205a69b232fbece9252b54934add5c0f
Author: Philippe Rouquier <bonfire-app wanadoo fr>
Date:   Sat Aug 15 14:46:50 2009 +0200

    Still make sure that (S)VCD type option appears when it's a CD and not an image

 libbrasero-burn/brasero-video-options.c |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)
---
diff --git a/libbrasero-burn/brasero-video-options.c b/libbrasero-burn/brasero-video-options.c
index f657b11..a2a7d30 100644
--- a/libbrasero-burn/brasero-video-options.c
+++ b/libbrasero-burn/brasero-video-options.c
@@ -153,6 +153,14 @@ brasero_video_options_update (BraseroVideoOptions *options)
 }
 
 static void
+brasero_video_options_output_changed_cb (BraseroBurnSession *session,
+                                         BraseroMedium *former_medium,
+                                         BraseroVideoOptions *options)
+{
+	brasero_video_options_update (options);
+}
+
+static void
 brasero_video_options_set_tag (BraseroVideoOptions *options,
 			       const gchar *tag,
 			       gint contents)
@@ -281,6 +289,10 @@ brasero_video_options_set_session (BraseroVideoOptions *options,
 
 	priv = BRASERO_VIDEO_OPTIONS_PRIVATE (options);
 	if (priv->session) {
+		g_signal_handlers_disconnect_by_func (priv->session,
+		                                      brasero_video_options_output_changed_cb,
+		                                      options);
+
 		g_object_unref (priv->session);
 		priv->session = NULL;
 	}
@@ -288,6 +300,10 @@ brasero_video_options_set_session (BraseroVideoOptions *options,
 	if (session) {
 		priv->session = g_object_ref (session);
 		brasero_video_options_update (options);
+		g_signal_connect (priv->session,
+		                  "output-changed",
+		                  G_CALLBACK (brasero_video_options_output_changed_cb),
+		                  options);
 	}
 }
 
@@ -526,6 +542,9 @@ brasero_video_options_finalize (GObject *object)
 
 	priv = BRASERO_VIDEO_OPTIONS_PRIVATE (object);
 	if (priv->session) {
+		g_signal_handlers_disconnect_by_func (priv->session,
+		                                      brasero_video_options_output_changed_cb,
+		                                      object);
 		g_object_unref (priv->session);
 		priv->session = NULL;
 	}



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