- /* Try to remove the job. If we can't, then the thread has already
- * picked it up and we are going get a signal when it's done. If we
- * can, then the job is fully dead and will never rnu.. */
- if (ev_job_queue_remove_job (job_info->job))
- g_object_unref (job_info->job);
-
+ g_signal_handlers_disconnect_by_func (job_info->job,
+ G_CALLBACK (job_finished_cb),
+ pixbuf_cache);
+ ev_job_queue_remove_job (job_info->job);
+ g_object_unref (job_info->job);