Fix segfault in libisofs
This commit is contained in:
parent
466d3ef582
commit
f0ca6d13e9
@ -1,19 +1,3 @@
|
||||
CD Burner
|
||||
|
||||
INFO++;
|
||||
|
||||
Crashes:
|
||||
burn_disc_free, 184 --> no bt for now
|
||||
|
||||
libiso_msgs_submit, 333 (libisofs problem?)
|
||||
Backtrace
|
||||
------------
|
||||
#0 libiso_msgs_submit (m=0x0, origin=1048576, error_code=2,
|
||||
severity=268435456, priority=0,
|
||||
msg_text=0xb74c3b8c "Starting image writing...", os_errno=0, flag=0)
|
||||
at libisofs/libiso_msgs.c:329
|
||||
#1 0xb7f08ba0 in iso_msg_debug (imgid=1048576,
|
||||
fmt=0xb7f19697 "Starting image writing...") at libisofs/messages.c:96
|
||||
#2 0xb7f0de93 in write_function (arg=0x8079b80) at libisofs/ecma119.c:766
|
||||
#3 0xb7864125 in start_thread () from /lib/libpthread.so.0
|
||||
#4 0xb774ca0e in clone () from /lib/libc.so.6
|
||||
|
@ -89,6 +89,7 @@ ecdb_setup(void)
|
||||
ECDB_DRIVE_ACTION_FINISHED = ecore_event_type_new();
|
||||
ECDB_DRIVE_ACTION_BEGUN = ecore_event_type_new();
|
||||
ECDB_DRIVE_ACTION_UPDATE = ecore_event_type_new();
|
||||
ecdb_image_init();
|
||||
|
||||
ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, ecdb_shutdown,
|
||||
NULL);
|
||||
|
@ -179,8 +179,6 @@ ecdb_burn_finished(void *data, int type, void *event)
|
||||
|
||||
printf("Freeing session and disc\n");
|
||||
burn_session_free(proj->session);
|
||||
|
||||
/* Crashes on this line... */
|
||||
burn_disc_free(proj->disc);
|
||||
|
||||
printf("Releasing drive\n");
|
||||
|
@ -30,8 +30,6 @@ ecdb_image_project(Ecdb_Project *proj)
|
||||
}
|
||||
}
|
||||
|
||||
ecdb_image_init();
|
||||
|
||||
ret = iso_image_new(proj->volume_id, &image);
|
||||
|
||||
if (!ret)
|
||||
@ -110,15 +108,17 @@ ecdb_image_project(Ecdb_Project *proj)
|
||||
|
||||
iso_image_create_burn_source(image, opts, &data_src);
|
||||
iso_write_opts_free(opts);
|
||||
|
||||
/* unref here? not sure from docs */
|
||||
iso_image_unref(image);
|
||||
|
||||
FIFO_CREATE:
|
||||
fifo_src = burn_fifo_source_new(data_src,
|
||||
proj->fifo_chunksize, proj->fifo_chunks, 0);
|
||||
burn_source_free(data_src);
|
||||
iso_finish();
|
||||
|
||||
/* I can't call this now, as it destroys the libiso_msgr before the
|
||||
* library is finished - I'll just init and finish once...
|
||||
*/
|
||||
//iso_finish();
|
||||
efreet_mime_shutdown();
|
||||
|
||||
return fifo_src;
|
||||
|
@ -13,6 +13,9 @@ ecdb_project_new(void)
|
||||
proj->burn_mode = BURN_MODE1;
|
||||
proj->fifo_chunksize = 2048;
|
||||
proj->fifo_chunks = 2048;
|
||||
proj->underrun_proof = TRUE;
|
||||
proj->opc = TRUE;
|
||||
proj->multi = TRUE;
|
||||
|
||||
return proj;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user