[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 7ff7f948f7 1/2: Avoid FOCUS_IN_EVENTS not being sent on NS
From: |
Po Lu |
Subject: |
master 7ff7f948f7 1/2: Avoid FOCUS_IN_EVENTS not being sent on NS |
Date: |
Thu, 20 Jan 2022 20:19:29 -0500 (EST) |
branch: master
commit 7ff7f948f7802941b98294ae8a52a9a178dcaa9d
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>
Avoid FOCUS_IN_EVENTS not being sent on NS
* src/nsterm.m ([EmacsView windowDidBecomeKey]): Work around
emacs_event being NULL by storing focus in events directly
into the keyboard buffer. (bug#52376)
---
src/nsterm.m | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/src/nsterm.m b/src/nsterm.m
index 4f60cc737d..a3c7b55218 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -7071,6 +7071,9 @@ not_in_argv (NSString *arg)
{
struct ns_display_info *dpyinfo = FRAME_DISPLAY_INFO (emacsframe);
struct frame *old_focus = dpyinfo->ns_focus_frame;
+ struct input_event event;
+
+ EVENT_INIT (event);
NSTRACE ("[EmacsView windowDidBecomeKey]");
@@ -7079,11 +7082,9 @@ not_in_argv (NSString *arg)
ns_frame_rehighlight (emacsframe);
- if (emacs_event)
- {
- emacs_event->kind = FOCUS_IN_EVENT;
- EV_TRAILER ((id)nil);
- }
+ event.kind = FOCUS_IN_EVENT;
+ XSETFRAME (event.frame_or_window, emacsframe);
+ kbd_buffer_store_event (&event);
}