summaryrefslogtreecommitdiff
path: root/py/gc_long_lived.c
diff options
context:
space:
mode:
authorJeff Epler <jepler@unpythonic.net>2018-03-25 14:25:04 -0500
committerJeff Epler <jepler@unpythonic.net>2018-03-25 15:11:30 -0500
commit922b7c313197a28aa8243710d2d26f1034575674 (patch)
tree8abbd4735f22948a922616bb2c2cd5d8a9c467f0 /py/gc_long_lived.c
parentfa884466793738338edb7389dc6b21f160bba37b (diff)
Don't assume the type of the prop->proxy objects
This fixes a crash running the cpydiff/core_class_superproperty.py test, but it does not fix the difference to cpython3. Closes: #705
Diffstat (limited to 'py/gc_long_lived.c')
-rw-r--r--py/gc_long_lived.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/py/gc_long_lived.c b/py/gc_long_lived.c
index c50bbcd83..d34fde5d9 100644
--- a/py/gc_long_lived.c
+++ b/py/gc_long_lived.c
@@ -78,9 +78,9 @@ mp_obj_property_t *make_property_long_lived(mp_obj_property_t *prop, uint8_t max
if (max_depth == 0) {
return prop;
}
- prop->proxy[0] = make_fun_bc_long_lived((mp_obj_fun_bc_t*) prop->proxy[0], max_depth - 1);
- prop->proxy[1] = make_fun_bc_long_lived((mp_obj_fun_bc_t*) prop->proxy[1], max_depth - 1);
- prop->proxy[2] = make_fun_bc_long_lived((mp_obj_fun_bc_t*) prop->proxy[2], max_depth - 1);
+ prop->proxy[0] = make_obj_long_lived((mp_obj_fun_bc_t*) prop->proxy[0], max_depth - 1);
+ prop->proxy[1] = make_obj_long_lived((mp_obj_fun_bc_t*) prop->proxy[1], max_depth - 1);
+ prop->proxy[2] = make_obj_long_lived((mp_obj_fun_bc_t*) prop->proxy[2], max_depth - 1);
return gc_make_long_lived(prop);
}