From c4ef951137da5c2ccb90eae0af62bcb54b81f796 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Thu, 6 Apr 2006 19:35:59 +0000 Subject: [PATCH] support wheel events in Tiger svn: r2627 --- src/mred/mredmac.cxx | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/mred/mredmac.cxx b/src/mred/mredmac.cxx index 8fd2b31e2e..e15817c844 100644 --- a/src/mred/mredmac.cxx +++ b/src/mred/mredmac.cxx @@ -297,20 +297,30 @@ int WNE(EventRecord *e, double sleep_secs) ok = ConvertEventRefToEventRecord(ref, e); if (!ok) { + EventRef compat = NULL; + if ((GetEventClass(ref) == kEventClassMouse) - && (GetEventKind(ref) == kEventMouseWheelMoved)) { + && (GetEventKind(ref) == 11 /* kEventMouseScroll */)) { + GetEventParameter(ref, kEventParamEventRef, typeEventRef, + NULL, sizeof(compat), NULL, &compat); + } + if (!compat) + compat = ref; + + if ((GetEventClass(compat) == kEventClassMouse) + && (GetEventKind(compat) == kEventMouseWheelMoved)) { UInt32 modifiers; EventMouseWheelAxis axis; SInt32 delta; Point pos; - GetEventParameter(ref, kEventParamKeyModifiers, typeUInt32, + GetEventParameter(compat, kEventParamKeyModifiers, typeUInt32, NULL, sizeof(modifiers), NULL, &modifiers); - GetEventParameter(ref, kEventParamMouseWheelAxis, + GetEventParameter(compat, kEventParamMouseWheelAxis, typeMouseWheelAxis, NULL, sizeof(axis), NULL, &axis); - GetEventParameter(ref, kEventParamMouseWheelDelta, + GetEventParameter(compat, kEventParamMouseWheelDelta, typeLongInteger, NULL, sizeof(delta), NULL, &delta); - GetEventParameter(ref, kEventParamMouseLocation, + GetEventParameter(compat, kEventParamMouseLocation, typeQDPoint, NULL, sizeof(Point), NULL, &pos); if (axis == kEventMouseWheelAxisY) { @@ -1494,7 +1504,7 @@ static int ae_marshall(AEDescList *ae, AEDescList *list_in, AEKeyword kw, Scheme break; } else if (_err) { *stage = "converting file to alias: "; - return NULL; + return 0; } type = typeAlias; HLock(alias);