changeset 47766:76b2ec66665d

* xterm.c (XTread_socket): Fix from 2002-10-03 didn't cover all cases. The correct fix is to pass ReparentNotify to Xt. The shell widget interprets ConfigureNotify differently depending on if it has been reparented or not.
author Jan Djärv <jan.h.d@swipnet.se>
date Sat, 05 Oct 2002 23:36:29 +0000
parents 1dc1153f070a
children 1ad06cb931a9
files src/ChangeLog src/xterm.c
diffstat 2 files changed, 8 insertions(+), 26 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Sat Oct 05 16:35:28 2002 +0000
+++ b/src/ChangeLog	Sat Oct 05 23:36:29 2002 +0000
@@ -1,3 +1,10 @@
+2002-10-06  Jan D.  <jan.h.d@swipnet.se>
+
+	* xterm.c (XTread_socket): Fix from 2002-10-03 didn't cover all
+	cases.  The correct fix is to pass ReparentNotify to Xt.
+	The shell widget interprets ConfigureNotify differently depending
+	on if it has been reparented or not.
+
 2002-10-05  Markus Rost  <rost@math.ohio-state.edu>
 
 	* editfns.c (Fformat_time_string): Doc fix.
--- a/src/xterm.c	Sat Oct 05 16:35:28 2002 +0000
+++ b/src/xterm.c	Sat Oct 05 23:36:29 2002 +0000
@@ -10443,6 +10443,7 @@
 		  x_real_positions (f, &x, &y);
 		  f->output_data.x->left_pos = x;
 		  f->output_data.x->top_pos = y;
+                  goto OTHER;
 		}
 	      break;
 
@@ -11173,32 +11174,6 @@
 		      f->output_data.x->win_gravity = NorthWestGravity;
 		      x_wm_set_size_hint (f, (long) 0, 0);
 		    }
-#ifdef USE_MOTIF
-		  /* Some window managers pass (0,0) as the location of
-		     the window, and the Motif event handler stores it
-		     in the emacs widget, which messes up Motif menus.  */
-		  if (event.xconfigure.x == 0 && event.xconfigure.y == 0)
-		    {
-                      Window child;
-		      int count;
-
-		      /* We can get a ConfigureNotify because of a resize,
-			 so we can't just take x and y from the widget.
-			 Since this event may come on something else than
-			 the top level window,  we can't use x_real_position
-			 either.  So we get the root window x/y for 0/0 in
-			 the window in the event. */
-		      count = x_catch_errors (FRAME_X_DISPLAY (f));
-                      XTranslateCoordinates (FRAME_X_DISPLAY (f),
-                                             event.xconfigure.window,
-                                             FRAME_X_DISPLAY_INFO (f)->root_window,
-                                             0, 0,
-                                             &event.xconfigure.x,
-                                             &event.xconfigure.y,
-                                             &child);
-		      x_uncatch_errors (FRAME_X_DISPLAY (f), count);
-		    }
-#endif /* USE_MOTIF */
 		}
 	      goto OTHER;