]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix resizing glitches in NS port (bug#50413)
authorAlan Third <alan@idiocy.org>
Mon, 27 Sep 2021 12:33:49 +0000 (13:33 +0100)
committerAlan Third <alan@idiocy.org>
Mon, 27 Sep 2021 12:38:06 +0000 (13:38 +0100)
* src/nsterm.m ([EmacsView resizeWithOldSuperviewSize:]): Use the
superview's size instead of trusting the view's size.

src/nsterm.m

index 1970a7a1c1a7f7c388f98d86b8201bde2ac97c5f..a6c2e7505b5d77c3f0abed5c2f1adcb5081b6fd7 100644 (file)
@@ -6974,13 +6974,18 @@ not_in_argv (NSString *arg)
   if (! FRAME_LIVE_P (emacsframe))
     return;
 
-  frame = [self frame];
+  frame = [[self superview] bounds];
   width = (int)NSWidth (frame);
   height = (int)NSHeight (frame);
 
   NSTRACE_SIZE ("New size", NSMakeSize (width, height));
   NSTRACE_SIZE ("Original size", size);
 
+  /* Reset the frame size to match the bounds of the superview (the
+     NSWindow's contentView).  We need to do this as sometimes the
+     view's frame isn't resized correctly, or can end up with the
+     wrong origin.  */
+  [self setFrame:frame];
   change_frame_size (emacsframe, width, height, false, YES, false);
 
   SET_FRAME_GARBAGED (emacsframe);