diff options
| author | Po Lu | 2022-10-14 19:04:44 +0800 |
|---|---|---|
| committer | Po Lu | 2022-10-14 19:04:44 +0800 |
| commit | 271791b55b29945c30ddeb3eb7988f36246a2dfa (patch) | |
| tree | 4421afe6dc2f2e9196752af9fc40a95c490c8fbf | |
| parent | 6ea69fc7340e48cf73df351a544c1d8946395b3d (diff) | |
| download | emacs-271791b55b29945c30ddeb3eb7988f36246a2dfa.tar.gz emacs-271791b55b29945c30ddeb3eb7988f36246a2dfa.zip | |
Fix bug#56153
* src/nsterm.m (get_keysym_name)
(ns_draw_glyphless_glyph_string_foreground): Fix new Mac OS
deprecations.
([EmacsApp terminate:]): Use kbd_buffer_store_event instead
of emacs_event. (bug#56153)
([EmacsView windowDidChangeBackingProperties:]): Fix new Mac
OS deprecation.
| -rw-r--r-- | src/nsterm.m | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/src/nsterm.m b/src/nsterm.m index 82fe58e90ec..1fc72d83f66 100644 --- a/src/nsterm.m +++ b/src/nsterm.m | |||
| @@ -2479,7 +2479,7 @@ get_keysym_name (int keysym) | |||
| 2479 | { | 2479 | { |
| 2480 | static char value[16]; | 2480 | static char value[16]; |
| 2481 | NSTRACE ("get_keysym_name"); | 2481 | NSTRACE ("get_keysym_name"); |
| 2482 | sprintf (value, "%d", keysym); | 2482 | snprintf (value, 16, "%d", keysym); |
| 2483 | return value; | 2483 | return value; |
| 2484 | } | 2484 | } |
| 2485 | 2485 | ||
| @@ -4263,7 +4263,7 @@ ns_draw_glyphless_glyph_string_foreground (struct glyph_string *s) | |||
| 4263 | { | 4263 | { |
| 4264 | unsigned int ch = glyph->u.glyphless.ch; | 4264 | unsigned int ch = glyph->u.glyphless.ch; |
| 4265 | eassume (ch <= MAX_CHAR); | 4265 | eassume (ch <= MAX_CHAR); |
| 4266 | sprintf (buf, "%0*X", ch < 0x10000 ? 4 : 6, ch); | 4266 | snprintf (buf, 7, "%0*X", ch < 0x10000 ? 4 : 6, ch); |
| 4267 | str = buf; | 4267 | str = buf; |
| 4268 | } | 4268 | } |
| 4269 | 4269 | ||
| @@ -6116,17 +6116,20 @@ ns_term_shutdown (int sig) | |||
| 6116 | 6116 | ||
| 6117 | - (void) terminate: (id)sender | 6117 | - (void) terminate: (id)sender |
| 6118 | { | 6118 | { |
| 6119 | struct input_event ie; | ||
| 6120 | struct frame *f; | ||
| 6121 | |||
| 6119 | NSTRACE ("[EmacsApp terminate:]"); | 6122 | NSTRACE ("[EmacsApp terminate:]"); |
| 6120 | 6123 | ||
| 6121 | struct frame *emacsframe = SELECTED_FRAME (); | 6124 | f = SELECTED_FRAME (); |
| 6125 | EVENT_INIT (ie); | ||
| 6122 | 6126 | ||
| 6123 | if (!emacs_event) | 6127 | ie.kind = NS_NONKEY_EVENT; |
| 6124 | return; | 6128 | ie.code = KEY_NS_POWER_OFF; |
| 6129 | ie.arg = Qt; /* mark as non-key event */ | ||
| 6130 | XSETFRAME (ie.frame_or_window, f); | ||
| 6125 | 6131 | ||
| 6126 | emacs_event->kind = NS_NONKEY_EVENT; | 6132 | kbd_buffer_store_event (&ie); |
| 6127 | emacs_event->code = KEY_NS_POWER_OFF; | ||
| 6128 | emacs_event->arg = Qt; /* mark as non-key event */ | ||
| 6129 | EV_TRAILER ((id)nil); | ||
| 6130 | } | 6133 | } |
| 6131 | 6134 | ||
| 6132 | static bool | 6135 | static bool |
| @@ -8593,7 +8596,7 @@ ns_create_font_panel_buttons (id target, SEL select, SEL cancel_action) | |||
| 8593 | EmacsLayer *layer = (EmacsLayer *)[self layer]; | 8596 | EmacsLayer *layer = (EmacsLayer *)[self layer]; |
| 8594 | 8597 | ||
| 8595 | [layer setContentsScale:[[notification object] backingScaleFactor]]; | 8598 | [layer setContentsScale:[[notification object] backingScaleFactor]]; |
| 8596 | [layer setColorSpace:[[[notification object] colorSpace] CGColorSpace]]; | 8599 | [layer setColorSpace:[(id) [[notification object] colorSpace] CGColorSpace]]; |
| 8597 | 8600 | ||
| 8598 | ns_clear_frame (emacsframe); | 8601 | ns_clear_frame (emacsframe); |
| 8599 | expose_frame (emacsframe, 0, 0, NSWidth (frame), NSHeight (frame)); | 8602 | expose_frame (emacsframe, 0, 0, NSWidth (frame), NSHeight (frame)); |