From f121558f9379c92a20051e3d87489d4c8125e9f9 Mon Sep 17 00:00:00 2001 From: Yukihiro Matsumoto Date: Fri, 3 Aug 2012 19:55:01 +0900 Subject: mrb_define_method_vm should update target_class --- src/class.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/class.c b/src/class.c index d6c7a92fb..13c2d0469 100644 --- a/src/class.c +++ b/src/class.c @@ -328,10 +328,13 @@ mrb_define_method_vm(mrb_state *mrb, struct RClass *c, mrb_sym name, mrb_value b { khash_t(mt) *h = c->mt; khiter_t k; + struct RProc *p; if (!h) h = c->mt = kh_init(mt, mrb); k = kh_put(mt, h, name); - kh_value(h, k) = mrb_proc_ptr(body); + p = mrb_proc_ptr(body); + if (p) p->target_class = c; + kh_value(h, k) = p; } static mrb_value -- cgit v1.2.3