Apologies!

All the patches sent this minute were sent by mistake - I'll be sending the proper patch set now.

Jam

On Tue, Aug 18, 2015 at 7:23 PM, Aaryaman Vasishta <jem456.vasishta@gmail.com> wrote:
---
��dlls/d3drm/device.c�� �� �� | 27 ++++++++++++++++++++++++---
��dlls/d3drm/tests/d3drm.c |�� 4 ++--
��2 files changed, 26 insertions(+), 5 deletions(-)

diff --git a/dlls/d3drm/device.c b/dlls/d3drm/device.c
index b703077..bb8eeae 100644
--- a/dlls/d3drm/device.c
+++ b/dlls/d3drm/device.c
@@ -418,7 +418,14 @@ static D3DRMTEXTUREQUALITY WINAPI d3drm_device1_GetTextureQuality(IDirect3DRMDev

��static HRESULT WINAPI d3drm_device1_GetDirect3DDevice(IDirect3DRMDevice *iface, IDirect3DDevice **d3d_device)
��{
-�� �� FIXME("iface %p, d3d_device %p stub!\n", iface, d3d_device);
+�� �� struct d3drm_device *device = impl_from_IDirect3DRMDevice(iface);
+�� �� TRACE("iface %p, d3d_device %p!\n", iface, d3d_device);
+
+�� �� if (device->device)
+�� �� {
+�� �� �� �� *d3d_device = device->device;
+�� �� �� �� return D3DRM_OK;
+�� �� }

�� �� ��return E_NOTIMPL;
��}
@@ -772,7 +779,14 @@ static D3DRMTEXTUREQUALITY WINAPI d3drm_device2_GetTextureQuality(IDirect3DRMDev

��static HRESULT WINAPI d3drm_device2_GetDirect3DDevice(IDirect3DRMDevice2 *iface, IDirect3DDevice **d3d_device)
��{
-�� �� FIXME("iface %p, d3d_device %p stub!\n", iface, d3d_device);
+�� �� struct d3drm_device *device = impl_from_IDirect3DRMDevice2(iface);
+�� �� TRACE("iface %p, d3d_device %p!\n", iface, d3d_device);
+
+�� �� if (device->device)
+�� �� {
+�� �� �� �� *d3d_device = device->device;
+�� �� �� �� return D3DRM_OK;
+�� �� }

�� �� ��return E_NOTIMPL;
��}
@@ -1139,7 +1153,14 @@ static D3DRMTEXTUREQUALITY WINAPI d3drm_device3_GetTextureQuality(IDirect3DRMDev

��static HRESULT WINAPI d3drm_device3_GetDirect3DDevice(IDirect3DRMDevice3 *iface, IDirect3DDevice **d3d_device)
��{
-�� �� FIXME("iface %p, d3d_device %p stub!\n", iface, d3d_device);
+�� �� struct d3drm_device *device = impl_from_IDirect3DRMDevice3(iface);
+�� �� TRACE("iface %p, d3d_device %p!\n", iface, d3d_device);
+
+�� �� if (device->device)
+�� �� {
+�� �� �� �� *d3d_device = device->device;
+�� �� �� �� return D3DRM_OK;
+�� �� }

�� �� ��return E_NOTIMPL;
��}
diff --git a/dlls/d3drm/tests/d3drm.c b/dlls/d3drm/tests/d3drm.c
index 959dbc3..4b5cd92 100644
--- a/dlls/d3drm/tests/d3drm.c
+++ b/dlls/d3drm/tests/d3drm.c
@@ -2008,7 +2008,7 @@ static void test_create_device_from_clipper1(void)

�� �� ��/* Fetch immediate mode device in order to access render target */
�� �� ��hr = IDirect3DRMDevice_GetDirect3DDevice(device1, &d3ddevice1);
-�� �� todo_wine ok(hr == D3DRM_OK, "Cannot get IDirect3DDevice interface (hr = %x).\n", hr);
+�� �� ok(hr == D3DRM_OK, "Cannot get IDirect3DDevice interface (hr = %x).\n", hr);
�� �� ��if (FAILED(hr))
�� �� �� �� ��goto cleanup;

@@ -2103,7 +2103,7 @@ static void test_create_device_from_clipper1(void)
�� �� ��ok(hr == D3DRM_OK, "Cannot create IDirect3DRMDevice interface (hr = %x).\n", hr);

�� �� ��hr = IDirect3DRMDevice_GetDirect3DDevice(device1, &d3ddevice1);
-�� �� todo_wine ok(hr == D3DRM_OK, "Cannot get IDirect3DDevice interface (hr = %x).\n", hr);
+�� �� ok(hr == D3DRM_OK, "Cannot get IDirect3DDevice interface (hr = %x).\n", hr);
�� �� ��if (FAILED(hr))
�� �� �� �� ��goto cleanup;

--
2.3.2 (Apple Git-55)