1--- gtk+/gdk/quartz/gdkimage-quartz.c	2011-12-03 14:24:03.000000000 -0600
2+++ gtk+664894/gdk/quartz/gdkimage-quartz.c	2013-10-15 18:52:24.000000000 -0500
3@@ -150,6 +150,10 @@ _gdk_quartz_image_copy_to_image (GdkDraw
4       data = [rep bitmapData];
5       size = [rep size];
6
7+      int bpr = [rep bytesPerRow];
8+      int wid = size.width;
9+      int bpx = bpr/wid;
10+
11       for (y = 0; y < size.height; y++)
12 	{
13 	  guchar *src = data + y * [rep bytesPerRow];
14@@ -158,12 +162,15 @@ _gdk_quartz_image_copy_to_image (GdkDraw
15 	    {
16 	      gint32 pixel;
17
18+              if (bpx == 4) // fix gdk_pixbuf_get_from_drawable "yellow stripes"
19+                pixel = src[0] << 16 | src[1] << 8 | src[2];
20+              else
21 	      if (image->byte_order == GDK_LSB_FIRST)
22 		pixel = src[0] << 8 | src[1] << 16 |src[2] << 24;
23 	      else
24 		pixel = src[0] << 16 | src[1] << 8 |src[2];
25
26-	      src += 3;
27+	      src += bpx;
28
29 	      gdk_image_put_pixel (image, dest_x + x, dest_y + y, pixel);
30 	    }
31