THRIFT-4010 Q.fcall messing up with *this* pointer inside called function
Client: js
Patch: Bruno Fonseca

This closes #1143
diff --git a/compiler/cpp/src/thrift/generate/t_js_generator.cc b/compiler/cpp/src/thrift/generate/t_js_generator.cc
index 3ccd248..985ee0c 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 @@
   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();