Subject: bug#48157: Emacs-28 on Mac: corrupted GUI when setting default-frame-alist

From: PEDRO ANDRES ARANDA GUTIERREZ <[email-masked]>
Date: Mon, 3 May 2021 08:49:21 +0200

HI,

I retried a couple of minutes ago and it continues to startup weirdly on my
MacBook Air

Darwin paag-MacBookAir 19.6.0 Darwin Kernel Version 19.6.0: Tue Jan 12
22:13:05 PST 2021; root:xnu-6153.141.16~1/RELEASE_X86_64 x86_64

The same code compiled on my pre-2015 McBook Pro (macOS 10.13) works
perfectly on both systems.

Best, /PA

El dom, 2 may 2021 a las 18:17, martin rudalics (<[email-masked]>)
escribió:

>  > Just tested compiling emacs con macOS Catalina.
>  >
>  > My .emacs.d/init includes
>  >
>  > (setq default-frame-alist '((top . 32 ) (left . 32) (width . 128)
> (height . 37)))
>  >
>  > The result is this:
>  >
>  >
>  > With the mini-buffer line hidden. If I comment this line, the GUI is
> created correctly. The window rebuild correctly if I resize it with the
> mouse
>
> Please try the patch below.
>
> Thanks, martin
>
>
> diff --git a/src/nsterm.m b/src/nsterm.m
> index 6e7ab1266b..b089146e64 100644
> --- a/src/nsterm.m
> +++ b/src/nsterm.m
> @@ -7310,9 +7310,9 @@ - (void)viewDidResize:(NSNotification *)notification
>
>     /* Don't want to do anything when the view size hasn't changed. */
>     if ((oldh == newh && oldw == neww)
> -      || (emacsframe->new_size_p
> -          && newh == emacsframe->new_height
> -          && neww == emacsframe->new_width))
> +      && (!emacsframe->new_size_p
> +          || (newh == emacsframe->new_height
> +             && neww == emacsframe->new_width)))
>       {
>         NSTRACE_MSG ("No change");
>         return;
>

-- 
---
PEDRO ANDRES ARANDA GUTIERREZ
Universidad Carlos III de Madrid

"Fragen sind nicht da um beantwortet zu werden.
Fragen sind da, um gestellt zu werden" Georg Kreisler