/* if we already have an active job list to a different output device */
if ((active_job = gvc->active_jobs)
&& strcmp(job->output_langname,gvc->active_jobs->output_langname) != 0) {
+ gvrender_end_job(active_job);
gvdevice_finalize(gvc); /* finalize previous jobs */
gvc->active_jobs = NULL; /* clear active list */
{
GVG_t *gvg, *gvg_next;
- if (gvc->active_jobs)
+ if (gvc->active_jobs) {
+ gvrender_end_job(gvc->active_jobs);
gvdevice_finalize(gvc);
+ }
emit_once_reset();
gvg_next = gvc->gvgs;
while ((gvg = gvg_next)) {