diff options
author | das <das@noemail.net> | 2004-11-11 01:26:39 (GMT) |
---|---|---|
committer | das <das@noemail.net> | 2004-11-11 01:26:39 (GMT) |
commit | 40c9db7d527d97919d93505b1115c8166cf7c9bf (patch) | |
tree | f24f480319309f3272f2b41ab1563f81c89ae1fc /macosx/tkMacOSXMouseEvent.c | |
parent | 7c125979feb322688ffab68fadd720d2d8ee00e2 (diff) | |
download | tk-40c9db7d527d97919d93505b1115c8166cf7c9bf.zip tk-40c9db7d527d97919d93505b1115c8166cf7c9bf.tar.gz tk-40c9db7d527d97919d93505b1115c8166cf7c9bf.tar.bz2 |
* generic/tkMain.c:
* macosx/tkMacOSXAppInit.c (removed):
* macosx/Wish.pbproj/project.pbxproj:
* macosx/tkMacOSXInit.c:
* macosx/tkMacOSXInt.h: changes to make TkAqua dynamically loadable,
enabling [package require Tk] from tclsh. Startup code from
tkMacOSXAppInit.c moved into tkMacOSXInit.c, added code that
notifies the window server that an unbundled executable is a full
GUI application after loading Tk. [Patch 1035348]
* doc/wm.n: documented [wm attributes] on Mac OS X. [Bug 606665]
* macosx/tkMacOSXWm.c: implemented TIP 222 [wm attributes -alpha] on
Mac OS X. [Patch 892194]
WmIconbitmapCmd: adopted FSRef changes from [wm atttrs -titlepath].
* macosx/tkMacOSXButton.c:
* macosx/tkMacOSXMenus.c:
* macosx/tkMacOSXRegion.c:
* macosx/tkMacOSXSubwindows.c: synced spacing/formatting with HEAD.
* macosx/tkMacOSXMouseEvent.c: endianness fixes.
* macosx/Wish.pbproj/project.pbxproj: corrected path to html help
inside framework.
* macosx/Makefile: prevent parallel make from building several
targets at the same time.
Ensure that xcodebuild will use Wish.pbproj project even if a .xcode
project is also present.
FossilOrigin-Name: c98b6fdb7f5872d871a0db03acb87ae211e8bc17
Diffstat (limited to 'macosx/tkMacOSXMouseEvent.c')
-rw-r--r-- | macosx/tkMacOSXMouseEvent.c | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/macosx/tkMacOSXMouseEvent.c b/macosx/tkMacOSXMouseEvent.c index cab8a93..168ef73 100644 --- a/macosx/tkMacOSXMouseEvent.c +++ b/macosx/tkMacOSXMouseEvent.c @@ -117,6 +117,7 @@ TkMacOSXProcessMouseEvent(TkMacOSXEvent *eventPtr, MacEventStatus * statusPtr) int status,err; MouseEventData mouseEventData, * medPtr = &mouseEventData; KeyMap keyMap; + long modif; switch (eventPtr->eKind) { case kEventMouseUp: @@ -140,19 +141,21 @@ TkMacOSXProcessMouseEvent(TkMacOSXEvent *eventPtr, MacEventStatus * statusPtr) } medPtr->state = 0; GetKeys(keyMap); - if (keyMap[1] & 2) { + modif = EndianS32_BtoN(*(long*)(&keyMap[1])); + + if (modif & 2) { medPtr->state |= LockMask; } - if (keyMap[1] & 1) { + if (modif & 1) { medPtr->state |= ShiftMask; } - if (keyMap[1] & 8) { + if (modif & 8) { medPtr->state |= ControlMask; } - if (keyMap[1] & 32768) { + if (modif & 32768) { medPtr->state |= Mod1Mask; /* command key */ } - if (keyMap[1] & 4) { + if (modif & 4) { medPtr->state |= Mod2Mask; /* option key */ } if (eventPtr->eKind == kEventMouseDown @@ -381,7 +384,7 @@ TkMacOSXProcessMouseEvent(TkMacOSXEvent *eventPtr, MacEventStatus * statusPtr) TkMacOSXPreprocessMenu(); TkMacOSXHandleMenuSelect(MenuSelect(where), - theKeys[1] & 4); + EndianS32_BtoN(*(long*)(&theKeys[1])) & 4); Tcl_SetServiceMode(oldMode); return true; /* TODO: may not be on event on queue. */ } @@ -678,30 +681,33 @@ TkMacOSXButtonKeyState() { unsigned int state = 0; KeyMap theKeys; + long modif; if (Button() & !gEatButtonUp) { state |= Button1Mask; } GetKeys(theKeys); + + modif = EndianS32_BtoN(*(long*)(&theKeys[1])); - if (theKeys[1] & 2) { + if (modif & 2) { state |= LockMask; } - if (theKeys[1] & 1) { + if (modif & 1) { state |= ShiftMask; } - if (theKeys[1] & 8) { + if (modif & 8) { state |= ControlMask; } - if (theKeys[1] & 32768) { + if (modif & 32768) { state |= Mod1Mask; /* command key */ } - if (theKeys[1] & 4) { + if (modif & 4) { state |= Mod2Mask; /* option key */ } |