| Index: ppapi/proxy/ppp_graphics_3d_proxy.cc
|
| diff --git a/ppapi/proxy/ppp_graphics_3d_proxy.cc b/ppapi/proxy/ppp_graphics_3d_proxy.cc
|
| index a47722771822fe847ea03aa7fb1a740a7fd1d85b..3cac464672fbcff7a3cdb7424dce0cf6405b1f68 100644
|
| --- a/ppapi/proxy/ppp_graphics_3d_proxy.cc
|
| +++ b/ppapi/proxy/ppp_graphics_3d_proxy.cc
|
| @@ -24,16 +24,19 @@ static const PPP_Graphics3D graphics_3d_interface = {
|
| &ContextLost
|
| };
|
|
|
| -InterfaceProxy* CreateGraphics3DProxy(Dispatcher* dispatcher,
|
| - const void* target_interface) {
|
| - return new PPP_Graphics3D_Proxy(dispatcher, target_interface);
|
| +InterfaceProxy* CreateGraphics3DProxy(Dispatcher* dispatcher) {
|
| + return new PPP_Graphics3D_Proxy(dispatcher);
|
| }
|
|
|
| } // namespace
|
|
|
| -PPP_Graphics3D_Proxy::PPP_Graphics3D_Proxy(Dispatcher* dispatcher,
|
| - const void* target_interface)
|
| - : InterfaceProxy(dispatcher, target_interface) {
|
| +PPP_Graphics3D_Proxy::PPP_Graphics3D_Proxy(Dispatcher* dispatcher)
|
| + : InterfaceProxy(dispatcher),
|
| + ppp_graphics_3d_impl_(NULL) {
|
| + if (dispatcher->IsPlugin()) {
|
| + ppp_graphics_3d_impl_ = static_cast<const PPP_Graphics3D*>(
|
| + dispatcher->local_get_interface()(PPP_GRAPHICS_3D_INTERFACE));
|
| + }
|
| }
|
|
|
| PPP_Graphics3D_Proxy::~PPP_Graphics3D_Proxy() {
|
| @@ -62,8 +65,8 @@ bool PPP_Graphics3D_Proxy::OnMessageReceived(const IPC::Message& msg) {
|
| }
|
|
|
| void PPP_Graphics3D_Proxy::OnMsgContextLost(PP_Instance instance) {
|
| - if (ppp_graphics_3d_target())
|
| - ppp_graphics_3d_target()->Graphics3DContextLost(instance);
|
| + if (ppp_graphics_3d_impl_)
|
| + ppp_graphics_3d_impl_->Graphics3DContextLost(instance);
|
| }
|
|
|
| } // namespace proxy
|
|
|