Some aftermath of the fix of bug #543868. Clip and flip to the source, not

2008-08-15  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkdrawable-quartz.c (gdk_quartz_draw_drawable): Some
	aftermath of the fix of bug #543868. Clip and flip to the source,
	not the destination. Don't save/restore the gstate, it's already
	done when getting/releasing the context.

svn path=/trunk/; revision=21136
This commit is contained in:
Richard Hult 2008-08-15 20:27:22 +00:00 committed by Richard Hult
parent 6a1ff1bc22
commit 31d013d4bf
2 changed files with 10 additions and 10 deletions

View File

@ -1,3 +1,10 @@
2008-08-15 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkdrawable-quartz.c (gdk_quartz_draw_drawable): Some
aftermath of the fix of bug #543868. Clip and flip to the source,
not the destination. Don't save/restore the gstate, it's already
done when getting/releasing the context.
2008-08-15 Richard Hult <richard@imendio.com>
* gtk/gtkclipboard-quartz.c (gtk_clipboard_wait_is_uris_available):

View File

@ -337,7 +337,6 @@ gdk_quartz_draw_drawable (GdkDrawable *drawable,
else if (dest_depth != 0 && src_depth == dest_depth)
{
CGContextRef context = gdk_quartz_drawable_get_context (drawable, FALSE);
gint width, height;
if (!context)
return;
@ -345,23 +344,17 @@ gdk_quartz_draw_drawable (GdkDrawable *drawable,
_gdk_quartz_gc_update_cg_context (gc, drawable, context,
GDK_QUARTZ_CONTEXT_STROKE);
CGContextSaveGState (context);
/* convert coordinates from gtk+ to core graphics */
gdk_drawable_get_size (drawable, &width, &height);
CGContextTranslateCTM (context, 0, height);
CGContextClipToRect (context, CGRectMake (xdest, ydest, width, height));
CGContextTranslateCTM (context, xdest - xsrc, ydest - ysrc +
GDK_PIXMAP_IMPL_QUARTZ (src_impl)->height);
CGContextScaleCTM (context, 1.0, -1.0);
CGContextClipToRect (context, CGRectMake (xdest, ydest, width, height));
CGContextTranslateCTM (context, xdest - xsrc, ydest - ysrc);
CGContextDrawImage (context,
CGRectMake(0, 0,
GDK_PIXMAP_IMPL_QUARTZ (src_impl)->width,
GDK_PIXMAP_IMPL_QUARTZ (src_impl)->height),
GDK_PIXMAP_IMPL_QUARTZ (src_impl)->image);
CGContextRestoreGState (context);
gdk_quartz_drawable_release_context (drawable, context);
}
else