diff options
| author | Jan Djärv | 2012-10-28 17:10:06 +0100 |
|---|---|---|
| committer | Jan Djärv | 2012-10-28 17:10:06 +0100 |
| commit | 64ccff5f0ed8f0347b30e8fb4bd9b18a6cbaf1c0 (patch) | |
| tree | ea4b60d6aa65bff97868eda9605f6f84762e05f8 /src | |
| parent | e483264ca56201eb40858242aebd2c66419fb365 (diff) | |
| download | emacs-64ccff5f0ed8f0347b30e8fb4bd9b18a6cbaf1c0.tar.gz emacs-64ccff5f0ed8f0347b30e8fb4bd9b18a6cbaf1c0.zip | |
* nsterm.m (NO_APPDEFINED_DATA): New define.
(last_appdefined_event_data): New variable
(last_appdefined_event): Remove.
(ns_select): Initialize t from last_appdefined_event_data instead
of [last_appdefined_event data1].
(sendEvent:): Save [theEvent data1] to last_appdefined_event_data,
remove last_appdefined_event.
Fixes: debbugs:12698
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 10 | ||||
| -rw-r--r-- | src/nsterm.m | 19 |
2 files changed, 17 insertions, 12 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 41909a7a663..d2c16fa8310 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,13 @@ | |||
| 1 | 2012-10-28 Jan Djärv <jan.h.d@swipnet.se> | ||
| 2 | |||
| 3 | * nsterm.m (NO_APPDEFINED_DATA): New define. | ||
| 4 | (last_appdefined_event_data): New variable | ||
| 5 | (last_appdefined_event): Remove. | ||
| 6 | (ns_select): Initialize t from last_appdefined_event_data instead | ||
| 7 | of [last_appdefined_event data1]. | ||
| 8 | (sendEvent:): Save [theEvent data1] to last_appdefined_event_data, | ||
| 9 | remove last_appdefined_event (Bug#12698). | ||
| 10 | |||
| 1 | 2012-10-28 Stefan Monnier <monnier@iro.umontreal.ca> | 11 | 2012-10-28 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 12 | ||
| 3 | * frame.c (x_set_font): Catch internal error. | 13 | * frame.c (x_set_font): Catch internal error. |
diff --git a/src/nsterm.m b/src/nsterm.m index a4eaad47ac1..9b2e544c75b 100644 --- a/src/nsterm.m +++ b/src/nsterm.m | |||
| @@ -190,7 +190,8 @@ static BOOL ns_menu_bar_is_hidden = NO; | |||
| 190 | 190 | ||
| 191 | /* event loop */ | 191 | /* event loop */ |
| 192 | static BOOL send_appdefined = YES; | 192 | static BOOL send_appdefined = YES; |
| 193 | static NSEvent *last_appdefined_event = 0; | 193 | #define NO_APPDEFINED_DATA (-8) |
| 194 | static int last_appdefined_event_data = NO_APPDEFINED_DATA; | ||
| 194 | static NSTimer *timed_entry = 0; | 195 | static NSTimer *timed_entry = 0; |
| 195 | static NSTimer *scroll_repeat_entry = nil; | 196 | static NSTimer *scroll_repeat_entry = nil; |
| 196 | static fd_set select_readfds, select_writefds; | 197 | static fd_set select_readfds, select_writefds; |
| @@ -3436,8 +3437,7 @@ ns_select (int nfds, fd_set *readfds, fd_set *writefds, | |||
| 3436 | -------------------------------------------------------------------------- */ | 3437 | -------------------------------------------------------------------------- */ |
| 3437 | { | 3438 | { |
| 3438 | int result; | 3439 | int result; |
| 3439 | NSEvent *ev; | 3440 | int t, k, nr = 0; |
| 3440 | int k, nr = 0; | ||
| 3441 | struct input_event event; | 3441 | struct input_event event; |
| 3442 | char c; | 3442 | char c; |
| 3443 | 3443 | ||
| @@ -3521,16 +3521,11 @@ ns_select (int nfds, fd_set *readfds, fd_set *writefds, | |||
| 3521 | } | 3521 | } |
| 3522 | unblock_input (); | 3522 | unblock_input (); |
| 3523 | 3523 | ||
| 3524 | ev = last_appdefined_event; | 3524 | t = last_appdefined_event_data; |
| 3525 | 3525 | ||
| 3526 | if (ev) | 3526 | if (t != NO_APPDEFINED_DATA) |
| 3527 | { | 3527 | { |
| 3528 | int t; | 3528 | last_appdefined_event_data = NO_APPDEFINED_DATA; |
| 3529 | if ([ev type] != NSApplicationDefined) | ||
| 3530 | emacs_abort (); | ||
| 3531 | |||
| 3532 | t = [ev data1]; | ||
| 3533 | last_appdefined_event = 0; | ||
| 3534 | 3529 | ||
| 3535 | if (t == -2) | 3530 | if (t == -2) |
| 3536 | { | 3531 | { |
| @@ -4307,7 +4302,7 @@ ns_term_shutdown (int sig) | |||
| 4307 | modal loop. Just defer it until later. */ | 4302 | modal loop. Just defer it until later. */ |
| 4308 | if ([NSApp modalWindow] == nil) | 4303 | if ([NSApp modalWindow] == nil) |
| 4309 | { | 4304 | { |
| 4310 | last_appdefined_event = theEvent; | 4305 | last_appdefined_event_data = [theEvent data1]; |
| 4311 | [self stop: self]; | 4306 | [self stop: self]; |
| 4312 | } | 4307 | } |
| 4313 | else | 4308 | else |