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

David Mohr squisher at xfce.org
Thu Apr 3 19:33:37 CEST 2008


Author: squisher
Date: 2008-04-03 17:33:37 +0000 (Thu, 03 Apr 2008)
New Revision: 4503

Modified:
   xfburn/trunk/xfburn/xfburn-device-list.c
   xfburn/trunk/xfburn/xfburn-device-list.h
   xfburn/trunk/xfburn/xfburn-main.c
Log:
Adding a check during startup if libburn was able to aquire the drive

Modified: xfburn/trunk/xfburn/xfburn-device-list.c
===================================================================
--- xfburn/trunk/xfburn/xfburn-device-list.c	2008-04-03 14:50:22 UTC (rev 4502)
+++ xfburn/trunk/xfburn/xfburn-device-list.c	2008-04-03 17:33:37 UTC (rev 4503)
@@ -155,7 +155,7 @@
   burn_finish ();
 }
 
-void
+gint
 xfburn_device_list_init ()
 {
   struct burn_drive_info *drives;
@@ -209,6 +209,8 @@
 
   burn_drive_info_free (drives);
   burn_finish ();
+  
+  return n_drives;
 }
 
 gboolean

Modified: xfburn/trunk/xfburn/xfburn-device-list.h
===================================================================
--- xfburn/trunk/xfburn/xfburn-device-list.h	2008-04-03 14:50:22 UTC (rev 4502)
+++ xfburn/trunk/xfburn/xfburn-device-list.h	2008-04-03 17:33:37 UTC (rev 4503)
@@ -48,7 +48,7 @@
   gchar addr[BURN_DRIVE_ADR_LEN];
 } XfburnDevice;
 
-void xfburn_device_list_init ();
+gint xfburn_device_list_init ();
 XfburnDevice * xfburn_device_lookup_by_name (const gchar * name);
 GList * xfburn_device_list_get_list ();
 void xfburn_device_list_free ();

Modified: xfburn/trunk/xfburn/xfburn-main.c
===================================================================
--- xfburn/trunk/xfburn/xfburn-main.c	2008-04-03 14:50:22 UTC (rev 4502)
+++ xfburn/trunk/xfburn/xfburn-main.c	2008-04-03 17:33:37 UTC (rev 4503)
@@ -48,6 +48,7 @@
 main (int argc, char **argv)
 {
   GtkWidget *mainwin;
+  gint n_drives;
 
 #if DEBUG > 0
   g_log_set_always_fatal (G_LOG_LEVEL_CRITICAL);
@@ -81,7 +82,19 @@
   xfce_textdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR, "UTF-8");
 
   xfburn_stock_init ();
-  xfburn_device_list_init ();
+  n_drives = xfburn_device_list_init ();
+  if (n_drives < 1) {
+    GtkMessageDialog *dialog = gtk_message_dialog_new (NULL,
+                                    GTK_DIALOG_DESTROY_WITH_PARENT,
+                                    GTK_MESSAGE_WARNING,
+                                    GTK_BUTTONS_CLOSE,
+                                    "No drives are currently available!");
+    gtk_message_dialog_format_secondary_text (dialog,
+                                    "Maybe there is a mounted media in the drive?\n\nPlease unmount and restart the application.");
+    gtk_dialog_run (GTK_DIALOG (dialog));
+    gtk_widget_destroy (dialog);
+  }
+
   mainwin = xfburn_main_window_new ();
 
   gtk_widget_show (mainwin);




More information about the Goodies-commits mailing list