stil->extent (Y_AXIS).length ());
Paper_line *pl = new Paper_line (dim, scm_cons (stil->smobbed_copy (),
SCM_EOL), is_title);
- return pl->self_scm ();
+
+ return scm_gc_unprotect_object (pl->self_scm ());
}
/* Simplistic page interface */
(*pages)[i]->output (out, i + 1 == page_count);
out->output_scheme (scm_list_1 (ly_symbol2scm ("end-output")));
+
+ /*
+ Ugh
+ */
+ for (int i =pages->size (); i--;)
+ delete pages->elem(i);
+ delete pages;
+
+
progress_indication ("\n");
}
SCM all = lines ();
SCM proc = paper->get_scmvar ("page-breaking");
- SCM breaks = scm_apply_0 (proc, scm_list_n (all,
- gh_double2scm (height_),
- gh_double2scm (text_height),
- gh_double2scm (-copy_height),
- gh_double2scm (-tag_height),
- SCM_UNDEFINED));
+ SCM breaks = scm_apply_0 (proc, scm_list_n (all, gh_double2scm (height_),
+ gh_double2scm (text_height),
+ gh_double2scm (-copy_height),
+ gh_double2scm (-tag_height),
+ SCM_UNDEFINED));
/* Copyright on first page. */
if (unsmob_stencil (copyright_))
/* Tagline on last page. */
if (unsmob_stencil (tagline_))
page->tagline_ = tagline_;
+
return pages;
}