changeset 7128:6c6a776a64e1

(XTread_socket, case ClientMessage): Don't call XSetInputFocus if event is not for an existing frame. (XTread_socket) [USE_X_TOOLKIT]: Never pass motion events to the toolkit.
author Richard M. Stallman <rms@gnu.org>
date Wed, 27 Apr 1994 08:27:00 +0000
parents 2dc00bfe8280
children 6b894fba586b
files src/xterm.c
diffstat 1 files changed, 8 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/xterm.c	Wed Apr 27 06:19:51 1994 +0000
+++ b/src/xterm.c	Wed Apr 27 08:27:00 1994 +0000
@@ -3398,13 +3398,10 @@
 		if (event.xclient.data.l[0] == Xatom_wm_take_focus)
 		  {
 		    f = x_window_to_frame (event.xclient.window);
-#if 0 /* x_focus_on_frame is a no-op anyway.  */
+		    /* Since we set WM_TAKE_FOCUS, we must call
+		       XSetInputFocus explicitly.  But not if f is null,
+		       since that might be an event for a deleted frame.  */
 		    if (f)
-		      x_focus_on_frame (f);
-		    else
-#endif
-		      /* Since we set WM_TAKE_FOCUS, we must call
-			 XSetInputFocus explicitly.  */
 		      XSetInputFocus (event.xclient.display,
 				      event.xclient.window,
 				      RevertToPointerRoot,
@@ -4012,9 +4009,14 @@
 		clear_mouse_face ();
 	      }
 	  }
+#if 0 /* This should be unnecessary, since the toolkit has no use
+	 for motion events that happen outside of the menu event loop,
+	 and it seems to cause the bug that mouse events stop coming
+	 after a while.  */
 #ifdef USE_X_TOOLKIT
 	  goto OTHER;
 #endif /* USE_X_TOOLKIT */
+#endif
 	  break;
 
 	case ConfigureNotify: