-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Am 2016-06-24 um 22:49 schrieb Aaryaman Vasishta:
+ if (FAILED(hr = IDirect3DRMDevice_QueryInterface(device, &IID_IDirect3DRMDevice3, (void **)&device3))) + return hr; + + if (FAILED(hr = IDirect3DRMFrame_QueryInterface(camera, &IID_IDirect3DRMFrame3, (void **)&camera3))) + { + IDirect3DRMDevice3_Release(device3); + return hr; + } + IDirect3DRMDevice_Release(device); + IDirect3DRMFrame_Release(camera); + + return d3drm_viewport2_Init(&viewport->IDirect3DRMViewport2_iface, device3, camera3, x, y, width, height); This has the same problem as the first version of your frame thunks: You get "device3", but then you release "device", to which you don't hold a reference.
-----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJXcFfoAAoJEN0/YqbEcdMweH8P/RBg+lEvXxGES0C1Uo5aN6Ht E0TOftji/AaGrVcaoHLWMsl30/GUpmh+iRdM19ZHwL0vey3yKKdTmFlt4tMrG5aP LLHLlxRqcJt1h+MREvMYb7JJjCAMcR/2Bn63nxWZpZ+PncQo1H90ZsBHCrd4Y707 JukrA3QfPm9cyXiX/ER8cj7QgpnNsk5y8ZXgbdtDDGOzShf2OSoslU5ivQQsmZ4W 2fiJWOeWdpi3P9Fh6EUTDOwUf5Rnj7mBYb3KFASc9o0VZXHuI/f35LGG9AdNkSxs lf6RbPDcXxPQqUxlz0VnmS/31/oGb0pDczESx+alDU9n29tWPANY+yBGUmDStyJ0 /RHl2qpZJMs/lQpk9UQ/RpvuVdZfLVxgftqyZuoWT4EfW5iseOlCytmsJEG1AVpd BKAMFRbueGhPYfUcuLAH1GL4keRg7P3QUd36MlR0wWVdYGtMWrbQL+6SrHT6r75C QmXU9mTJMTleA/Yzskenm71Tz9/wbwavYjUMaEQp3+7OKrG0Zqnt4foh2GpNUT+6 M7jxfSSng4+irWvxf3ZKdpjfGNHRn1ZhRKrEpxKQptiGlFvYSMDy7tHtyybK2MbB h8CO19YAzcVjfFHj5sRSYtZIHdVm5aG5FJLfVm9UPBA7xT2l9b6EgqXEhLTVLYC6 /TSyEFgT5j+DkKf6DCm+ =0tcs -----END PGP SIGNATURE-----