*** LModelDirector.cp Thu Feb 21 10:36:24 2002 --- PowerPlantOverrides/LModelDirector.cp Thu Feb 21 10:35:55 2002 *************** *** 201,209 **** (err == errAENoSuchObject) ) { // Direct object parameter not present // or is not an object specifier. ! // Let the default model handle it. ! (LModelObject::GetDefaultModel())-> ! HandleAppleEventAll(inAppleEvent, outReply, theResult, (SInt32) inRefCon); } else if (err == noErr) { // Process this event using the Token --- 201,227 ---- (err == errAENoSuchObject) ) { // Direct object parameter not present // or is not an object specifier. ! //see if there is a subject attribute that can be resolved ! StAEDescriptor subjObj; ! ! err = ::AEGetAttributeDesc(&inAppleEvent, keySubjectAttr, typeObjectSpecifier, subjObj); ! if ((noErr == err) && subjObj.IsNotNull()) { ! { ! StDisableDebugThrow_(); ! err = Resolve(subjObj, directObjToken); ! } ! } ! if ((err == noErr) && directObj.IsNotNull()) { ! // Process this event using the Token ! // representing the direct direct ! ProcessTokenizedEvent(inAppleEvent, directObjToken, ! theResult, outReply, inRefCon); ! ! } else { ! // Let the default model handle it. ! (LModelObject::GetDefaultModel())-> ! HandleAppleEventAll(inAppleEvent, outReply, theResult, (SInt32) inRefCon); ! } } else if (err == noErr) { // Process this event using the Token *************** *** 770,781 **** &theKeyword, containerDesc); ThrowIfOSErr_(err); ! container = LModelObject::GetModelFromToken(containerDesc); ! container->GetModelToken(inDesiredClass, inKeyForm, ! inKeyData, subModelDesc); ! ! UAEDesc::AddDesc(&outToken, 0, subModelDesc); } } } --- 788,803 ---- &theKeyword, containerDesc); ThrowIfOSErr_(err); + if (containerDesc.DescriptorType() == typeAEList) + UAppleEventsMgr::AddModelTokensFromList(containerDesc, outToken, + inDesiredClass, inKeyForm, inKeyData); + else { + container = LModelObject::GetModelFromToken(containerDesc); + container->GetModelToken(inDesiredClass, inKeyForm, + inKeyData, subModelDesc); ! UAEDesc::AddDesc(&outToken, 0, subModelDesc); ! } } } }