diff -u /Users/cwbetts/Downloads/macclipboard-gimp-0.7 2/Makefile macclipboard/Makefile
--- /Users/cwbetts/Downloads/macclipboard-gimp-0.7 2/Makefile	2004-07-24 03:38:03.000000000 -0600
+++ macclipboard/Makefile	2012-05-17 15:40:10.000000000 -0600
@@ -1,9 +1,9 @@
-linkflags = -fnext-runtime -framework Cocoa -framework Carbon
+linkflags = -framework Cocoa
 
 all : macclipboard
 
 macclipboard : macclipboard.m clipboard_xfer.h
-	gcc -I/sw/include `gimptool-2.0 --cflags` `gimptool-2.0 --libs` $(linkflags) macclipboard.m -o macclipboard
+	gcc `gimptool-2.0 --cflags` `gimptool-2.0 --libs` $(linkflags) macclipboard.m -o macclipboard
 
 install : macclipboard
 	cp -p macclipboard $(HOME)/.gimp-2.0/plug-ins/
Binary files /Users/cwbetts/Downloads/macclipboard-gimp-0.7 2/macclipboard and macclipboard/macclipboard differ
diff -u /Users/cwbetts/Downloads/macclipboard-gimp-0.7 2/macclipboard.m macclipboard/macclipboard.m
--- /Users/cwbetts/Downloads/macclipboard-gimp-0.7 2/macclipboard.m	2004-11-30 20:01:46.000000000 -0700
+++ macclipboard/macclipboard.m	2012-05-17 20:38:50.000000000 -0600
@@ -32,7 +32,8 @@
 /*
 The Mac clipboard ('pasteboard' or 'scrap') can contain data in multiple
 formats. The least common denominator for graphic data is 'PICT', a QuickDraw
-picture.
+picture. However, QuickDraw, and by extension PICT, have been depricated and 
+aren't available under 64-bit code.
 
 Cocoa apps prefer TIFF, which also lets us transfer alpha channel data
 relatively reliably. When we post a TIFF, Cocoa does PICT translation for us.
@@ -69,7 +70,6 @@
 /* #include "config.h" */
 
 #import <Cocoa/Cocoa.h>
-#include <Carbon/Carbon.h>
 
 #include <sys/types.h>
 #include <sys/stat.h>
@@ -117,33 +117,6 @@
 static gboolean clipboard_paste_service    (gboolean         interactive,
                                             NSString        *service);
 
-
-/* PICT bits */
-static gboolean clipboard_offscreen_pict   (PicHandle         pic,
-                                            guchar            fill,
-                                            guint32          *outWidth,
-                                            guint32          *outHeight,
-                                            guint32          *outRowstride,
-                                            guchar          **outBits,
-                                            GWorldPtr        *outGworld);
-
-static gboolean clipboard_buffer_has_alpha (guchar           *bits,
-                                            guint32           width,
-                                            guint32           height,
-                                            guint32           rowstride);
-
-static gboolean clipboard_extract_alpha    (guchar           *bits,
-                                            guchar           *bits_white,
-                                            guint32           width,
-                                            guint32           height,
-                                            guint32           rowstride);
-
-static gboolean clipboard_paste_pict       (gboolean          interactive,
-                                            gint32            image_ID,
-                                            gint32            drawable_ID,
-                                            NSData           *data,
-                                            gint32           *image_out);
-
 /* Other image types */
 static gboolean clipboard_paste_bitmap     (gboolean          interactive,
                                             gint32            image_ID,
@@ -173,9 +146,6 @@
                                             gint32           drawable_ID,
                                             NSData          *data);
 
-static gint32   clipboard_load_pict        (gboolean         interactive,
-                                            gchar            *filename);
-
 GimpPlugInInfo PLUG_IN_INFO =
 {
   NULL,  /* init_proc  */
@@ -290,24 +260,6 @@
                           GIMP_PLUGIN,
                           1, 0,
                           copy_args, NULL);
-
-  gimp_install_procedure ("file_pict_load",
-                          "Loads files of Macintosh PICT file format",
-                          "Loads files of Macintosh PICT file format",
-                          "Brion Vibber <brion@pobox.com>",
-                          "Brion Vibber <brion@pobox.com>",
-                          "2004",
-                          "<Load>/pict",
-                          NULL,
-                          GIMP_PLUGIN,
-                          G_N_ELEMENTS (load_args),
-                          G_N_ELEMENTS (load_return_vals),
-                          load_args, load_return_vals);
-
-  gimp_register_magic_load_handler ("file_pict_load",
-                                    "pict",
-                                    "",
-                                    "");
 }
 
 static void
@@ -348,26 +300,9 @@
     ok = clipboard_paste_service (interactive, @"Grab/Selection");
   else if (strcmp (name, "plug_in_clipboard_grab_timed") == 0)
     ok = clipboard_paste_service (interactive, @"Grab/Timed Screen");
-  else if (strcmp (name, "file_pict_load") == 0)
-    {
-      gint32 image = clipboard_load_pict (interactive, param[1].data.d_string);
-      ok = (image != -1);
-      if (ok)
-        {
-          *nreturn_vals = 2;
-          values[1].type         = GIMP_PDB_IMAGE;
-          values[1].data.d_image = image;
-        }
-    }
-  else
-    {
-      values[0].data.d_status = GIMP_PDB_CALLING_ERROR;
-      [pool release];
-      return;
-    }
   
   values[0].data.d_status = ok ? GIMP_PDB_SUCCESS : GIMP_PDB_EXECUTION_ERROR;
-  [pool release];
+  [pool drain];
 }
 
 /*
@@ -522,11 +457,8 @@
   else
     {
       [board setData: [bitmap TIFFRepresentation] forType: NSTIFFPboardType];
-
-      /* Force conversion to PICT before we leave */
-      [board types];
-      [board dataForType: NSPICTPboardType];
     }
+	[bitmap release];
 
   return TRUE;
 }
@@ -561,13 +493,10 @@
   if (NSPerformService(service, board))
     return clipboard_paste_board (interactive, IMAGE_NONE, IMAGE_NONE, board);
 
-  g_message (_("Couldn't run system service %s"), [service cString]);
+  g_message (_("Couldn't run system service %s"), [service UTF8String]);
   return FALSE;
 }
 
-
-
-
 /*
  * Find pasteable image(s) from a given pasteboard and um... paste them.
  */
@@ -577,14 +506,13 @@
                        gint32     drawable_ID,
                        NSPasteboard *board)
 {
-  gboolean retval = FALSE;
+	gboolean retval = FALSE;
 
-  NSString *type = [board availableTypeFromArray:
-    [NSArray arrayWithObjects:
-      NSTIFFPboardType,
-      NSPICTPboardType,
-      NSRTFDPboardType,
-      nil]];
+	NSString *type = [board availableTypeFromArray:
+					  [NSArray arrayWithObjects:
+					   NSTIFFPboardType,
+					   NSRTFDPboardType,
+					   nil]];
   if (type == nil)
     {
       g_message (_("Clipboard is empty or doesn't contain a picture."));
@@ -599,233 +527,15 @@
     }
 
   if ([type isEqualToString: NSTIFFPboardType])
-    return clipboard_paste_bitmap (interactive, image_ID, drawable_ID,
+	  return clipboard_paste_bitmap (interactive, image_ID, drawable_ID,
       [NSBitmapImageRep imageRepWithData: data], NULL);
-  else if ([type isEqualToString: NSPICTPboardType])
-    return clipboard_paste_pict (interactive, image_ID, drawable_ID, data, NULL);
   else if ([type isEqualToString: NSRTFDPboardType])
-    return clipboard_paste_rtfd (interactive, image_ID, drawable_ID, data);
-
+	  return clipboard_paste_rtfd (interactive, image_ID, drawable_ID, data);
+	
   g_message (_("Unsupported type. This shouldn't happen!"));
   return FALSE;
 }
 
-
-/*
- * Render a given PICT into a newly created offscreen 32-bit graphics
- * world, returning some handy information about the bits.
- *
- *   fill should be either 0x00 (transparent) or 0xff (solid white) 
- *   *outGworld must be released by caller with DisposeGWorld()
- */
-static gboolean
-clipboard_offscreen_pict (PicHandle  pic,
-                          guchar     fill,
-                          guint32   *outWidth,
-                          guint32   *outHeight,
-                          guint32   *outRowstride,
-                          guchar   **outBits,
-                          GWorldPtr *outGworld)
-{
-  OSStatus err;
-  PictInfo info;
-  err = GetPictInfo (pic, &info, 0, 0, 0, 0);
-  if (err)
-    {
-      g_warning ("GetPictInfo returned %d", (int)err);
-      return FALSE;
-    }
-  
-  guint32 width = info.sourceRect.right - info.sourceRect.left;
-  guint32 height = info.sourceRect.bottom - info.sourceRect.top;
-  *outWidth = width;
-  *outHeight = height;
-  
-  GWorldPtr gworld;
-  QDErr qerr = NewGWorld (&gworld, 32, &info.sourceRect, NULL, NULL, 0);
-  if (qerr)
-    {
-      g_warning ("NewGWorld returned %d", (int)qerr);
-      return FALSE;
-    }
-  *outGworld = gworld;
-  
-  SetGWorld (gworld, NULL);
-  PixMapHandle pixmap = GetGWorldPixMap (gworld);
-  guchar *bits = (guchar *)GetPixBaseAddr (pixmap);
-  *outBits = bits;
-  
-  guint32 rowstride = (*pixmap)->rowBytes & 0x3fff;
-  *outRowstride = rowstride;
-  
-  /* Sometimes the picture won't fill the whole area;
-     pre-fill the background as transparent or solid */
-  memset (bits, fill, rowstride * height);
-
-  DrawPicture (pic, &info.sourceRect);
-  return TRUE;
-}
-
-/*
- * Returns TRUE if non-zero alpha values are detected.
- * Doesn't detect whether the image is actually transparent or not.
- */
-static gboolean
-clipboard_buffer_has_alpha (guchar  *bits,
-                            guint32  width,
-                            guint32  height,
-                            guint32  rowstride)
-{
-  int x, y;
-  for (y = 0; y < height; y++)
-    for (x = 0; x < width; x++)
-      if (0 != bits[y * rowstride + x * 4])
-        return TRUE;
-  return FALSE;
-}
-
-/*
- * Awful hack for pasting alpha images from Photoshop; we can't get the
- * alpha channel values directly out of it.
- *
- * On input:
- *  bits contains aRGB image premultipled with black
- *  bits_white contains aRGB image premultipled with white
- *
- * On output, the alpha channel values in bits are filled in.
- */
-static gboolean
-clipboard_extract_alpha (guchar  *bits,
-                         guchar  *bits_white,
-                         guint32  width,
-                         guint32  height,
-                         guint32  rowstride)
-{
-  guint32 x, y, n, rdiff, gdiff, bdiff;
-  for (y = 0; y < height; y++)
-    {
-      n = y * rowstride;
-      for (x = 0; x < width; x++)
-        {
-          /*
-             d' = a * s + (1 - a) * d
-          where:
-                        1 = d
-               bits_white = d'
-                     bits = a * s
-
-             a = 1 - bits_white + bits
-          */
-          
-          /* Rounding may put the channels off by one */
-          rdiff = 0xff - bits_white[n + 1] + bits[n + 1];
-          /* gdiff = 0xff - bits_white[n + 2] + bits[n + 2]; */
-          /* bdiff = 0xff - bits_white[n + 3] + bits[n + 3]; */
-          bits[n] = rdiff;
-          n += 4;
-          /* g_print("reconstructed alpha %02x %02x %02x\n", rdiff, gdiff, bdiff); */
-        }
-    }
-  return TRUE;
-}
-
-/*
- * Paste a PICT using QuickDraw
- */
-static gboolean
-clipboard_paste_pict (gboolean interactive,
-                      gint32   image_ID,
-                      gint32   drawable_ID,
-                      NSData  *data,
-                      gint32  *image_out)
-{
-  PicHandle pic;
-  pic = (PicHandle)NewHandle ([data length]);
-  if (pic == NULL)
-    {
-      g_warning ("clipboard_paste_pict: Couldn't allocate memory for picture (NewHandle returned FALSE)");
-      return FALSE;
-	}
-
-  [data getBytes: *pic];
-
-  guint32   width, height, rowstride;
-  GWorldPtr gworld;
-  guchar    *bits;
-  if (! clipboard_offscreen_pict (pic, 0x00,
-           &width, &height, &rowstride,
-           &bits, &gworld))
-    {
-      DisposeHandle ((Handle)pic);
-      return FALSE;
-    }
-  
-  gboolean hasalpha = clipboard_buffer_has_alpha (bits, width, height, rowstride);
-  if (! hasalpha)
-    {
-      /* PICTs pasted from Photoshop don't touch the alpha
-         channel but do store transparency. Ugly hack ahead!
-         We render the image again on a white background,
-         then extract alpha values from the difference.     */
-      GWorldPtr gworld_white;
-      guchar    *bits_white;
-      if (clipboard_offscreen_pict (pic, 0xff,
-                                    &width, &height, &rowstride,
-                                    &bits_white, &gworld_white))
-        {
-          hasalpha = clipboard_extract_alpha (bits, bits_white,
-                                              width, height, rowstride);
-          DisposeGWorld (gworld_white);
-        }
-    }
-  
-  guint32 layertype;
-  xfer_func_type xfer_func;
-  if (image_ID != IMAGE_NONE)
-    {
-      GimpDrawable *drawable = gimp_drawable_get (drawable_ID);
-      if (drawable->bpp < 3)
-        {
-          layertype = GIMP_GRAYA_IMAGE;
-          if (hasalpha)
-            xfer_func = xfer_argbP_graya;
-          else
-            xfer_func = xfer_0rgb_graya;
-        }
-      else
-        {
-          layertype = GIMP_RGBA_IMAGE;
-          if (hasalpha)
-            xfer_func = xfer_argbP_rgba;
-          else
-            xfer_func = xfer_0rgb_rgba;
-        }
-    }
-  else
-    {
-      if (hasalpha)
-        {
-          layertype = GIMP_RGBA_IMAGE;
-          xfer_func = xfer_argbP_rgba;
-        }
-      else
-        {
-          layertype = GIMP_RGB_IMAGE;
-          xfer_func = xfer_0rgb_rgb;
-        }
-    }
-  
-  NSSize dpi = {72.0, 72.0};
-  gboolean retval = clipboard_paste_image (interactive, image_ID, drawable_ID, dpi,
-                                           bits, width, height, rowstride,
-                                           4, 32, layertype, xfer_func, NULL, image_out);
-  
-  DisposeGWorld (gworld);
-  DisposeHandle ((Handle)pic);
-  
-  return retval;
-}
-
 static gboolean
 clipboard_paste_image (gboolean       interactive,
                        gint32         image_ID,
@@ -975,7 +685,7 @@
       if (channels != (3 + alpha))
         {
           g_message (_("Don't understand %d-channel image in RGB image (%s; alpha: %s)"),
-                     channels, [colorSpace cString], alpha ? "yes" : "no");
+                     channels, [colorSpace UTF8String], alpha ? "yes" : "no");
           return FALSE;
         }
     }
@@ -986,10 +696,11 @@
       if (channels != (1 + alpha))
         {
           g_message (_("Don't understand %d-channel image in grayscale image (%s; alpha: %s)"),
-                     channels, [colorSpace cString], alpha ? "yes" : "no");
+                     channels, [colorSpace UTF8String], alpha ? "yes" : "no");
           return FALSE;
         }
     }
+	/* Apparently black color spaces are depricated in Snow Leopard and later*/
   else if ([colorSpace isEqualToString: NSCalibratedBlackColorSpace] ||
            [colorSpace isEqualToString: NSDeviceBlackColorSpace])
     {
@@ -997,13 +708,13 @@
       if (channels != (1 + alpha))
         {
           g_message (_("Don't understand %d-channel image in grayscale image (%s; alpha: %s)"),
-                     channels, [colorSpace cString], alpha ? "yes" : "no");
+                     channels, [colorSpace UTF8String], alpha ? "yes" : "no");
           return FALSE;
         }
     }
   else
     {
-      g_message (_("Unknown colorspace! %s"), [colorSpace cString]);
+      g_message (_("Unknown colorspace! %s"), [colorSpace UTF8String]);
       return FALSE;
     }
 
@@ -1153,31 +864,3 @@
   g_message (_("Rich text on clipboard is corrupt, can't read."));
   return FALSE;
 }
-
-static gint32
-clipboard_load_pict (gboolean  interactive,
-                     gchar    *filename)
-{
-  struct stat filestat;
-  if (0 == stat (filename, &filestat))
-    {
-      long fsize = filestat.st_size - 512;
-      guchar *buf = malloc (fsize);
-      FILE *file = fopen (filename, "rb");
-      fseek (file, 512, SEEK_SET);
-      fread (buf, 1, fsize, file);
-      fclose (file);
-      NSData *data = [NSData dataWithBytesNoCopy: buf length: fsize];
-      if (data != nil)
-        {
-          gint32 image_out;
-          if (clipboard_paste_pict (interactive, -1, -1, data, &image_out))
-            {
-              gimp_image_set_filename (image_out, filename);
-              return image_out;
-            }
-        }
-    }
-  g_message ("Could not open file %s", filename);
-  return -1;
-}
