Don't segfault... not an actual fix though.

This commit is contained in:
Jaime Thomas 2008-11-16 06:48:08 +00:00
parent 74357a291b
commit b268ba1c40
3 changed files with 12 additions and 5 deletions

View File

@ -176,7 +176,6 @@ ecdb_drive_progress_update(void *data)
while (TRUE) while (TRUE)
{ {
stat = burn_drive_get_status(drive, &p); stat = burn_drive_get_status(drive, &p);
ecore_pipe_write(proj->pipe, &p, sizeof(&p));
if (stat == BURN_DRIVE_SPAWNING) if (stat == BURN_DRIVE_SPAWNING)
{ {
sleep(1); sleep(1);
@ -184,11 +183,17 @@ ecdb_drive_progress_update(void *data)
} }
else if (stat == BURN_DRIVE_IDLE) else if (stat == BURN_DRIVE_IDLE)
{ {
ecore_pipe_write(proj->pipe, NULL, 0);
ecore_pipe_del(proj->pipe); ecore_pipe_del(proj->pipe);
/* Call the finished event handler here */ /* Call the finished event handler here */
pthread_exit(NULL); pthread_exit(NULL);
break; break;
} }
// Arg... too tired to figure this out now
//ecore_pipe_write(proj->pipe, &p, sizeof(p));
printf("%d/%d\n", p.sector, p.sectors);
sleep(1);
} }
} }

View File

@ -74,7 +74,6 @@ ecdb_erase_disc(Ecdb_Erase_Project *proj)
NULL); NULL);
burn_disc_erase(ECDB_PROJECT(proj)->drive-> burn_disc_erase(ECDB_PROJECT(proj)->drive->
tangible[0].drive, proj->quick); tangible[0].drive, proj->quick);
pthread_create(&progress_update, NULL, pthread_create(&progress_update, NULL,
ecdb_drive_progress_update, proj); ecdb_drive_progress_update, proj);
pthread_detach(progress_update); pthread_detach(progress_update);
@ -98,7 +97,12 @@ ecdb_erase_progress_handler(void *data, void *buffer, unsigned int nbyte)
char buf[1024]; char buf[1024];
// Is this correct? // Is this correct?
if (p->sector >= p->sectors) // Check this
if (sizeof(buffer) == sizeof(BurnProgress))
{
p = buffer;
}
else
{ {
ecore_event_add(ECDB_DRIVE_ACTION_FINISHED, NULL, NULL, NULL); ecore_event_add(ECDB_DRIVE_ACTION_FINISHED, NULL, NULL, NULL);
return; return;

View File

@ -402,8 +402,6 @@ ecdb_cb_erase_page_buttons_clicked(void *data, Evas_Object *o,
speed = !speed; speed = !speed;
printf("Burn speed: %d\n", speed); printf("Burn speed: %d\n", speed);
} }
printf("Action: %s\n", source);
} }
static void static void