--- gtk+-3.2.3/modules/printbackends/papi/gtkprintbackendpapi.c.orig 2011-08-16 04:04:35.000000000 +0200 +++ gtk+-3.2.3/modules/printbackends/papi/gtkprintbackendpapi.c 2011-12-23 18:55:39.354135443 +0100 @@ -378,9 +378,9 @@ else if (val == GTK_PRINT_DUPLEX_VERTICAL) papiAttributeListAddString (&attrs, PAPI_ATTR_EXCL, "Duplex", "DuplexTumble"); - if (job->num_copies > 1) + if (gtk_print_job_get_num_copies(job) > 1) { - papiAttributeListAddInteger (&attrs, PAPI_ATTR_EXCL, "copies", job->num_copies); + papiAttributeListAddInteger (&attrs, PAPI_ATTR_EXCL, "copies", gtk_print_job_get_num_copies(job)); } prtnm = strdup (gtk_printer_get_name (GTK_PRINTER(printer))); @@ -723,37 +723,40 @@ GtkPageSet page_set; double scale; GtkPaperSize *papersize = NULL; + GtkPrintPages print_pages = gtk_print_settings_get_print_pages (settings); char *ppd_paper_name; - print_job->print_pages = gtk_print_settings_get_print_pages (settings); - print_job->page_ranges = NULL; - print_job->num_page_ranges = 0; + gtk_print_job_set_pages(print_job, print_pages); + gtk_print_job_set_page_ranges(print_job, NULL, 0); - if (print_job->print_pages == GTK_PRINT_PAGES_RANGES) - print_job->page_ranges = + if (print_pages == GTK_PRINT_PAGES_RANGES) { + gint num_page_ranges; + GtkPageRange *page_ranges = gtk_print_settings_get_page_ranges (settings, - &print_job->num_page_ranges); + &num_page_ranges); + gtk_print_job_set_page_ranges(print_job, page_ranges, num_page_ranges); + } - print_job->collate = gtk_print_settings_get_collate (settings); - print_job->reverse = gtk_print_settings_get_reverse (settings); - print_job->num_copies = gtk_print_settings_get_n_copies (settings); + gtk_print_job_set_collate(print_job, gtk_print_settings_get_collate (settings)); + gtk_print_job_set_reverse(print_job, gtk_print_settings_get_reverse (settings)); + gtk_print_job_set_num_copies(print_job, gtk_print_settings_get_n_copies (settings)); scale = gtk_print_settings_get_scale (settings); if (scale != 100.0) - print_job->scale = scale/100.0; + gtk_print_job_set_scale(print_job, scale/100.0); papersize = gtk_page_setup_get_paper_size (page_setup); ppd_paper_name = gtk_paper_size_get_ppd_name (papersize); page_set = gtk_print_settings_get_page_set (settings); if (page_set == GTK_PAGE_SET_EVEN) - print_job->page_set = GTK_PAGE_SET_EVEN; + gtk_print_job_set_page_set(print_job, GTK_PAGE_SET_EVEN); else if (page_set == GTK_PAGE_SET_ODD) - print_job->page_set = GTK_PAGE_SET_ODD; + gtk_print_job_set_page_set(print_job, GTK_PAGE_SET_ODD); else - print_job->page_set = GTK_PAGE_SET_ALL; + gtk_print_job_set_page_set(print_job, GTK_PAGE_SET_ALL); - print_job->rotate_to_orientation = TRUE; + gtk_print_job_set_rotate(print_job, TRUE); } --- gtk+-3.2.3/modules/printbackends/papi/Makefile.am.orig 2011-11-07 19:47:37.000000000 +0100 +++ gtk+-3.2.3/modules/printbackends/papi/Makefile.am 2011-12-23 19:55:00.277588009 +0100 @@ -16,7 +16,7 @@ $(top_builddir)/gtk/libgtk-3.la \ $(GTK_DEP_LIBS) -backenddir = $(libdir)/gtk-2.0/$(GTK_BINARY_VERSION)/printbackends +backenddir = $(libdir)/gtk-3.0/$(GTK_BINARY_VERSION)/printbackends backend_LTLIBRARIES = libprintbackend-papi.la