aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJan Djärv2002-10-05 23:36:29 +0000
committerJan Djärv2002-10-05 23:36:29 +0000
commitf7d4343819e4d205ce7c6c6115ed237ef454d7e9 (patch)
tree389bb858e43c676a280f222ab4b8709ce2874150 /src
parent928ef6d9867c347dcd346686d5b717563c7b7a6a (diff)
downloademacs-f7d4343819e4d205ce7c6c6115ed237ef454d7e9.tar.gz
emacs-f7d4343819e4d205ce7c6c6115ed237ef454d7e9.zip
* 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.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog7
-rw-r--r--src/xterm.c27
2 files changed, 8 insertions, 26 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 9508a0daef4..a609251ed08 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,10 @@
12002-10-06 Jan D. <jan.h.d@swipnet.se>
2
3 * xterm.c (XTread_socket): Fix from 2002-10-03 didn't cover all
4 cases. The correct fix is to pass ReparentNotify to Xt.
5 The shell widget interprets ConfigureNotify differently depending
6 on if it has been reparented or not.
7
12002-10-05 Markus Rost <rost@math.ohio-state.edu> 82002-10-05 Markus Rost <rost@math.ohio-state.edu>
2 9
3 * editfns.c (Fformat_time_string): Doc fix. 10 * editfns.c (Fformat_time_string): Doc fix.
diff --git a/src/xterm.c b/src/xterm.c
index e457d6e4519..eded4c8d9fa 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -10443,6 +10443,7 @@ XTread_socket (sd, bufp, numchars, expected)
10443 x_real_positions (f, &x, &y); 10443 x_real_positions (f, &x, &y);
10444 f->output_data.x->left_pos = x; 10444 f->output_data.x->left_pos = x;
10445 f->output_data.x->top_pos = y; 10445 f->output_data.x->top_pos = y;
10446 goto OTHER;
10446 } 10447 }
10447 break; 10448 break;
10448 10449
@@ -11173,32 +11174,6 @@ XTread_socket (sd, bufp, numchars, expected)
11173 f->output_data.x->win_gravity = NorthWestGravity; 11174 f->output_data.x->win_gravity = NorthWestGravity;
11174 x_wm_set_size_hint (f, (long) 0, 0); 11175 x_wm_set_size_hint (f, (long) 0, 0);
11175 } 11176 }
11176#ifdef USE_MOTIF
11177 /* Some window managers pass (0,0) as the location of
11178 the window, and the Motif event handler stores it
11179 in the emacs widget, which messes up Motif menus. */
11180 if (event.xconfigure.x == 0 && event.xconfigure.y == 0)
11181 {
11182 Window child;
11183 int count;
11184
11185 /* We can get a ConfigureNotify because of a resize,
11186 so we can't just take x and y from the widget.
11187 Since this event may come on something else than
11188 the top level window, we can't use x_real_position
11189 either. So we get the root window x/y for 0/0 in
11190 the window in the event. */
11191 count = x_catch_errors (FRAME_X_DISPLAY (f));
11192 XTranslateCoordinates (FRAME_X_DISPLAY (f),
11193 event.xconfigure.window,
11194 FRAME_X_DISPLAY_INFO (f)->root_window,
11195 0, 0,
11196 &event.xconfigure.x,
11197 &event.xconfigure.y,
11198 &child);
11199 x_uncatch_errors (FRAME_X_DISPLAY (f), count);
11200 }
11201#endif /* USE_MOTIF */
11202 } 11177 }
11203 goto OTHER; 11178 goto OTHER;
11204 11179