aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPo Lu2022-10-14 19:04:44 +0800
committerPo Lu2022-10-14 19:04:44 +0800
commit271791b55b29945c30ddeb3eb7988f36246a2dfa (patch)
tree4421afe6dc2f2e9196752af9fc40a95c490c8fbf
parent6ea69fc7340e48cf73df351a544c1d8946395b3d (diff)
downloademacs-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.m23
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
6132static bool 6135static 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));