Fix segfault in libisofs

This commit is contained in:
Jaime Thomas
2008-04-08 01:45:30 +00:00
parent b79293cb28
commit 8485d87d21
5 changed files with 9 additions and 23 deletions

View File

@ -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);

View File

@ -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");

View File

@ -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;

View File

@ -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;
}