Matthias Clasen 26fd1a
diff -up brasero-2.29.91/nautilus/nautilus-burn-extension.c.fix-cd-burner brasero-2.29.91/nautilus/nautilus-burn-extension.c
Matthias Clasen 26fd1a
--- brasero-2.29.91/nautilus/nautilus-burn-extension.c.fix-cd-burner	2010-02-22 15:37:17.000000000 -0500
Matthias Clasen 26fd1a
+++ brasero-2.29.91/nautilus/nautilus-burn-extension.c	2010-03-03 20:38:00.784400518 -0500
Matthias Clasen 26fd1a
@@ -265,6 +265,8 @@ write_activate (GtkWindow *toplevel)
Matthias Clasen 26fd1a
 	if (nautilus_disc_burn_is_empty (toplevel))
Matthias Clasen 26fd1a
 		return;
Matthias Clasen 26fd1a
 
Matthias Clasen 26fd1a
+        ensure_initialized ();
Matthias Clasen 26fd1a
+
Matthias Clasen 26fd1a
 	track = brasero_track_data_cfg_new ();
Matthias Clasen 26fd1a
 	brasero_track_data_cfg_add (track, BURN_URI, NULL);
Matthias Clasen 26fd1a
 
Matthias Clasen 26fd1a
@@ -433,6 +435,8 @@ check_disc_activate_cb (NautilusMenuItem
Matthias Clasen 26fd1a
 {
Matthias Clasen 26fd1a
 	BraseroSumDialog *dialog;
Matthias Clasen 26fd1a
 
Matthias Clasen 26fd1a
+        ensure_initialized ();
Matthias Clasen 26fd1a
+
Matthias Clasen 26fd1a
 	dialog = brasero_sum_dialog_new ();
Matthias Clasen 26fd1a
 	tool_dialog_run (BRASERO_TOOL_DIALOG (dialog),
Matthias Clasen 26fd1a
 			 GTK_WINDOW (user_data),
Matthias Clasen 26fd1a
@@ -504,7 +508,12 @@ drive_is_cd_device (GDrive *gdrive)
Matthias Clasen 26fd1a
 
Matthias Clasen 26fd1a
         DEBUG_PRINT ("Got device: %s\n", device);
Matthias Clasen 26fd1a
 
Matthias Clasen 26fd1a
-        monitor = brasero_medium_monitor_get_default ();
Matthias Clasen 26fd1a
+       /* FIXME: since we call the monitor, the library should be initialized.
Matthias Clasen 26fd1a
+        * To avoid all the initializing we'll be able to use the new GIO API
Matthias Clasen 26fd1a
+        * (#594649 -  Have a way to detect optical drives) */
Matthias Clasen 26fd1a
+       ensure_initialized();
Matthias Clasen 26fd1a
+
Matthias Clasen 26fd1a
+       monitor = brasero_medium_monitor_get_default ();
Matthias Clasen 26fd1a
         drive = brasero_medium_monitor_get_drive (monitor, device);
Matthias Clasen 26fd1a
         g_object_unref (monitor);
Matthias Clasen 26fd1a
         g_free (device);
Matthias Clasen 26fd1a
@@ -620,8 +629,6 @@ nautilus_disc_burn_get_file_items (Nauti
Matthias Clasen 26fd1a
 		BraseroMedia		 media;
Matthias Clasen 26fd1a
 		BraseroTrackType	*type;
Matthias Clasen 26fd1a
 
Matthias Clasen 26fd1a
-		ensure_initialized();
Matthias Clasen 26fd1a
-
Matthias Clasen 26fd1a
                 device_path = g_volume_get_identifier (volume, G_VOLUME_IDENTIFIER_KIND_UNIX_DEVICE);
Matthias Clasen 26fd1a
 		monitor = brasero_medium_monitor_get_default ();
Matthias Clasen 26fd1a
 		bdrive = brasero_medium_monitor_get_drive (monitor, device_path);