+2009-11-21 [holger] 3.7.3cvs19
+
+ * src/printing.c
+ Modify cairo clip handling in preview windows,
+ to prevent print preview windows from being blank
+ with GTK+ 2.18. Follow recommendation of the GTK+
+ documentation (section "Migrating to client side windows")
+ and create a new cairo context for each expose event.
+
2009-11-19 [pawel] 3.7.3cvs18
* Makefile.am
( cvs diff -u -r 1.2.2.31 -r 1.2.2.32 src/news_gtk.c; ) > 3.7.3cvs16.patchset
( cvs diff -u -r 1.2.2.32 -r 1.2.2.33 src/news_gtk.c; ) > 3.7.3cvs17.patchset
( cvs diff -u -r 1.24.2.27 -r 1.24.2.28 Makefile.am; ) > 3.7.3cvs18.patchset
+( cvs diff -u -r 1.1.2.27 -r 1.1.2.28 src/printing.c; ) > 3.7.3cvs19.patchset
gboolean rendering;
gint page_width;
gint page_height;
+ GtkPrintContext *context;
} PreviewData;
/* callbacks */
preview_data->pages_to_print = g_list_reverse(preview_data->pages_to_print);
preview_data->current_page = preview_data->pages_to_print;
+ preview_data->context = context;
g_signal_connect(preview_data->area, "expose_event",
G_CALLBACK(cb_preview_expose),
GdkColor white;
GdkColor black;
GdkColor gray;
+ cairo_t *cr;
debug_print("preview_expose (current %p)\n", preview_data->current_page);
gdk_window_clear(preview_data->area->window);
g_object_unref(gc);
+ cr = gdk_cairo_create(preview_data->area->window);
+ gtk_print_context_set_cairo_context(preview_data->context, cr, PREVIEW_SCALE, PREVIEW_SCALE);
+ cairo_destroy(cr);
+
if (preview_data->current_page) {
preview_data->rendering = TRUE;
gtk_widget_set_sensitive(preview_data->close, FALSE);