Ignore:
Timestamp:
Mar 15, 2008, 1:20:13 PM (16 years ago)
Author:
dai_9181
Message:

関数の戻り値の構造体など、一時メモリに保持された構造体のメンバに直接アクセスした場合、その一時メモリの解放が正常に行われないバグを修正(まずは32bit版のみ)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler32/Compile_CallProc.cpp

    r420 r435  
    289289            if(lstrcmpi(ObjectName,"Super")==0) goto InClassMember;
    290290            else{
    291                 bool isLiteral;
     291                bool isLiteral, isNeedHeapFreeStructure = false;
    292292                Type baseType( DEF_OBJECT, *pUserProc->GetParentClassPtr() ) , resultType;
    293                 if( !TermOpe( ObjectName, baseType, resultType, isLiteral, NULL, NULL, false, !pMethod->IsConst() ) )
     293                if( !TermOpe( ObjectName, baseType, resultType, isLiteral, isNeedHeapFreeStructure, NULL, false, !pMethod->IsConst() ) )
    294294                {
    295295                    return false;
     296                }
     297                if( !resultType.IsObject() )
     298                {
     299                    SetError();
    296300                }
    297301
Note: See TracChangeset for help on using the changeset viewer.