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

From: martin rudalics <[email-masked]>
Date: Sun, 2 May 2021 18:17:29 +0200

> 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;