[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
scratch/ns/refactor d58e217 07/10: Fix some macOS problems
From: |
Alan Third |
Subject: |
scratch/ns/refactor d58e217 07/10: Fix some macOS problems |
Date: |
Sat, 17 Jul 2021 08:23:43 -0400 (EDT) |
branch: scratch/ns/refactor
commit d58e217011506b6c5b926b3ad43db7696cf22dab
Author: Alan Third <alan@idiocy.org>
Commit: Alan Third <alan@idiocy.org>
Fix some macOS problems
* src/nsmenu.m (update_frame_tool_bar): Make sure the toolbar isn't
displayed when it's not supposed to be.
* src/nsterm.m ([EmacsView layoutSublayersOfLayer:]): Reinstate code
intended to prevent a crash when running redisplay.
---
src/nsmenu.m | 4 ++--
src/nsterm.m | 17 ++++++-----------
2 files changed, 8 insertions(+), 13 deletions(-)
diff --git a/src/nsmenu.m b/src/nsmenu.m
index 673c042..bb0dd26 100644
--- a/src/nsmenu.m
+++ b/src/nsmenu.m
@@ -1089,10 +1089,10 @@ update_frame_tool_bar (struct frame *f)
#undef TOOLPROP
}
- if (![toolbar isVisible])
+ if ([toolbar isVisible] != FRAME_EXTERNAL_TOOL_BAR (f))
{
f->output_data.ns->in_animation = 1;
- [toolbar setVisible: YES];
+ [toolbar setVisible: FRAME_EXTERNAL_TOOL_BAR (f)];
f->output_data.ns->in_animation = 0;
}
diff --git a/src/nsterm.m b/src/nsterm.m
index d721377..18b6b9f 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -7965,20 +7965,15 @@ not_in_argv (NSString *arg)
crashes. I think it's because this code will always be run
within the run loop and for whatever reason processing input
is dangerous. This technique was stolen wholesale from
- nsmenu.m and seems to work.
-
- FIXME: I can't provoke a crash using layoutSublayersOfLayer,
- however I can't understand why it would be different from
- viewWillDraw. I'll leave this commented out for now, but if
- nobody reports a crash it can be removed. */
- // bool owfi = waiting_for_input;
- // waiting_for_input = 0;
- // block_input ();
+ nsmenu.m and seems to work. */
+ bool owfi = waiting_for_input;
+ waiting_for_input = 0;
+ block_input ();
redisplay ();
- // unblock_input ();
- // waiting_for_input = owfi;
+ unblock_input ();
+ waiting_for_input = owfi;
}
}
#endif
- branch scratch/ns/refactor created (now 2ee451b), Alan Third, 2021/07/17
- scratch/ns/refactor 40d30ea 03/10: Change NS port resize detection, Alan Third, 2021/07/17
- scratch/ns/refactor 4c10229 05/10: Move NS port toolbar handling to the window, Alan Third, 2021/07/17
- scratch/ns/refactor 87aae7e 09/10: Simplify NS sizing and positioning code, Alan Third, 2021/07/17
- scratch/ns/refactor a159bd0 01/10: Simplify macOS drawing code, Alan Third, 2021/07/17
- scratch/ns/refactor c319def 02/10: Tidy up NS port OS window handling, Alan Third, 2021/07/17
- scratch/ns/refactor 91b1715 04/10: Fix macOS live resize drawing, Alan Third, 2021/07/17
- scratch/ns/refactor ae88acc 06/10: Move parent frame setting code into EmacsWindow, Alan Third, 2021/07/17
- scratch/ns/refactor d58e217 07/10: Fix some macOS problems,
Alan Third <=
- scratch/ns/refactor 2fcd93d 08/10: * src/nsterm.m (ns_set_frame_alpha): Enable alpha on GNUstep., Alan Third, 2021/07/17
- scratch/ns/refactor 2ee451b 10/10: Fix NS inset rectangle corners, Alan Third, 2021/07/17