emacs-diffs
[Top][All Lists]
Advanced

[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);
 }
 
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]