Mercurial > emacs
comparison src/xterm.c @ 18528:73f4d9258f04
(x_make_frame_visible): Check has_been_visible
field before the UNBLOCK_INPUT.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Wed, 02 Jul 1997 04:41:00 +0000 |
parents | b7024f44f5d2 |
children | 3e414b9da546 |
comparison
equal
deleted
inserted
replaced
18527:bb491744ccd7 | 18528:73f4d9258f04 |
---|---|
5685 before we do anything else. We do this loop with input not blocked | 5685 before we do anything else. We do this loop with input not blocked |
5686 so that incoming events are handled. */ | 5686 so that incoming events are handled. */ |
5687 { | 5687 { |
5688 Lisp_Object frame; | 5688 Lisp_Object frame; |
5689 int count = input_signal_count; | 5689 int count = input_signal_count; |
5690 /* This must be before UNBLOCK_INPUT | |
5691 since events that arrive in response to the actions above | |
5692 will set it when they are handled. */ | |
5693 int previously_visible = f->output_data.x->has_been_visible; | |
5690 | 5694 |
5691 original_left = f->output_data.x->left_pos; | 5695 original_left = f->output_data.x->left_pos; |
5692 original_top = f->output_data.x->top_pos; | 5696 original_top = f->output_data.x->top_pos; |
5693 | 5697 |
5694 /* This must come after we set COUNT. */ | 5698 /* This must come after we set COUNT. */ |
5697 /* Arriving X events are processed here. */ | 5701 /* Arriving X events are processed here. */ |
5698 | 5702 |
5699 /* Now move the window back to where it was "supposed to be". | 5703 /* Now move the window back to where it was "supposed to be". |
5700 But don't do it if the gravity is negative. | 5704 But don't do it if the gravity is negative. |
5701 When the gravity is negative, this uses a position | 5705 When the gravity is negative, this uses a position |
5702 that is 3 pixels too low. Perhaps that's really the border width. */ | 5706 that is 3 pixels too low. Perhaps that's really the border width. |
5707 | |
5708 Don't do this if the window has never been visible before, | |
5709 because the window manager may choose the position | |
5710 and we don't want to override it. */ | |
5703 | 5711 |
5704 if (! FRAME_VISIBLE_P (f) | 5712 if (! FRAME_VISIBLE_P (f) |
5705 && f->output_data.x->win_gravity == NorthWestGravity | 5713 && f->output_data.x->win_gravity == NorthWestGravity |
5706 && f->output_data.x->has_been_visible) | 5714 && previously_visible) |
5707 { | 5715 { |
5708 BLOCK_INPUT; | 5716 BLOCK_INPUT; |
5709 | 5717 |
5710 #ifdef USE_X_TOOLKIT | 5718 #ifdef USE_X_TOOLKIT |
5711 XMoveWindow (FRAME_X_DISPLAY (f), XtWindow (f->output_data.x->widget), | 5719 XMoveWindow (FRAME_X_DISPLAY (f), XtWindow (f->output_data.x->widget), |