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

From: Po Lu <[email-masked]>
Date: Fri, 30 Sep 2022 21:17:23 +0800

Tino Calancha <[email-masked]> writes:

> On Thu, 29 Sep 2022, Po Lu wrote:
>
>> You should simply be able to type "b gdk_wayland_window_handle_configure".
>
> I see, thank you.
>
>> Could you install debug info for GDK, put breakpoints on both
>> window_state_event (in pgtkterm.c) and
>> gdk_wayland_window_handle_configure (in gdkwindow-wayland.c)?
>
>> Please see whether the former is called after the latter, and in doing
>> so clears the iconified flag?
>
> This is what I see:
>
> 1. The breakpoint at gdk_wayland_window_handle_configure is never reached.
>     I have tried with both patches discussed above, and the master branch
>     with no success: such breakpoint is not reached.
>
> 2. I have played with the following patch that also fixes the issue in my
>     machine:
>
> diff --git a/src/pgtkterm.c b/src/pgtkterm.c
> index 491ba33..58456c9 100644
> --- a/src/pgtkterm.c
> +++ b/src/pgtkterm.c
> @@ -5502,13 +5502,6 @@ window_state_event (GtkWidget *widget,
>
>     if (new_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);
> -    }
>
>     if (new_state & GDK_WINDOW_STATE_STICKY)
>       store_frame_param (f, Qsticky, Qt);

That's shocking.  I will look into this further myself (in a Wayland
session.)

Thanks.