Subject: Re: bug#21415: 25.0.50; Emacs Trunk -- pixelwise width/height for x-create-frame

From: Anders Lindgren <[email-masked]>
Date: Wed, 28 Oct 2015 12:25:08 +0100

On Wed, Oct 28, 2015 at 10:55 AM, martin rudalics <[email-masked]> wrote:

> > I think I have solved this one. Input events started coming in before the
> > init code had finished. By surrounding it by a block_input() and
> > unblock_input() pair it seems to work better. I will run it for a couple
> of
> > days and, if the problems have gone away, I will commit it.
>
> Would that help?

Yes, it helped, but for a totally different problem, the startup crash.

>   I earlier mentioned that here
>
> "on GNUStep making the
> toolbar visible in update_frame_tool_bar immediately provokes a call of
> windowDidResize which calls updateFrameSize with a not yet updated
> toolbar height some time before updateFrameSize gets properly called at
> the end of update_frame_tool_bar."
>
> Now update_frame_tool_bar has
>
>   block_input ();
> ...
>   if (![toolbar isVisible])
>       [toolbar setVisible: YES];
> ...
>   unblock_input ();
>
> and the windowDidResize gets through nevertheless.
>

I have fixed this by introducing a flag, in_animation, which I set
temporarily around calls to setVisible. It makes updateFrameSize return
immediately. Problem solved.

BTW, can you reproduce the scenario of bug#21770?

Yes.

I will take a look at fringe-related problems next. I might be able to take
a look at this after that.

I just pushed the toolbar fix and the startup crash fix.

     -- Anders