From 519f5050b7d327e5df8c910ab2fa177c825a908c Mon Sep 17 00:00:00 2001 From: belliash Date: Fri, 31 May 2019 06:54:01 +0200 Subject: [PATCH] The easiest solutions are the best. Just look for attributes in object. --- engine/vm.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/engine/vm.c b/engine/vm.c index 91439be..42874c6 100644 --- a/engine/vm.c +++ b/engine/vm.c @@ -4212,14 +4212,8 @@ static sxi32 VmByteCodeExec( if(SyStrncmp(pObjAttr->pAttr->sName.zString, sName.zString, sName.nByte) == 0) { if(pNos->iFlags != MEMOBJ_PARENTOBJ && pObjAttr->pAttr->pClass == pClass) { break; - } else { - SyHashEntry *pDerived = SyHashGet(&pClass->hDerived, (const void *)pObjAttr->pAttr->pClass->sName.zString, pObjAttr->pAttr->pClass->sName.nByte); - if(pDerived != 0) { - ph7_class *pSub = (ph7_class *)pDerived->pUserData; - if(pObjAttr->pAttr->pClass == pSub) { - break; - } - } + } else if(pObjAttr->pAttr->pClass != pClass) { + break; } } pObjAttr = 0;