diff --git a/libburn/trunk/cdrskin/cdrskin_timestamp.h b/libburn/trunk/cdrskin/cdrskin_timestamp.h index 4227e195..bd6fd950 100644 --- a/libburn/trunk/cdrskin/cdrskin_timestamp.h +++ b/libburn/trunk/cdrskin/cdrskin_timestamp.h @@ -1 +1 @@ -#define Cdrskin_timestamP "2007.08.11.202627" +#define Cdrskin_timestamP "2007.08.12.095446" diff --git a/libburn/trunk/libburn/libdax_msgs.h b/libburn/trunk/libburn/libdax_msgs.h index c71e5c0c..641bd5ef 100644 --- a/libburn/trunk/libburn/libdax_msgs.h +++ b/libburn/trunk/libburn/libdax_msgs.h @@ -373,6 +373,7 @@ Range "scdbackup" : 0x00020000 to 0x0002ffff 0x0002013f (DEBUG,LOW) = Reporting total time spent with waiting for buffer 0x00020140 (FATAL,HIGH) = Drive is busy on attempt to write random access 0x00020141 (SORRY,HIGH) = Write data count not properly aligned + 0x00020142 (FATAL,HIGH) = Drive is not grabbed on random access write libdax_audioxtr: diff --git a/libburn/trunk/libburn/write.c b/libburn/trunk/libburn/write.c index 478b87e7..d9dc5c62 100644 --- a/libburn/trunk/libburn/write.c +++ b/libburn/trunk/libburn/write.c @@ -1978,6 +1978,13 @@ int burn_random_access_write(struct burn_drive *d, off_t byte_address, char msg[81], *rpt; struct buffer buf; + if (d->released) { + libdax_msgs_submit(libdax_messenger, + d->global_index, 0x00020142, + LIBDAX_MSGS_SEV_FATAL, LIBDAX_MSGS_PRIO_HIGH, + "Drive is not grabbed on random access write", 0, 0); + return 0; + } if (d->current_profile == 0x12) /* DVD-RAM */ alignment = 2 * 1024; if (d->current_profile == 0x13) /* DVD-RW restricted overwrite */