summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlan Third <alan@idiocy.org>2021-05-02 11:25:40 +0100
committerAlan Third <alan@idiocy.org>2021-05-02 11:52:45 +0100
commit609d814fdf1e7ab76ec45017bc04087ae41d9bc8 (patch)
tree1dddce3f4edd9ddebb42f6ff92c00eab7d18623e /src
parentd0d95d161495585c73f881941beda77352517d34 (diff)
Fix crash when resizing GNUstep builds
The toolkit can send far too many resize notifications, so be more careful when we take action after receiving one. * src/nsfns.m (ns_set_tool_bar_lines): Remove unneeded NSTRACE. * src/nsterm.m ([EmacsView viewDidResize:]): Don't report resizes to Emacs when the same change has already been reported and delayed.
Diffstat (limited to 'src')
-rw-r--r--src/nsfns.m6
-rw-r--r--src/nsterm.m11
2 files changed, 8 insertions, 9 deletions
diff --git a/src/nsfns.m b/src/nsfns.m
index 3f05128d363..1f281f75fd4 100644
--- a/src/nsfns.m
+++ b/src/nsfns.m
@@ -668,11 +668,7 @@ ns_set_tool_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval)
}
}
- {
- NSTRACE_MSG ("inhibit:%d", inhibit);
-
- adjust_frame_size (f, -1, -1, 2, false, Qtool_bar_lines);
- }
+ adjust_frame_size (f, -1, -1, 2, false, Qtool_bar_lines);
}
static void
diff --git a/src/nsterm.m b/src/nsterm.m
index f2d03967f90..6e7ab1266ba 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -7308,16 +7308,19 @@ not_in_argv (NSString *arg)
oldw = FRAME_PIXEL_WIDTH (emacsframe);
oldh = FRAME_PIXEL_HEIGHT (emacsframe);
- NSTRACE_SIZE ("New size", NSMakeSize (neww, newh));
- NSTRACE_SIZE ("Original size", NSMakeSize (oldw, oldh));
-
/* Don't want to do anything when the view size hasn't changed. */
- if (oldh == newh && oldw == neww)
+ if ((oldh == newh && oldw == neww)
+ || (emacsframe->new_size_p
+ && newh == emacsframe->new_height
+ && neww == emacsframe->new_width))
{
NSTRACE_MSG ("No change");
return;
}
+ NSTRACE_SIZE ("New size", NSMakeSize (neww, newh));
+ NSTRACE_SIZE ("Original size", NSMakeSize (oldw, oldh));
+
#ifdef NS_DRAW_TO_BUFFER
if ([self wantsUpdateLayer])
{