1 --- gtk+-3.2.3/modules/printbackends/papi/gtkprintbackendpapi.c.orig 2011-08-16 04:04:35.000000000 +0200
2 +++ gtk+-3.2.3/modules/printbackends/papi/gtkprintbackendpapi.c 2011-12-23 18:55:39.354135443 +0100
4 else if (val == GTK_PRINT_DUPLEX_VERTICAL)
5 papiAttributeListAddString (&attrs, PAPI_ATTR_EXCL, "Duplex", "DuplexTumble");
7 - if (job->num_copies > 1)
8 + if (gtk_print_job_get_num_copies(job) > 1)
10 - papiAttributeListAddInteger (&attrs, PAPI_ATTR_EXCL, "copies", job->num_copies);
11 + papiAttributeListAddInteger (&attrs, PAPI_ATTR_EXCL, "copies", gtk_print_job_get_num_copies(job));
14 prtnm = strdup (gtk_printer_get_name (GTK_PRINTER(printer)));
18 GtkPaperSize *papersize = NULL;
19 + GtkPrintPages print_pages = gtk_print_settings_get_print_pages (settings);
22 - print_job->print_pages = gtk_print_settings_get_print_pages (settings);
23 - print_job->page_ranges = NULL;
24 - print_job->num_page_ranges = 0;
25 + gtk_print_job_set_pages(print_job, print_pages);
26 + gtk_print_job_set_page_ranges(print_job, NULL, 0);
28 - if (print_job->print_pages == GTK_PRINT_PAGES_RANGES)
29 - print_job->page_ranges =
30 + if (print_pages == GTK_PRINT_PAGES_RANGES) {
31 + gint num_page_ranges;
32 + GtkPageRange *page_ranges =
33 gtk_print_settings_get_page_ranges (settings,
34 - &print_job->num_page_ranges);
36 + gtk_print_job_set_page_ranges(print_job, page_ranges, num_page_ranges);
39 - print_job->collate = gtk_print_settings_get_collate (settings);
40 - print_job->reverse = gtk_print_settings_get_reverse (settings);
41 - print_job->num_copies = gtk_print_settings_get_n_copies (settings);
42 + gtk_print_job_set_collate(print_job, gtk_print_settings_get_collate (settings));
43 + gtk_print_job_set_reverse(print_job, gtk_print_settings_get_reverse (settings));
44 + gtk_print_job_set_num_copies(print_job, gtk_print_settings_get_n_copies (settings));
46 scale = gtk_print_settings_get_scale (settings);
48 - print_job->scale = scale/100.0;
49 + gtk_print_job_set_scale(print_job, scale/100.0);
51 papersize = gtk_page_setup_get_paper_size (page_setup);
52 ppd_paper_name = gtk_paper_size_get_ppd_name (papersize);
54 page_set = gtk_print_settings_get_page_set (settings);
55 if (page_set == GTK_PAGE_SET_EVEN)
56 - print_job->page_set = GTK_PAGE_SET_EVEN;
57 + gtk_print_job_set_page_set(print_job, GTK_PAGE_SET_EVEN);
58 else if (page_set == GTK_PAGE_SET_ODD)
59 - print_job->page_set = GTK_PAGE_SET_ODD;
60 + gtk_print_job_set_page_set(print_job, GTK_PAGE_SET_ODD);
62 - print_job->page_set = GTK_PAGE_SET_ALL;
63 + gtk_print_job_set_page_set(print_job, GTK_PAGE_SET_ALL);
65 - print_job->rotate_to_orientation = TRUE;
66 + gtk_print_job_set_rotate(print_job, TRUE);
70 --- gtk+-3.24.36/modules/printbackends/meson.build.orig 2022-12-22 15:01:18.000000000 +0100
71 +++ gtk+-3.24.36/modules/printbackends/meson.build 2022-12-25 12:15:51.137673110 +0100
72 @@ -51,9 +51,9 @@ if enabled_print_backends.contains('test
75 if enabled_print_backends.contains('papi')
77 - if print_strict_deps
78 - error('\'papi\' backend not supported with meson yet')
79 + papi_dep = cc.find_library('papi', required: print_strict_deps)
81 + print_backends += ['papi']
85 @@ -138,4 +138,15 @@ if print_backends.contains('cups')
86 install_dir: printbackends_install_dir,
87 name_suffix: module_suffix,
91 +if print_backends.contains('papi')
92 + shared_module('printbackend-papi',
93 + 'papi/gtkprintbackendpapi.c',
94 + 'papi/gtkprinterpapi.c',
95 + c_args: printbackends_args,
96 + dependencies: [libgtk_dep, papi_dep],
97 + install_dir: printbackends_install_dir,
98 + name_suffix: module_suffix,