diff options
Diffstat (limited to 'src/nsterm.m')
-rw-r--r-- | src/nsterm.m | 52 |
1 files changed, 39 insertions, 13 deletions
diff --git a/src/nsterm.m b/src/nsterm.m index 2defb9e2eec..df3934c5c34 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -272,7 +272,9 @@ long context_menu_value = 0; /* display update */ static struct frame *ns_updating_frame; +#if !defined (NS_DRAW_TO_BUFFER) || MAC_OS_X_VERSION_MIN_REQUIRED < 101400 static NSView *focus_view = NULL; +#endif static int ns_window_num = 0; static BOOL gsaved = NO; static BOOL ns_fake_keydown = NO; @@ -1139,7 +1141,9 @@ ns_update_end (struct frame *f) external (RIF) call; for whole frame, called after gui_update_window_end -------------------------------------------------------------------------- */ { +#if !defined (NS_DRAW_TO_BUFFER) || MAC_OS_X_VERSION_MIN_REQUIRED < 101400 EmacsView *view = FRAME_NS_VIEW (f); +#endif NSTRACE_WHEN (NSTRACE_GROUP_UPDATES, "ns_update_end"); @@ -1449,7 +1453,7 @@ ns_ring_bell (struct frame *f) } } - +#if !defined (NS_DRAW_TO_BUFFER) || MAC_OS_X_VERSION_MIN_REQUIRED < 101400 static void hide_bell (void) /* -------------------------------------------------------------------------- @@ -1463,6 +1467,7 @@ hide_bell (void) [bell_view remove]; } } +#endif /* ========================================================================== @@ -2876,6 +2881,8 @@ ns_get_shifted_character (NSEvent *event) ========================================================================== */ +#if 0 +/* FIXME: Remove this function. */ static void ns_redraw_scroll_bars (struct frame *f) { @@ -2890,6 +2897,7 @@ ns_redraw_scroll_bars (struct frame *f) [view display]; } } +#endif void @@ -5602,7 +5610,11 @@ ns_term_init (Lisp_Object display_name) ns_drag_types = [[NSArray arrayWithObjects: NSPasteboardTypeString, NSPasteboardTypeTabularText, +#if NS_USE_NSPasteboardTypeFileURL != 0 + NSPasteboardTypeFileURL, +#else NSFilenamesPboardType, +#endif NSPasteboardTypeURL, nil] retain]; /* If fullscreen is in init/default-frame-alist, focus isn't set @@ -8395,21 +8407,23 @@ not_in_argv (NSString *arg) void *pixels = CGBitmapContextGetData (context); int rowSize = CGBitmapContextGetBytesPerRow (context); int srcRowSize = NSWidth (srcRect) * scale * bpp; - void *srcPixels = pixels + (int)(NSMinY (srcRect) * scale * rowSize - + NSMinX (srcRect) * scale * bpp); - void *dstPixels = pixels + (int)(NSMinY (dstRect) * scale * rowSize - + NSMinX (dstRect) * scale * bpp); + void *srcPixels = (char *) pixels + + (int) (NSMinY (srcRect) * scale * rowSize + + NSMinX (srcRect) * scale * bpp); + void *dstPixels = (char *) pixels + + (int) (NSMinY (dstRect) * scale * rowSize + + NSMinX (dstRect) * scale * bpp); if (NSIntersectsRect (srcRect, dstRect) && NSMinY (srcRect) < NSMinY (dstRect)) for (int y = NSHeight (srcRect) * scale - 1 ; y >= 0 ; y--) - memmove (dstPixels + y * rowSize, - srcPixels + y * rowSize, + memmove ((char *) dstPixels + y * rowSize, + (char *) srcPixels + y * rowSize, srcRowSize); else for (int y = 0 ; y < NSHeight (srcRect) * scale ; y++) - memmove (dstPixels + y * rowSize, - srcPixels + y * rowSize, + memmove ((char *) dstPixels + y * rowSize, + (char *) srcPixels + y * rowSize, srcRowSize); #if MAC_OS_X_VERSION_MIN_REQUIRED < 101400 @@ -8533,9 +8547,19 @@ not_in_argv (NSString *arg) { return NO; } - /* FIXME: NSFilenamesPboardType is deprecated in 10.14, but the - NSURL method can only handle one file at a time. Stick with the - existing code at the moment. */ +#if NS_USE_NSPasteboardTypeFileURL != 0 + else if ([type isEqualToString: NSPasteboardTypeFileURL]) + { + type_sym = Qfile; + + NSArray *urls = [pb readObjectsForClasses: @[[NSURL self]] + options: nil]; + NSEnumerator *uenum = [urls objectEnumerator]; + NSURL *url; + while ((url = [uenum nextObject])) + strings = Fcons ([[url path] lispString], strings); + } +#else // !NS_USE_NSPasteboardTypeFileURL else if ([type isEqualToString: NSFilenamesPboardType]) { NSArray *files; @@ -8551,6 +8575,7 @@ not_in_argv (NSString *arg) while ( (file = [fenum nextObject]) ) strings = Fcons ([file lispString], strings); } +#endif // !NS_USE_NSPasteboardTypeFileURL else if ([type isEqualToString: NSPasteboardTypeURL]) { NSURL *url = [NSURL URLFromPasteboard: pb]; @@ -8727,7 +8752,8 @@ not_in_argv (NSString *arg) /* The array returned by [NSWindow parentWindow] may already be sorted, but the documentation doesn't tell us whether or not it is, so to be safe we'll sort it. */ -NSInteger nswindow_orderedIndex_sort (id w1, id w2, void *c) +static NSInteger +nswindow_orderedIndex_sort (id w1, id w2, void *c) { NSInteger i1 = [w1 orderedIndex]; NSInteger i2 = [w2 orderedIndex]; |