summaryrefslogtreecommitdiff
path: root/src/nsterm.m
diff options
context:
space:
mode:
Diffstat (limited to 'src/nsterm.m')
-rw-r--r--src/nsterm.m18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/nsterm.m b/src/nsterm.m
index b8658a05daf..26cc9486141 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -4633,8 +4633,22 @@ ns_select (int nfds, fd_set *readfds, fd_set *writefds,
thread_select(pselect, 0, NULL, NULL, NULL, &t, sigmask);
}
- [outerpool release];
- outerpool = [[NSAutoreleasePool alloc] init];
+ /* FIXME: This draining of outerpool causes a crash when a buffer
+ running over tramp is displayed and the user tries to use the
+ menus. I believe some other autorelease pool's lifetime
+ straddles this call causing a violation of autorelease pool
+ nesting. There's no good reason to keep these here since the
+ pool will be drained some other time anyway, but removing them
+ leaves the menus sometimes not opening until the user moves their
+ mouse pointer, but that's better than a crash.
+
+ There must be something about running external processes like
+ tramp that interferes with the modal menu code.
+
+ See bugs 24472, 37557, 37922. */
+
+ // [outerpool release];
+ // outerpool = [[NSAutoreleasePool alloc] init];
send_appdefined = YES;