Berry prevent crash when setting static variable for solidified class

This commit is contained in:
Stephan Hadinger 2021-10-19 20:32:41 +02:00
parent 53457058f7
commit 3b90a68799

View File

@ -346,10 +346,12 @@ bbool be_class_setmember(bvm *vm, bclass *o, bstring *name, bvalue *src)
{ {
bvalue v; bvalue v;
be_assert(name != NULL); be_assert(name != NULL);
bclass * obj = class_member(vm, o, name, &v); if (!gc_isconst(o)) {
if (obj && !var_istype(&v, MT_VARIABLE)) { bclass * obj = class_member(vm, o, name, &v);
be_map_insertstr(vm, obj->members, name, src); if (obj && !var_istype(&v, MT_VARIABLE)) {
return btrue; be_map_insertstr(vm, obj->members, name, src);
return btrue;
}
} }
return bfalse; return bfalse;
} }