summaryrefslogtreecommitdiff
path: root/src/nsterm.h
diff options
context:
space:
mode:
authorAlan Third <alan@idiocy.org>2018-03-19 15:04:40 +0000
committerAlan Third <alan@idiocy.org>2018-03-19 17:16:14 +0000
commit903e3d43310638014a33fec64700e7db8e0774d0 (patch)
tree542a10151ab1d98152fbb9b0362f67873298fde0 /src/nsterm.h
parent1979bce57d1887d89de6d728bb34dcd0f6478b2f (diff)
downloademacs-903e3d43310638014a33fec64700e7db8e0774d0.tar.gz
Fix frame resize flicker on macOS (bug#30699)
* src/nsterm.h (ns_enable_screen_updates): New function. * src/nsterm.m (ns_enable_screen_updates): (ns_disable_screen_updates): New functions. (disable_screen_updates_count): Count of number of times we've called NSDisableScreenUpdates. (x_set_window_size): Disable screen updates when not in a live resize loop. * src/xdisp.c (redisplay_internal): Reenable screen updates when redisplay doesn't complete due to a popup. (unwind_redisplay): Reenable screen updates.
Diffstat (limited to 'src/nsterm.h')
-rw-r--r--src/nsterm.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/nsterm.h b/src/nsterm.h
index 8b985930ecb..df59a7dbd9a 100644
--- a/src/nsterm.h
+++ b/src/nsterm.h
@@ -1160,6 +1160,9 @@ extern void ns_release_autorelease_pool (void *);
extern const char *ns_get_defaults_value (const char *key);
extern void ns_init_locale (void);
+#ifdef NS_IMPL_COCOA
+extern void ns_enable_screen_updates (void);
+#endif
/* in nsmenu */
extern void update_frame_tool_bar (struct frame *f);