Subject: bug#55836: 29.0.50; (iconify-frame) freezes buffer view under Wayland.

From: Po Lu <[email-masked]>
Date: Mon, 20 Jun 2022 08:51:18 +0800

[email-masked] writes:

>>    if (event->window_state.new_window_state
>>        & GDK_WINDOW_STATE_ICONIFIED)
>>      SET_FRAME_ICONIFIED (f, true);
>>    else
>>      {
>> -->   FRAME_X_OUTPUT (f)->has_been_visible = true;
>>        inev.ie.kind = DEICONIFY_EVENT;
>>        XSETFRAME (inev.ie.frame_or_window, f);
>>        SET_FRAME_ICONIFIED (f, false);
>>      }
>>
> This breakpoint actually hits whenever the emacs frame gets focus, and
> makes debugging quite annoying.
> However, by inputting M-x + <tab> during the breakpoint and using the
> mouse when the frame does not
> have focus, it is possible to execute (iconify-frame) interactively
> after triggering the breakpoint.
>
> Here's the strange thing: when a breakpoint is set there, the issue is
> not present; when the breakpoint
> is deleted and the procedure repeated, the issue reappears.
>
> I would conjecture that this has to do with the state of the frame at
> the moment of (de-)/iconification,
> since when the breakpoint IS present, I would have to be looking at
> gdb, cycling through 'continue's.

I didn't understand what you said, but I guess you should make the
breakpoint conditional on "FRAME_ICONIFIED_P (f)".