-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
Am 2015-10-15 um 21:54 schrieb Bernhard Übelacker:
- hr = IDirect3DRMFrame_DeleteChild(pFrameP2, pFrameC);
- ok(hr == D3DRM_OK, "Cannot remove child frame (hr = %x)\n", hr);
- CHECK_REFCOUNT(pFrameC, 1);
- CHECK_REFCOUNT(pFrameP1, 2);
- hr = IDirect3DRMFrame_DeleteChild(pFrameP2, pFrameP1);
- ok(hr == D3DRM_OK, "Cannot remove child frame (hr = %x)\n", hr);
- CHECK_REFCOUNT(pFrameP1, 1);
Are these necessary? I'd expect the frame children to be detached when their parent is destroyed, similarly to how it works in ddraw.
I'm not opposed to explicitly removing them, so I'll send my signed-off-by to wine-patches. But it's something someone (Jamm? ;-) ) could write an explicit test for.
Am 16.10.2015 um 13:00 schrieb Stefan Dösinger:
Are these necessary? I'd expect the frame children to be detached when their parent is destroyed, similarly to how it works in ddraw.
Thanks for your time. You are right. To get these released the explicit DeleteChild is not neccessary. (I first added these but later failed to realize that I do not need them anymore.)
Should I send a changed patch for it?
Kind regards, Bernhard
On Fri, Oct 16, 2015 at 4:30 PM, Stefan Dösinger stefandoesinger@gmail.com wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
Am 2015-10-15 um 21:54 schrieb Bernhard Übelacker:
- hr = IDirect3DRMFrame_DeleteChild(pFrameP2, pFrameC);
- ok(hr == D3DRM_OK, "Cannot remove child frame (hr = %x)\n", hr);
- CHECK_REFCOUNT(pFrameC, 1);
- CHECK_REFCOUNT(pFrameP1, 2);
- hr = IDirect3DRMFrame_DeleteChild(pFrameP2, pFrameP1);
- ok(hr == D3DRM_OK, "Cannot remove child frame (hr = %x)\n", hr);
- CHECK_REFCOUNT(pFrameP1, 1);
Are these necessary? I'd expect the frame children to be detached when their parent is destroyed, similarly to how it works in ddraw.
I'm not opposed to explicitly removing them, so I'll send my signed-off-by to wine-patches. But it's something someone (Jamm? ;-) ) could write an explicit test for.
Well I agree that it's not really needed since the Release method already deletes any existing children that exist on the frame that it's called on.
Then again, I didn't check the refcounting behavior of frames with children. Maybe these tests could probably be merged with the refcount tests in test_frame_qi?
Cheers, Aaryaman
On Sat, Oct 17, 2015 at 12:03 AM, Aaryaman Vasishta < jem456.vasishta@gmail.com> wrote:
On Fri, Oct 16, 2015 at 4:30 PM, Stefan Dösinger < stefandoesinger@gmail.com> wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
Am 2015-10-15 um 21:54 schrieb Bernhard Übelacker:
- hr = IDirect3DRMFrame_DeleteChild(pFrameP2, pFrameC);
- ok(hr == D3DRM_OK, "Cannot remove child frame (hr = %x)\n", hr);
- CHECK_REFCOUNT(pFrameC, 1);
- CHECK_REFCOUNT(pFrameP1, 2);
- hr = IDirect3DRMFrame_DeleteChild(pFrameP2, pFrameP1);
- ok(hr == D3DRM_OK, "Cannot remove child frame (hr = %x)\n", hr);
- CHECK_REFCOUNT(pFrameP1, 1);
Are these necessary? I'd expect the frame children to be detached when their parent is destroyed, similarly to how it works in ddraw.
I'm not opposed to explicitly removing them, so I'll send my signed-off-by to wine-patches. But it's something someone (Jamm? ;-) ) could write an explicit test for.
Well I agree that it's not really needed since the Release method already deletes any existing children that exist on the frame that it's called on.