From c58dcb90df3abe41d1437e5fc4d8a8b70240529e Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Wed, 23 Oct 2024 11:45:31 -0400 Subject: [PATCH] Fixed delegate object access check --- IDEHelper/Compiler/BfModule.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/IDEHelper/Compiler/BfModule.cpp b/IDEHelper/Compiler/BfModule.cpp index d55a2475..d482edf3 100644 --- a/IDEHelper/Compiler/BfModule.cpp +++ b/IDEHelper/Compiler/BfModule.cpp @@ -16786,11 +16786,11 @@ void BfModule::CreateDelegateInvokeMethod() { numVal = mBfIRBuilder->CreatePtrToInt(fieldVal, BfTypeCode_UInt64); auto andVal = mBfIRBuilder->CreateAnd(numVal, mBfIRBuilder->CreateConst(BfTypeCode_UInt64, ~0x8000000000000000ULL)); - fieldVal = andVal; + fieldVal = mBfIRBuilder->CreateIntToPtr(andVal, mBfIRBuilder->MapType(mContext->mBfObjectType)); } if ((WantsObjectAccessCheck(mContext->mBfObjectType) && (mCompiler->mSystem->mPtrSize == 8))) - { + { auto oacDoBB = mBfIRBuilder->CreateBlock("oac.do", true); auto oacDoneBB = mBfIRBuilder->CreateBlock("oac.done");