diff options
author | Miles Bader <miles@gnu.org> | 2007-05-20 23:29:14 +0000 |
---|---|---|
committer | Miles Bader <miles@gnu.org> | 2007-05-20 23:29:14 +0000 |
commit | 7be1c21aedb2f8e7b7831d494e065a31afe13146 (patch) | |
tree | a998f949002bf05307fe6b59969e6ebfb0c88b8d /src/macterm.c | |
parent | 3c28868aeb2d445830019837294e96f432456754 (diff) | |
parent | 26114bc08f03789f30f0acca925955f2139df690 (diff) | |
download | emacs-7be1c21aedb2f8e7b7831d494e065a31afe13146.tar.gz |
Merged from emacs--devo--0
Patches applied:
* emacs@sv.gnu.org/emacs--devo--0--patch-744
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-745
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-746
Merge from emacs--rel--22
* emacs@sv.gnu.org/emacs--devo--0--patch-747
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-748
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-749
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-750
Merge from emacs--rel--22
* emacs@sv.gnu.org/emacs--devo--0--patch-751
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-752
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-753
Merge from emacs--rel--22
* emacs@sv.gnu.org/emacs--devo--0--patch-754
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-755
Merge from emacs--rel--22
* emacs@sv.gnu.org/emacs--devo--0--patch-756
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-757
Update from CVS: lisp/textmodes/sgml-mode.el: Revert last change.
* emacs@sv.gnu.org/emacs--devo--0--patch-758
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-759
Merge from emacs--rel--22
* emacs@sv.gnu.org/emacs--devo--0--patch-760
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-761
Update from CVS
* emacs@sv.gnu.org/emacs--rel--22--patch-14
Update from CVS
* emacs@sv.gnu.org/emacs--rel--22--patch-15
Update from CVS
* emacs@sv.gnu.org/emacs--rel--22--patch-16
Update from CVS: src/xterm.c (XTread_socket): Revert last change.
* emacs@sv.gnu.org/emacs--rel--22--patch-17
Update from CVS
* emacs@sv.gnu.org/emacs--rel--22--patch-18
Update from CVS
* emacs@sv.gnu.org/emacs--rel--22--patch-19
Update from CVS
* emacs@sv.gnu.org/emacs--rel--22--patch-20
Update from CVS
* emacs@sv.gnu.org/emacs--rel--22--patch-21
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-221
Update from CVS
Revision: emacs@sv.gnu.org/emacs--multi-tty--0--patch-12
Creator: Karoly Lorentey <karoly@lorentey.hu>
Diffstat (limited to 'src/macterm.c')
-rw-r--r-- | src/macterm.c | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/macterm.c b/src/macterm.c index b48ffb47fdb..e31fba134f5 100644 --- a/src/macterm.c +++ b/src/macterm.c @@ -6079,7 +6079,9 @@ x_calc_absolute_position (f) /* Find the offsets of the outside upper-left corner of the inner window, with respect to the outer window. */ + BLOCK_INPUT; mac_get_window_bounds (f, &inner, &outer); + UNBLOCK_INPUT; width_diff = (outer.right - outer.left) - (inner.right - inner.left); height_diff = (outer.bottom - outer.top) - (inner.bottom - inner.top); @@ -9159,15 +9161,16 @@ mac_get_mouse_btn (EventRef ref) /* Normally, ConvertEventRefToEventRecord will correctly handle all events. However the click of the mouse wheel is not converted to a - mouseDown or mouseUp event. Likewise for dead key down events. - This calls ConvertEventRef, but then checks to see if it is a mouse - up/down, or a dead key down carbon event that has not been + mouseDown or mouseUp event. Likewise for dead key events. This + calls ConvertEventRefToEventRecord, but then checks to see if it is + a mouse up/down, or a dead key Carbon event that has not been converted, and if so, converts it by hand (to be picked up in the XTread_socket loop). */ static Boolean mac_convert_event_ref (EventRef eventRef, EventRecord *eventRec) { OSStatus err; Boolean result = ConvertEventRefToEventRecord (eventRef, eventRec); + EventKind action; if (result) return result; @@ -9196,6 +9199,14 @@ static Boolean mac_convert_event_ref (EventRef eventRef, EventRecord *eventRec) switch (GetEventKind (eventRef)) { case kEventRawKeyDown: + action = keyDown; + goto keystroke_common; + case kEventRawKeyRepeat: + action = autoKey; + goto keystroke_common; + case kEventRawKeyUp: + action = keyUp; + keystroke_common: { unsigned char char_codes; UInt32 key_code; @@ -9209,7 +9220,7 @@ static Boolean mac_convert_event_ref (EventRef eventRef, EventRecord *eventRec) NULL, &key_code); if (err == noErr) { - eventRec->what = keyDown; + eventRec->what = action; eventRec->message = char_codes | ((key_code & 0xff) << 8); result = 1; } |