summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorYukihiro Matsumoto <[email protected]>2012-04-20 13:17:56 +0900
committerYukihiro Matsumoto <[email protected]>2012-04-20 13:17:56 +0900
commitd9ce44e99b9eaedfea60aada200f37b90b8174f1 (patch)
treec2cc4188233ae65fe6e73bdbb772dc030c2dfd0d /src
parent08451ed2008c841bd30982c66690b3be26d097f5 (diff)
downloadmruby-d9ce44e99b9eaedfea60aada200f37b90b8174f1.tar.gz
mruby-d9ce44e99b9eaedfea60aada200f37b90b8174f1.zip
wrong inheritance chain from singleton class
Diffstat (limited to 'src')
-rw-r--r--src/class.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/src/class.c b/src/class.c
index aa2485cb1..5de791c85 100644
--- a/src/class.c
+++ b/src/class.c
@@ -105,12 +105,7 @@ make_metaclass(mrb_state *mrb, struct RClass *c)
}
sc = mrb_obj_alloc(mrb, MRB_TT_SCLASS, mrb->class_class);
sc->mt = 0;
- if (!c->super) {
- sc->super = mrb->class_class;
- }
- else {
- sc->super = c->super->c;
- }
+ sc->super = c->c;
c->c = sc;
mrb_field_write_barrier(mrb, (struct RBasic*)c, (struct RBasic*)sc);
mrb_field_write_barrier(mrb, (struct RBasic*)sc, (struct RBasic*)sc->super);