*** LModelObject.cp Thu Feb 21 10:47:03 2002 --- PowerPlantOverrides/LModelObject.cp Thu Feb 21 10:47:09 2002 *************** *** 614,619 **** --- 614,625 ---- #endif } else { + if (inKeyData.descriptorType == typeUnicodeText) { + Str255 uniSubModelName; + UExtractFromAEDesc::ThePString(inKeyData, uniSubModelName, sizeof(uniSubModelName)); + GetSubModelByName(inModelID, uniSubModelName, outToken); + break; + } UExtractFromAEDesc::TheSInt32(inKeyData, subPosition); } *************** *** 674,680 **** if (subPosition == position_AllSubModels) { GetAllSubModels(inModelID, outToken); } else if (subPosition > 0) { ! GetSubModelByPosition(inModelID, subPosition, outToken); } break; } --- 680,693 ---- if (subPosition == position_AllSubModels) { GetAllSubModels(inModelID, outToken); } else if (subPosition > 0) { ! Size descSz = ::AEGetDescDataSize(&inKeyData); ! if (descSz > 4) { ! //bug in Mac OS X -- unicode is sent as formAbsolutePosition instead of formName ! Str255 uniSubModelName; ! UExtractFromAEDesc::ThePString(inKeyData, uniSubModelName, sizeof(uniSubModelName)); ! GetSubModelByName(inModelID, uniSubModelName, outToken); ! } else ! GetSubModelByPosition(inModelID, subPosition, outToken); } break; }