the linux-any constraint on build-deps is causing issues for backport
[debian/amanda] / device-src / dvdrw-device.c
index ddae35e45130897c5b44aa2e8cad4934a9a7c76d..5bc0fc1e9885ab13e604c05c69762a4ec0dfd5c2 100644 (file)
@@ -321,6 +321,12 @@ dvdrw_device_init (DvdRwDevice *self)
     device_set_simple_property(dself, PROPERTY_FULL_DELETION,
        &val, PROPERTY_SURETY_GOOD, PROPERTY_SOURCE_DETECTED);
     g_value_unset(&val);
+
+    g_value_init(&val, G_TYPE_BOOLEAN);
+    g_value_set_boolean(&val, TRUE);
+    device_set_simple_property(dself, PROPERTY_LEOM,
+       &val, PROPERTY_SURETY_GOOD, PROPERTY_SOURCE_DETECTED);
+    g_value_unset(&val);
 }
 
 static gboolean
@@ -511,22 +517,13 @@ dvdrw_device_finish(Device *dself)
     /* Save access mode before parent class messes with it */
     mode = dself->access_mode;
 
-    if (device_in_error(dself)) {
-       if (mode == ACCESS_READ) {
-           /* Still need to do this, don't care if it works or not */
-           unmount_disc(self);
-       }
-
-       return FALSE;
-    }
-
     result = parent_class->finish(dself);
 
     if (mode == ACCESS_READ) {
        unmount_disc(self);
     }
 
-    if (! result) {
+    if (!result || device_in_error(dself)) {
        return FALSE;
     }
 
@@ -693,7 +690,6 @@ execute_command(DvdRwDevice *self, gchar **argv, gint *result)
     gint errnum = 0;
     GError *error = NULL;
     gboolean success;
-    int signum = 0;
 
     /* g_debug("Executing: %s", argv[0]); */
 
@@ -704,7 +700,6 @@ execute_command(DvdRwDevice *self, gchar **argv, gint *result)
 
     if (WIFSIGNALED(errnum)) {
        success = FALSE;
-       signum = WTERMSIG(errnum);
     } else if (WIFEXITED(errnum)) {
        success = (WEXITSTATUS(errnum) == 0);
     } else {