Subject: Re: bug#24091: 24.5; High CPU usage at startup while hidden

From: Noam Postavsky <[email-masked]>
Date: Sun, 4 Sep 2016 08:35:06 -0400

On Sun, Sep 4, 2016 at 3:33 AM, martin rudalics <[email-masked]> wrote:
>> Only if x_top_window_to_frame returns non-nil, which it does not.
>>
>>      case MapNotify:
>>        /* We use x_top_window_to_frame because map events can
>>           come for sub-windows and they don't mean that the
>>           frame is visible.  */
>>        f = x_top_window_to_frame (dpyinfo, event->xmap.window);
>
> Where in x_window_to_frame does it fail?

In case of opening Emacs on a different workspace, there are 2
MapNotify events before the infloop of x_make_frame_visible.

x_window_to_frame has a FOR_EACH_FRAME loop.

The 1st time, there is only one iteration of the frame loop and
FRAME_X_P (f) is false.
The 2nd time, there are two iterations of the frame loop. In the first
iteration, (wdesc == XtWindow (x->widget)) is false. In the second
iteration, FRAME_X_P (f) is false, like in the 1st MapNotify event.