[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] trunk r114480: * frame.c (delete_frame): Block/unblock inp
From: |
Jan D. |
Subject: |
[Emacs-diffs] trunk r114480: * frame.c (delete_frame): Block/unblock input to overcome race |
Date: |
Sun, 29 Sep 2013 10:22:01 +0000 |
User-agent: |
Bazaar (2.6b2) |
------------------------------------------------------------
revno: 114480
revision-id: address@hidden
parent: address@hidden
fixes bug: http://debbugs.gnu.org/15475
committer: Jan D. <address@hidden>
branch nick: trunk
timestamp: Sun 2013-09-29 12:21:58 +0200
message:
* frame.c (delete_frame): Block/unblock input to overcome race
condition.
modified:
src/ChangeLog changelog-20091113204419-o5vbwnq5f7feedwu-1438
src/frame.c frame.c-20091113204419-o5vbwnq5f7feedwu-243
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2013-09-29 08:33:23 +0000
+++ b/src/ChangeLog 2013-09-29 10:21:58 +0000
@@ -1,3 +1,8 @@
+2013-09-29 Jan Djärv <address@hidden>
+
+ * frame.c (delete_frame): Block/unblock input to overcome race
+ condition (Bug#15475).
+
2013-09-29 Andreas Politz <address@hidden> (tiny change)
* frame.c (delete_frame): Record selected frame only after
=== modified file 'src/frame.c'
--- a/src/frame.c 2013-09-29 08:33:23 +0000
+++ b/src/frame.c 2013-09-29 10:21:58 +0000
@@ -1373,13 +1373,15 @@
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.) */
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] trunk r114480: * frame.c (delete_frame): Block/unblock input to overcome race,
Jan D. <=