emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/src/mac.c,v


From: YAMAMOTO Mitsuharu
Subject: [Emacs-diffs] Changes to emacs/src/mac.c,v
Date: Fri, 15 Dec 2006 08:05:10 +0000

CVSROOT:        /cvsroot/emacs
Module name:    emacs
Changes by:     YAMAMOTO Mitsuharu <mituharu>   06/12/15 08:05:10

Index: mac.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/mac.c,v
retrieving revision 1.71
retrieving revision 1.72
diff -u -b -r1.71 -r1.72
--- mac.c       31 Oct 2006 08:31:30 -0000      1.71
+++ mac.c       15 Dec 2006 08:05:10 -0000      1.72
@@ -79,6 +79,15 @@
 /* The single script context used for all script executions.  */
 static OSAID as_script_context;
 
+#if TARGET_API_MAC_CARBON
+static int wakeup_from_rne_enabled_p = 0;
+#define ENABLE_WAKEUP_FROM_RNE (wakeup_from_rne_enabled_p = 1)
+#define DISABLE_WAKEUP_FROM_RNE (wakeup_from_rne_enabled_p = 0)
+#else
+#define ENABLE_WAKEUP_FROM_RNE 0
+#define DISABLE_WAKEUP_FROM_RNE 0
+#endif
+
 #ifndef MAC_OSX
 static OSErr posix_pathname_to_fsspec P_ ((const char *, FSSpec *));
 static OSErr fsspec_to_posix_pathname P_ ((const FSSpec *, char *, int));
@@ -2431,6 +2440,7 @@
      BLOCK_INPUT block, in case that some input has already been read
      asynchronously.  */
   BLOCK_INPUT;
+  ENABLE_WAKEUP_FROM_RNE;
   if (!detect_input_pending ())
     {
 #if TARGET_API_MAC_CARBON
@@ -2461,6 +2471,7 @@
        }
 #endif /* not TARGET_API_MAC_CARBON */
     }
+  DISABLE_WAKEUP_FROM_RNE;
   UNBLOCK_INPUT;
 
   if (err == noErr)
@@ -5023,6 +5034,7 @@
      BLOCK_INPUT block, in case that some input has already been read
      asynchronously.  */
   BLOCK_INPUT;
+  ENABLE_WAKEUP_FROM_RNE;
   if (!detect_input_pending ())
     {
       EMACS_TIME select_timeout;
@@ -5045,6 +5057,7 @@
                                  kEventLeaveInQueue, NULL);
        }
     }
+  DISABLE_WAKEUP_FROM_RNE;
   UNBLOCK_INPUT;
 
   if (r != 0)
@@ -5124,6 +5137,7 @@
         BLOCK_INPUT block, in case that some input has already been
         read asynchronously.  */
       BLOCK_INPUT;
+      ENABLE_WAKEUP_FROM_RNE;
       if (!detect_input_pending ())
        {
          int minfd, fd;
@@ -5184,6 +5198,7 @@
                CFRunLoopRemoveSource (runloop, source, kCFRunLoopDefaultMode);
              }
        }
+      DISABLE_WAKEUP_FROM_RNE;
       UNBLOCK_INPUT;
 
       if (err == noErr || err == eventLoopQuitErr)
@@ -5385,6 +5400,16 @@
 }
 #endif /* MAC_OSX */
 
+#if TARGET_API_MAC_CARBON
+void
+mac_wakeup_from_rne ()
+{
+  if (wakeup_from_rne_enabled_p)
+    /* Post a harmless event so as to wake up from
+       ReceiveNextEvent.  */
+    mac_post_mouse_moved_event ();
+}
+#endif
 
 void
 syms_of_mac ()




reply via email to

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