+2013-09-29 Jan Djärv <jan.h.d@swipnet.se>
+
+ * frame.c (delete_frame): Block/unblock input to overcome race
+ condition (Bug#15475).
+
2013-09-29 Andreas Politz <politza@hochschule-trier.de> (tiny change)
* frame.c (delete_frame): Record selected frame only after
have called the window-system-dependent frame destruction
routine. */
- if (FRAME_TERMINAL (f)->delete_frame_hook)
- (*FRAME_TERMINAL (f)->delete_frame_hook) (f);
{
+ block_input ();
+ if (FRAME_TERMINAL (f)->delete_frame_hook)
+ (*FRAME_TERMINAL (f)->delete_frame_hook) (f);
struct terminal *terminal = FRAME_TERMINAL (f);
f->output_data.nothing = 0;
f->terminal = 0; /* Now the frame is dead. */
+ unblock_input ();
/* If needed, delete the terminal that this frame was on.
(This must be done after the frame is killed.) */