[Goodies-commits] r6042 - xfburn/trunk/xfburn

David Mohr squisher at xfce.org
Mon Nov 10 00:17:57 CET 2008


Author: squisher
Date: 2008-11-09 23:17:57 +0000 (Sun, 09 Nov 2008)
New Revision: 6042

Modified:
   xfburn/trunk/xfburn/xfburn-blank-dialog.c
   xfburn/trunk/xfburn/xfburn-burn-audio-cd-composition-dialog.c
   xfburn/trunk/xfburn/xfburn-burn-data-composition-base-dialog.c
   xfburn/trunk/xfburn/xfburn-burn-image-dialog.c
   xfburn/trunk/xfburn/xfburn-device-list.c
   xfburn/trunk/xfburn/xfburn-main.c
Log:
Only initialize and shutdown libburn once

Modified: xfburn/trunk/xfburn/xfburn-blank-dialog.c
===================================================================
--- xfburn/trunk/xfburn/xfburn-blank-dialog.c	2008-11-09 23:17:35 UTC (rev 6041)
+++ xfburn/trunk/xfburn/xfburn-blank-dialog.c	2008-11-09 23:17:57 UTC (rev 6042)
@@ -451,12 +451,6 @@
 {
   struct burn_drive_info *drive_info = NULL;
 
-  if (!burn_initialize ()) {
-    g_critical ("Unable to initialize libburn");
-    g_free (params);
-    return;
-  }
-
   if (!xfburn_device_grab (params->device, &drive_info)) {
     xfburn_progress_dialog_burning_failed (XFBURN_PROGRESS_DIALOG (params->dialog_progress), _("Unable to grab the drive."));
   } else {
@@ -464,7 +458,6 @@
     burn_drive_release (drive_info->drive, params->eject ? 1 : 0);
   }
  
-  burn_finish ();
   g_free (params);
 
 #ifdef HAVE_HAL

Modified: xfburn/trunk/xfburn/xfburn-burn-audio-cd-composition-dialog.c
===================================================================
--- xfburn/trunk/xfburn/xfburn-burn-audio-cd-composition-dialog.c	2008-11-09 23:17:35 UTC (rev 6041)
+++ xfburn/trunk/xfburn/xfburn-burn-audio-cd-composition-dialog.c	2008-11-09 23:17:57 UTC (rev 6042)
@@ -517,13 +517,6 @@
 
   struct burn_drive_info *drive_info = NULL;
 
-  if (!burn_initialize ()) {
-    g_critical ("Unable to initialize libburn");
-    /* FIXME: free contents of params! */
-    g_free (params);
-    return;
-  }
-
   disc = burn_disc_create ();
   session = burn_session_create ();
 
@@ -583,7 +576,6 @@
 
   burn_session_free (session);
   burn_disc_free (disc);
-  burn_finish ();
 
   /* FIXME: free track_list here? */
   g_free (params);

Modified: xfburn/trunk/xfburn/xfburn-burn-data-composition-base-dialog.c
===================================================================
--- xfburn/trunk/xfburn/xfburn-burn-data-composition-base-dialog.c	2008-11-09 23:17:35 UTC (rev 6041)
+++ xfburn/trunk/xfburn/xfburn-burn-data-composition-base-dialog.c	2008-11-09 23:17:57 UTC (rev 6042)
@@ -604,13 +604,6 @@
 
   struct burn_drive_info *drive_info = NULL;
 
-  if (!burn_initialize ()) {
-    g_critical ("Unable to initialize libburn");
-    burn_source_free (params->src);
-    g_free (params);
-    return;
-  }
-
   disc = burn_disc_create ();
   session = burn_session_create ();
   track = burn_track_create ();
@@ -627,8 +620,6 @@
   burn_disc_free (disc);
   burn_source_free (params->src);
 
-  burn_finish ();
-
   g_free (params);
 }
 

Modified: xfburn/trunk/xfburn/xfburn-burn-image-dialog.c
===================================================================
--- xfburn/trunk/xfburn/xfburn-burn-image-dialog.c	2008-11-09 23:17:35 UTC (rev 6041)
+++ xfburn/trunk/xfburn/xfburn-burn-image-dialog.c	2008-11-09 23:17:57 UTC (rev 6042)
@@ -282,13 +282,6 @@
 
   gint ret;
 
-  if (!burn_initialize ()) {
-    g_critical ("Unable to initialize libburn");
-    g_free (params->iso_path);
-    g_free (params);
-    return;
-  }
-
   disc = burn_disc_create ();
   session = burn_session_create ();
   track = burn_track_create ();
@@ -369,7 +362,6 @@
   burn_track_free (track);
   burn_session_free (session);
   burn_disc_free (disc);
-  burn_finish ();
 
   g_free (params->iso_path);
   g_free (params);
@@ -536,17 +528,11 @@
   params->dummy = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->check_dummy));
   params->burnfree = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->check_burnfree));
   
-  if (!burn_initialize ()) {
-    g_critical ("Unable to initialize libburn");
-    return;
-  }
-
   if (!xfburn_device_grab (device, &drive_info)) {
     burn_image_dialog_error (dialog, _("Unable to grab the drive."));
 
     g_free (params->iso_path);
     g_free (params);
-    burn_finish ();
     return;
   }
 
@@ -561,7 +547,6 @@
   }
 
   burn_drive_release (drive_info->drive, 0);
-  burn_finish ();
 
   priv->params = params;
 

Modified: xfburn/trunk/xfburn/xfburn-device-list.c
===================================================================
--- xfburn/trunk/xfburn/xfburn-device-list.c	2008-11-09 23:17:35 UTC (rev 6041)
+++ xfburn/trunk/xfburn/xfburn-device-list.c	2008-11-09 23:17:57 UTC (rev 6042)
@@ -170,11 +170,6 @@
 
   *profile_name = '\0';
 
-  if (!burn_initialize ()) {
-    g_critical ("Unable to initialize libburn");
-    return -1;
-  }
-    
   while ((ret = burn_drive_scan (&drives, &n_drives)) == 0)
     usleep (1002);
 
@@ -207,7 +202,6 @@
   }
 
   burn_drive_info_free (drives);
-  burn_finish ();
 
   if (n_drives > 0 && n_burners < 1)
     g_warning ("There are %d drives in your system, but none are capable of burning!", n_drives);
@@ -280,11 +274,6 @@
 #endif
   }
 
-  if (!burn_initialize ()) {
-    g_critical ("Unable to initialize libburn");
-    return FALSE;
-  }
-
   if (!xfburn_device_grab (device, &drive_info)) {
     ret = FALSE;
     g_warning ("Couldn't grab drive in order to update speed list.");
@@ -300,8 +289,6 @@
     burn_drive_release (drive_info->drive, 0);
   }
 
-  burn_finish ();
-
   return ret;
 }
 

Modified: xfburn/trunk/xfburn/xfburn-main.c
===================================================================
--- xfburn/trunk/xfburn/xfburn-main.c	2008-11-09 23:17:35 UTC (rev 6041)
+++ xfburn/trunk/xfburn/xfburn-main.c	2008-11-09 23:17:57 UTC (rev 6042)
@@ -184,10 +184,19 @@
     }
   }
 
+  if (!burn_initialize ()) {
+    g_critical ("Unable to initialize libburn");
+    xfce_err (_("Unable to initialize the burning backend."));
+    gdk_threads_leave ();
+    return EXIT_FAILURE;
+  }
+
 #ifdef HAVE_GST
   if (!gst_init_check (&argc, &argv, &error)) {
-    g_warning ("Failed to initialize gstreamer!");
-    /* later make this a soft failure, and just disable gstreamer functionality */
+    g_critical ("Failed to initialize gstreamer!");
+    /* I'm assuming this pretty much never happens. If it does, we should make this a soft failure and fall back to basic */
+    gdk_threads_leave ();
+    burn_finish ();
     return EXIT_FAILURE;
   }
 #endif
@@ -222,6 +231,8 @@
 
   if (transcoder_selection && strcmp (transcoder_selection, "list") == 0) {
     print_available_transcoders();
+    gdk_threads_leave ();
+    burn_finish ();
     return EXIT_SUCCESS;
   }
 
@@ -243,6 +254,7 @@
     thunar_vfs_shutdown ();
 #endif
     gdk_threads_leave ();
+    burn_finish ();
     return EXIT_FAILURE;
   }
 #endif
@@ -262,6 +274,9 @@
     gtk_widget_destroy (GTK_WIDGET (dialog));
   }
 
+
+  /*----------Transcoder--------------------------------------------------*/
+
   if (!transcoder_selection) {
     /* select the best available */
 #ifdef HAVE_GST
@@ -280,11 +295,13 @@
              transcoder_selection);
     g_print ("\n");
     print_available_transcoders();
+    gdk_threads_leave ();
+    burn_finish ();
     return EXIT_FAILURE;
   }
 
   if (!xfburn_transcoder_is_initialized (transcoder, &error)) {
-    g_warning ("Failed to initialize %s transcoder: %s\n\t(falling back to basic implementation)", xfburn_transcoder_get_name (transcoder), error->message);
+    xfce_warn (_("Failed to initialize %s transcoder: %s\n\t(falling back to basic implementation)"), xfburn_transcoder_get_name (transcoder), error->message);
     g_error_free (error);
     g_object_unref (transcoder);
     transcoder = XFBURN_TRANSCODER (xfburn_transcoder_basic_new ());
@@ -293,8 +310,9 @@
   }
   xfburn_transcoder_set_global (transcoder);
 
-  /* evaluate parsed command line options */
 
+  /*----------evaluate parsed command line action options-------------------------*/
+
   if (show_main) {
     xfburn_main_enter_main_window ();
   }
@@ -330,7 +348,8 @@
   }
 
 
-  /* main window */
+  /*----------main window--------------------------------------------------*/
+
   if (!other_action || show_main) {
     xfburn_main_enter_main_window ();
     mainwin = xfburn_main_window_new ();
@@ -344,9 +363,12 @@
       xfburn_main_window_add_audio_composition_with_files (XFBURN_MAIN_WINDOW (mainwin), argc-1, argv+1);
   }
 
+
   gtk_main ();
 
-  /* shutdown */
+
+  /*----------shutdown--------------------------------------------------*/
+
   g_object_unref (transcoder);
 
 #ifdef HAVE_HAL
@@ -362,6 +384,8 @@
   
   xfburn_device_list_free ();
 
+  burn_finish ();
+
   gdk_threads_leave ();
 
   return EXIT_SUCCESS;




More information about the Goodies-commits mailing list