diff options
| author | Alan Third <alan@idiocy.org> | 2021-05-02 11:25:40 +0100 |
|---|---|---|
| committer | Alan Third <alan@idiocy.org> | 2021-05-02 11:52:45 +0100 |
| commit | 609d814fdf1e7ab76ec45017bc04087ae41d9bc8 (patch) | |
| tree | 1dddce3f4edd9ddebb42f6ff92c00eab7d18623e /src | |
| parent | d0d95d161495585c73f881941beda77352517d34 (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.m | 6 | ||||
| -rw-r--r-- | src/nsterm.m | 11 |
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]) { |
