diff src/macfns.c @ 59189:60ffced08532

* term/mac-win.el: Require x-dnd. (mac-drag-n-drop): Sync with W32 version. Use x-dnd.el functions. * macfns.c (install_window_handler): Modify extern to return OSErr value. (mac_window): Handle return value of install_window_handler. * macterm.c (reflect_byte): Remove function. (mac_create_bitmap_from_bitmap_data): Don't call it. Lookup table instead. (mac_do_font_lists): Simplify calculation of the longest nonspecial string. [TARGET_API_MAC_CARBON] (init_mac_drag_n_drop): Remove function and declaration. (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call it. [TARGET_API_MAC_CARBON] (mac_do_track_drag): New function and declaration. (install_window_handler): Return OSErr value. (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for tracking/receiving drag-and-drop items. (do_ae_open_documents): Generate unibyte strings for filenames. [TARGET_API_MAC_CARBON] (mac_do_receive_drag): Likewise. Reject only non-filename items. Set event modifiers. Set return value.
author Steven Tamm <steventamm@mac.com>
date Wed, 29 Dec 2004 17:25:02 +0000
parents 9bde7721ad0f
children a1edc5959dcf 95879cc1ed20
line wrap: on
line diff
--- a/src/macfns.c	Wed Dec 29 16:01:49 2004 +0000
+++ b/src/macfns.c	Wed Dec 29 17:25:02 2004 +0000
@@ -158,7 +158,7 @@
 
 extern Lisp_Object Vwindow_system_version;
 
-#if 0 /* Use xstricmp instead. */
+#if 0 /* Use xstricmp instead.  */
 /* compare two strings ignoring case */
 
 static int
@@ -2261,7 +2261,7 @@
 
 /* Create and set up the Mac window for frame F.  */
 
-extern install_window_handler (WindowPtr);
+extern OSErr install_window_handler (WindowPtr);
 
 static void
 mac_window (f)
@@ -2282,7 +2282,11 @@
   if (FRAME_MAC_WINDOW (f))
     {
       SetWRefCon (FRAME_MAC_WINDOW (f), (long) f->output_data.mac);
-      install_window_handler (FRAME_MAC_WINDOW (f));
+      if (install_window_handler (FRAME_MAC_WINDOW (f)) != noErr)
+	{
+	  DisposeWindow (FRAME_MAC_WINDOW (f));
+	  FRAME_MAC_WINDOW (f) = NULL;
+	}
     }
 #else
   FRAME_MAC_WINDOW (f)