Subject: bug#23144: shrinking windows with gtk 3.20

From: Eli Zaretskii <[email-masked]>
Date: Sat, 02 Apr 2016 19:28:23 +0300

> Date: Sat, 02 Apr 2016 18:06:16 +0200
> From: martin rudalics <[email-masked]>
> CC: [email-masked], [email-masked]
> 
> In emacs-25 either use something like
> 
> #if !GTK_CHECK_VERSION (3, 20, 0))
>            xg_frame_resized (f, -1, -1);
> #endif

I hope we do that on master.  If not, we should.  There's no reason
not to continue calling xg_frame_resized with older versions of GTK,
as it works there.

I'm wary of doing this in Emacs 25.1.

> or, as Matthias proposed, in xg_frame_resized write
> 
>    if (pixelwidth == -1 && pixelheight == -1)
>      {
>        if (FRAME_GTK_WIDGET (f) && gtk_widget_get_mapped (FRAME_GTK_WIDGET (f)))
> 	{
> 	  gdk_window_get_geometry (gtk_widget_get_window (FRAME_GTK_WIDGET (f)),
> 				   0, 0, &pixelwidth, &pixelheight);
> 	  if (pixelwidth <= 1 || pixelheight <= 1)
> 	    return;
> 	}
>        else
> 	return;
>      }

Do we understand the effect of this?  It effectively makes the
xg_frame_resized call a no-op, but I very much doubt that this call
was added there with no good reason.  Does the history of this
addition, including any related discussions, teach us something about
the reason?

Thanks.