Index: mojo/public/cpp/bindings/interface_request.h |
diff --git a/mojo/public/cpp/bindings/interface_request.h b/mojo/public/cpp/bindings/interface_request.h |
index c139306e2c8d671871c039d3960e5178bc7e546d..22ba015ff7b1d81988bea0e7f003b7d9957f94b6 100644 |
--- a/mojo/public/cpp/bindings/interface_request.h |
+++ b/mojo/public/cpp/bindings/interface_request.h |
@@ -107,10 +107,12 @@ InterfaceRequest<Interface> MakeRequest(ScopedMessagePipeHandle handle) { |
// CreateSource(source_request.Pass()); // Create implementation locally. |
// |
template <typename Interface> |
-InterfaceRequest<Interface> GetProxy(InterfacePtr<Interface>* ptr) { |
+InterfaceRequest<typename Interface::GenericInterface_> |
+GetProxy(InterfacePtr<Interface>* ptr) { |
MessagePipe pipe; |
ptr->Bind(InterfacePtrInfo<Interface>(pipe.handle0.Pass(), 0u)); |
- return MakeRequest<Interface>(pipe.handle1.Pass()); |
+ return MakeRequest<typename Interface::GenericInterface_>( |
+ pipe.handle1.Pass()); |
} |
} // namespace mojo |