]> git.eshelyaron.com Git - emacs.git/commitdiff
* nsterm.m (NO_APPDEFINED_DATA): New define.
authorJan Djärv <jan.h.d@swipnet.se>
Sun, 28 Oct 2012 16:10:06 +0000 (17:10 +0100)
committerJan Djärv <jan.h.d@swipnet.se>
Sun, 28 Oct 2012 16:10:06 +0000 (17:10 +0100)
(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
src/ChangeLog
src/nsterm.m

index 41909a7a6630ad84fb9c21cfed777fcaa454ce99..d2c16fa83104d9a107874ffda08e5a97e8084139 100644 (file)
@@ -1,3 +1,13 @@
+2012-10-28  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * 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 (Bug#12698).
+
 2012-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * frame.c (x_set_font): Catch internal error.
index a4eaad47ac1286b1e38f934279eeac835438d669..9b2e544c75baa8a9f0c9bc02f9e3e951cfa01f7c 100644 (file)
@@ -190,7 +190,8 @@ static BOOL ns_menu_bar_is_hidden = NO;
 
 /* event loop */
 static BOOL send_appdefined = YES;
-static NSEvent *last_appdefined_event = 0;
+#define NO_APPDEFINED_DATA (-8)
+static int last_appdefined_event_data = NO_APPDEFINED_DATA;
 static NSTimer *timed_entry = 0;
 static NSTimer *scroll_repeat_entry = nil;
 static fd_set select_readfds, select_writefds;
@@ -3436,8 +3437,7 @@ ns_select (int nfds, fd_set *readfds, fd_set *writefds,
    -------------------------------------------------------------------------- */
 {
   int result;
-  NSEvent *ev;
-  int k, nr = 0;
+  int t, k, nr = 0;
   struct input_event event;
   char c;
 
@@ -3521,16 +3521,11 @@ ns_select (int nfds, fd_set *readfds, fd_set *writefds,
     }
   unblock_input ();
 
-  ev = last_appdefined_event;
+  t = last_appdefined_event_data;
 
-  if (ev)
+  if (t != NO_APPDEFINED_DATA)
     {
-      int t;
-      if ([ev type] != NSApplicationDefined)
-        emacs_abort ();
-
-      t = [ev data1];
-      last_appdefined_event = 0;
+      last_appdefined_event_data = NO_APPDEFINED_DATA;
 
       if (t == -2)
         {
@@ -4307,7 +4302,7 @@ ns_term_shutdown (int sig)
          modal loop. Just defer it until later. */
       if ([NSApp modalWindow] == nil)
         {
-          last_appdefined_event = theEvent;
+          last_appdefined_event_data = [theEvent data1];
           [self stop: self];
         }
       else