emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r110705: * nsterm.m (NO_APPDEFINED_DA


From: Jan D.
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r110705: * nsterm.m (NO_APPDEFINED_DATA): New define.
Date: Sun, 28 Oct 2012 17:10:06 +0100
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 110705
fixes bug: http://debbugs.gnu.org/12698
committer: Jan D. <address@hidden>
branch nick: trunk
timestamp: Sun 2012-10-28 17:10:06 +0100
message:
  * 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.
modified:
  src/ChangeLog
  src/nsterm.m
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2012-10-28 15:52:42 +0000
+++ b/src/ChangeLog     2012-10-28 16:10:06 +0000
@@ -1,3 +1,13 @@
+2012-10-28  Jan Djärv  <address@hidden>
+
+       * 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  <address@hidden>
 
        * frame.c (x_set_font): Catch internal error.

=== modified file 'src/nsterm.m'
--- a/src/nsterm.m      2012-10-18 18:54:37 +0000
+++ b/src/nsterm.m      2012-10-28 16:10:06 +0000
@@ -190,7 +190,8 @@
 
 /* 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 @@
    -------------------------------------------------------------------------- 
*/
 {
   int result;
-  NSEvent *ev;
-  int k, nr = 0;
+  int t, k, nr = 0;
   struct input_event event;
   char c;
 
@@ -3521,16 +3521,11 @@
     }
   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 @@
          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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]