Skip to content

Commit b0889b9

Browse files
committed
Fix deprecation version checks on class fields/pointers
1 parent ecdfe39 commit b0889b9

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

src/common/scripting/core/symbols.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ VersionInfo PField::GetVersion()
170170
{
171171
VersionInfo Highest = { 0,0,0 };
172172
if (!(Flags & VARF_Deprecated)) Highest = mVersion;
173-
if (Type->mVersion > Highest) Highest = Type->mVersion;
173+
if (Type->mVersion > Highest && !Type->TypeDeprecated) Highest = Type->mVersion;
174174
return Highest;
175175
}
176176

src/common/scripting/core/types.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1493,6 +1493,7 @@ PPointer::PPointer(PType *pointsat, bool isconst)
14931493
{
14941494
mDescriptiveName.Format("Pointer<%s%s>", pointsat->DescriptiveName(), isconst ? "readonly " : "");
14951495
mVersion = pointsat->mVersion;
1496+
TypeDeprecated = pointsat->TypeDeprecated;
14961497
}
14971498
else
14981499
{
@@ -1674,7 +1675,11 @@ PClassPointer::PClassPointer(PClass *restrict)
16741675
loadOp = OP_LP;
16751676
storeOp = OP_SP;
16761677
Flags |= TYPE_ClassPointer;
1677-
if (restrict) mVersion = restrict->VMType->mVersion;
1678+
if (restrict)
1679+
{
1680+
mVersion = restrict->VMType->mVersion;
1681+
TypeDeprecated = restrict->VMType->TypeDeprecated;
1682+
}
16781683
else mVersion = 0;
16791684
}
16801685

0 commit comments

Comments
 (0)