# HG changeset patch # User bsmith@81767d24-ef19-dc11-ae90-00e081727c95 # Date 1304314777 0 # Node ID 37f2938ecd72d7527281de295972b6214b78e973 # Parent 5320a168cc0d8cdc96eba89a1048c4c986a13ebe Fixes for bitblts with clipping and offset on GTK3. diff -r 5320a168cc0d -r 37f2938ecd72 gtk3/dw.c --- a/gtk3/dw.c Mon May 02 05:31:36 2011 +0000 +++ b/gtk3/dw.c Mon May 02 05:39:37 2011 +0000 @@ -7210,14 +7210,12 @@ if(cr) { if(src) - gdk_cairo_set_source_window (cr, gtk_widget_get_window(src), xsrc, ysrc); + gdk_cairo_set_source_window (cr, gtk_widget_get_window(src), xdest -xsrc, ydest - ysrc); else if(srcp) - cairo_set_source_surface (cr, srcp->image, xsrc, ysrc); -#if 0 - gdk_cairo_set_source_pixbuf (cr, srcp->pixbuf, xsrc, ysrc); -#endif - - cairo_paint(cr); + cairo_set_source_surface (cr, srcp->image, xdest - xsrc, ydest - ysrc); + + cairo_rectangle(cr, xdest, ydest, width, height); + cairo_fill(cr); cairo_destroy(cr); } DW_MUTEX_UNLOCK;