Set has_been_visible field.
(x_make_frame_visible): Don't do XMoveWindow unles has_been_visible.
{
f->async_visible = 1;
f->async_iconified = 0;
+ f->output_data.x->has_been_visible = 1;
SET_FRAME_GARBAGED (f);
}
else
{
f->async_visible = 1;
f->async_iconified = 0;
+ f->output_data.x->has_been_visible = 1;
SET_FRAME_GARBAGED (f);
}
else
{
f->async_visible = 1;
f->async_iconified = 0;
+ f->output_data.x->has_been_visible = 1;
/* wait_reading_process_input will notice this and update
the frame's display structures. */
that is 3 pixels too low. Perhaps that's really the border width. */
if (! FRAME_VISIBLE_P (f)
- && f->output_data.x->win_gravity == NorthWestGravity)
+ && f->output_data.x->win_gravity == NorthWestGravity
+ && f->output_data.x->has_been_visible)
{
BLOCK_INPUT;