From 32a456b25c77f0be41df679834a2ec1ce2420d65 Mon Sep 17 00:00:00 2001 From: Bruno Fonseca Date: Tue, 20 Dec 2016 11:19:43 -0200 Subject: [PATCH] THRIFT-4010 Q.fcall messing up with *this* pointer inside called function Client: js Patch: Bruno Fonseca --- compiler/cpp/src/thrift/generate/t_js_generator.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/cpp/src/thrift/generate/t_js_generator.cc b/compiler/cpp/src/thrift/generate/t_js_generator.cc index 3ccd2483fa8..985ee0c4b5a 100644 --- a/compiler/cpp/src/thrift/generate/t_js_generator.cc +++ b/compiler/cpp/src/thrift/generate/t_js_generator.cc @@ -1118,7 +1118,7 @@ void t_js_generator::generate_process_function(t_service* tservice, t_function* f_service_ << indent() << "if (this._handler." << tfunction->get_name() << ".length === " << fields.size() << ") {" << endl; indent_up(); - indent(f_service_) << "Q.fcall(this._handler." << tfunction->get_name(); + indent(f_service_) << "Q.fcall(this._handler." << tfunction->get_name() << ".bind(this._handler)"; for (f_iter = fields.begin(); f_iter != fields.end(); ++f_iter) { f_service_ << ", args." << (*f_iter)->get_name();