emacs-diffs
[Top][All Lists]
Advanced

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

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


From: YAMAMOTO Mitsuharu
Subject: [Emacs-diffs] Changes to emacs/src/macterm.c,v
Date: Thu, 09 Aug 2007 03:07:17 +0000

CVSROOT:        /cvsroot/emacs
Module name:    emacs
Changes by:     YAMAMOTO Mitsuharu <mituharu>   07/08/09 03:07:16

Index: macterm.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/macterm.c,v
retrieving revision 1.225
retrieving revision 1.226
diff -u -b -r1.225 -r1.226
--- macterm.c   26 Jul 2007 05:27:54 -0000      1.225
+++ macterm.c   9 Aug 2007 03:07:16 -0000       1.226
@@ -4334,14 +4334,6 @@
 frame_highlight (f)
      struct frame *f;
 {
-  OSErr err;
-  ControlRef root_control;
-
-  BLOCK_INPUT;
-  err = GetRootControl (FRAME_MAC_WINDOW (f), &root_control);
-  if (err == noErr)
-    ActivateControl (root_control);
-  UNBLOCK_INPUT;
   x_update_cursor (f, 1);
 }
 
@@ -4349,14 +4341,6 @@
 frame_unhighlight (f)
      struct frame *f;
 {
-  OSErr err;
-  ControlRef root_control;
-
-  BLOCK_INPUT;
-  err = GetRootControl (FRAME_MAC_WINDOW (f), &root_control);
-  if (err == noErr)
-    DeactivateControl (root_control);
-  UNBLOCK_INPUT;
   x_update_cursor (f, 1);
 }
 
@@ -6114,7 +6098,9 @@
 
       BLOCK_INPUT;
       ShowHideWindowToolbar (FRAME_MAC_WINDOW (f), false,
-                            f == mac_focus_frame (dpyinfo));
+                            (NILP (Fsymbol_value
+                                   (intern ("frame-notice-user-settings")))
+                             && f == mac_focus_frame (dpyinfo)));
       /* Mac OS X 10.3 does not issue kEventWindowBoundsChanged events
         on toolbar visibility change.  */
       mac_handle_origin_change (f);
@@ -9391,11 +9377,13 @@
   static const EventParamName names_sel[] = {kEventParamATSUFontID,
                                             kEventParamATSUFontSize,
                                             kEventParamFMFontFamily,
+                                            kEventParamFMFontStyle,
                                             kEventParamFMFontSize,
                                             kEventParamFontColor};
   static const EventParamType types_sel[] = {typeATSUFontID,
                                             typeATSUSize,
                                             typeFMFontFamily,
+                                            typeFMFontStyle,
                                             typeFMFontSize,
                                             typeFontColor};
 
@@ -10957,7 +10945,7 @@
      void *data;
 {
   OSStatus err, result = eventNotHandledErr;
-  UInt32 event_kind, key_code, modifiers, mapped_modifiers;
+  UInt32 event_kind, key_code, modifiers;
   unsigned char char_code;
 
   event_kind = GetEventKind (event);
@@ -10966,32 +10954,16 @@
     case kEventRawKeyDown:
     case kEventRawKeyRepeat:
     case kEventRawKeyUp:
-      if (read_socket_inev == NULL)
-       {
-         result = CallNextEventHandler (next_handler, event);
-         break;
-       }
-
-      err = GetEventParameter (event, kEventParamKeyModifiers,
-                              typeUInt32, NULL,
-                              sizeof (UInt32), NULL, &modifiers);
-      if (err != noErr)
-       break;
-
-      mapped_modifiers = mac_mapped_modifiers (modifiers);
-
       /* When using Carbon Events, we need to pass raw keyboard events
         to the TSM ourselves.  If TSM handles it, it will pass back
         noErr, otherwise it will pass back "eventNotHandledErr" and
         we can process it normally.  */
-      if (!(mapped_modifiers
-           & ~(mac_pass_command_to_system ? cmdKey : 0)
-           & ~(mac_pass_control_to_system ? controlKey : 0)))
-       {
          result = CallNextEventHandler (next_handler, event);
          if (result != eventNotHandledErr)
            break;
-       }
+
+      if (read_socket_inev == NULL)
+       break;
 
 #if USE_MAC_TSM
       if (read_socket_inev->kind != NO_EVENT)
@@ -11016,6 +10988,12 @@
       if (err != noErr)
        break;
 
+      err = GetEventParameter (event, kEventParamKeyModifiers,
+                              typeUInt32, NULL,
+                              sizeof (UInt32), NULL, &modifiers);
+      if (err != noErr)
+       break;
+
       do_keystroke ((event_kind == kEventRawKeyDown ? keyDown : autoKey),
                    char_code, key_code, modifiers,
                    ((unsigned long)
@@ -12197,6 +12175,8 @@
        case activateEvt:
          {
            WindowRef window_ptr = (WindowRef) er.message;
+           OSErr err;
+           ControlRef root_control;
 
            if (window_ptr == tip_window)
              {
@@ -12214,6 +12194,10 @@
                /* A window has been activated */
                Point mouse_loc;
 
+               err = GetRootControl (FRAME_MAC_WINDOW (f), &root_control);
+               if (err == noErr)
+                 ActivateControl (root_control);
+
                x_detect_focus_change (dpyinfo, &er, &inev);
 
                mouse_loc.h = (er.where.h
@@ -12229,6 +12213,10 @@
            else
              {
                /* A window has been deactivated */
+               err = GetRootControl (FRAME_MAC_WINDOW (f), &root_control);
+               if (err == noErr)
+                 DeactivateControl (root_control);
+
 #ifdef USE_TOOLKIT_SCROLL_BARS
                if (dpyinfo->grabbed && tracked_scroll_bar)
                  {
@@ -12284,13 +12272,29 @@
              clear_mouse_face (dpyinfo);
              dpyinfo->mouse_face_hidden = 1;
            }
+
+         {
+           UInt32 modifiers = er.modifiers, mapped_modifiers;
+
+#ifdef MAC_OSX
+           GetEventParameter (eventRef, kEventParamKeyModifiers,
+                              typeUInt32, NULL,
+                              sizeof (UInt32), NULL, &modifiers);
+#endif
+           mapped_modifiers = mac_mapped_modifiers (modifiers);
+
 #if TARGET_API_MAC_CARBON
+           if (!(mapped_modifiers
+                 & ~(mac_pass_command_to_system ? cmdKey : 0)
+                 & ~(mac_pass_control_to_system ? controlKey : 0)))
          goto OTHER;
-#else
+           else
+#endif
+             if (er.what != keyUp)
          do_keystroke (er.what, er.message & charCodeMask,
                        (er.message & keyCodeMask) >> 8,
-                       er.modifiers, timestamp, &inev);
-#endif
+                             modifiers, timestamp, &inev);
+         }
          break;
 
        case kHighLevelEvent:
@@ -12344,7 +12348,6 @@
            }
          count++;
        }
-
     }
 
   /* If the focus was just given to an autoraising frame,




reply via email to

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