Index: libhb/hb.c =================================================================== --- libhb/hb.c (revision 695) +++ libhb/hb.c (working copy) @@ -23,6 +23,7 @@ from this one (see work.c) */ hb_list_t * jobs; int job_count; + int job_count_permanent; volatile int work_die; int work_error; hb_thread_t * work_thread; @@ -655,6 +656,9 @@ /* Add the job to the list */ hb_list_add( h->jobs, job_copy ); + h->job_count = hb_count(h); + h->job_count_permanent++; + hb_log("Job count: %i | List size: %i | Job cur: %i", h->job_count, hb_count(h), h->job_count_permanent - hb_list_count( h->jobs )); } /** @@ -665,7 +669,8 @@ void hb_rem( hb_handle_t * h, hb_job_t * job ) { hb_list_rem( h->jobs, job ); - + h->job_count = hb_count(h); + h->job_count_permanent--; /* XXX free everything XXX */ } @@ -903,7 +908,7 @@ { /* XXX Hack */ h->state.param.working.job_cur = - h->job_count - hb_list_count( h->jobs ); + h->job_count_permanent - hb_list_count( h->jobs ); h->state.param.working.job_count = h->job_count; } hb_unlock( h->state_lock );