fix for class members shadowing entity fields

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5273 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
Spoike 2018-07-18 19:04:52 +00:00
parent d474f48fd1
commit 1da1414e48
1 changed files with 5 additions and 3 deletions

View File

@ -5011,7 +5011,6 @@ QCC_type_t *QCC_PR_ParseType (int newtype, pbool silentfail)
QCC_type_t *newt;
QCC_type_t *type;
char *name;
int i;
etype_t structtype;
type_inlinefunction = false; //doesn't really matter so long as its not from an inline function type
@ -5270,6 +5269,7 @@ QCC_type_t *QCC_PR_ParseType (int newtype, pbool silentfail)
pbool redeclaration;
int basicindex;
QCC_def_t *d;
int d_offset = 0;
QCC_type_t *pc;
pbool found = false;
int assumevirtual = 0; //0=erk, 1=yes, -1=no
@ -5617,13 +5617,15 @@ QCC_type_t *QCC_PR_ParseType (int newtype, pbool silentfail)
//make sure the union is okay
d = QCC_PR_GetDef(NULL, parmname, NULL, 0, 0, GDF_CONST);
if (!d)
if (d)
basicindex = 0;
else
{ //don't go all weird with unioning generic fields
QC_snprintfz(membername, sizeof(membername), "::*%s", basictypenames[newparm->type]);
d = QCC_PR_GetDef(NULL, membername, NULL, 0, 0, GDF_CONST);
if (!d)
{
d = QCC_PR_GetDef(QCC_PR_FieldType(*basictypes[newparm->type]), membername, NULL, 2, arraysize, GDF_CONST|GDF_POSTINIT);
d = QCC_PR_GetDef(QCC_PR_FieldType(*basictypes[newparm->type]), membername, NULL, 2, 0, GDF_CONST|GDF_POSTINIT);
// for (i = 0; (unsigned int)i < newparm->size*(arraysize?arraysize:1); i++)
// d->symboldata[i]._int = pr.size_fields+i;
// pr.size_fields += i;