[prev in list] [next in list] [prev in thread] [next in thread] 

List:       wine-devel
Subject:    Re: [PATCH 4/5] d3dx9_36: Implement ID3DXFileEnumObjectImpl_GetChildren
From:       Christian Costa <titan.costa () gmail ! com>
Date:       2012-10-25 8:57:27
Message-ID: CAMo6X8bLudoc25eQQgJKK=7D9LmA9xBiLryN18VuSMt9_Eegjw () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


2012/10/25 Nikolay Sivov <bunglehead@gmail.com>

> On 10/25/2012 10:34, Christian Costa wrote:
>
>>
>> +
>> +static HRESULT WINAPI ID3DXFileDataImpl_Create(**IDirectXFileObject
>> *dxfile_object, ID3DXFileData **ret_iface)
>> +{
>> +    ID3DXFileDataImpl *object;
>> +
>> +    TRACE("(%p, %p)\n", dxfile_object, ret_iface);
>> +
>> +    *ret_iface = NULL;
>> +
>> +    object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY,
>> sizeof(*object));
>> +    if (!object)
>> +    {
>> +        ERR("Out of memory\n");
>> +        return E_OUTOFMEMORY;
>> +    }
>> +
>> +    object->ID3DXFileData_iface.**lpVtbl = &ID3DXFileData_Vtbl;
>> +    object->ref = 1;
>> +    object->dxfile_object = (IDirectXFileData*)dxfile_**object;
>> +
>> +    *ret_iface = &object->ID3DXFileData_iface;
>> +
>> +    return S_OK;
>> +}
>> +
>>
> You don't need WINAPI for it.
>
>    +        ret = ID3DXFileDataImpl_Create((**IDirectXFileObject*)data_**object,
>> &object->children[object->nb_**children]);
>>
> It seems you're casting it back and forth, is it possible to use proper
> type for data_object?


Because in another serie ID3DXFileDataImpl_Create will be called in another
place with a FileObject and ID3DXFileDataImpl_Create
will really deals with that FileObject.

>
>  +    {
>> +        (&object->ID3DXFileEnumObject_**iface)->lpVtbl->Release(&**
>> object->ID3DXFileEnumObject_**iface);
>>
> Hmm, what's wrong with object->ID3DXFileEnumObject_**iface.lpVtbl->Release
> ?
>
What do you mean ?

[Attachment #5 (text/html)]

<br><br><div class="gmail_quote">2012/10/25 Nikolay Sivov <span dir="ltr">&lt;<a \
href="mailto:bunglehead@gmail.com" \
target="_blank">bunglehead@gmail.com</a>&gt;</span><br><blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex"> <div class="HOEnZb"><div class="h5">On 10/25/2012 10:34, \
Christian Costa wrote:<br> <blockquote class="gmail_quote" style="margin:0 0 0 \
.8ex;border-left:1px #ccc solid;padding-left:1ex"> <br>
+<br>
+static HRESULT WINAPI ID3DXFileDataImpl_Create(<u></u>IDirectXFileObject \
*dxfile_object, ID3DXFileData **ret_iface)<br> +{<br>
+    ID3DXFileDataImpl *object;<br>
+<br>
+    TRACE(&quot;(%p, %p)\n&quot;, dxfile_object, ret_iface);<br>
+<br>
+    *ret_iface = NULL;<br>
+<br>
+    object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*object));<br>
+    if (!object)<br>
+    {<br>
+        ERR(&quot;Out of memory\n&quot;);<br>
+        return E_OUTOFMEMORY;<br>
+    }<br>
+<br>
+    object-&gt;ID3DXFileData_iface.<u></u>lpVtbl = &amp;ID3DXFileData_Vtbl;<br>
+    object-&gt;ref = 1;<br>
+    object-&gt;dxfile_object = (IDirectXFileData*)dxfile_<u></u>object;<br>
+<br>
+    *ret_iface = &amp;object-&gt;ID3DXFileData_iface;<br>
+<br>
+    return S_OK;<br>
+}<br>
+<br>
</blockquote></div></div>
You don&#39;t need WINAPI for it.<div class="im"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex">  +        ret = \
ID3DXFileDataImpl_Create((<u></u>IDirectXFileObject*)data_<u></u>object, \
&amp;object-&gt;children[object-&gt;nb_<u></u>children]);<br> </blockquote></div>
It seems you&#39;re casting it back and forth, is it possible to use proper type for \
data_object?</blockquote><div> </div><div>Because in another serie \
ID3DXFileDataImpl_Create will be called in another place with a FileObject and \
ID3DXFileDataImpl_Create</div> <div>will really deals with that \
FileObject.</div><blockquote class="gmail_quote" style="margin:0 0 0 \
.8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"> <br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex"> +    {<br>
+        (&amp;object-&gt;ID3DXFileEnumObject_<u></u>iface)-&gt;lpVtbl-&gt;Release(&amp;<u></u>object-&gt;ID3DXFileEnumObject_<u></u>iface);<br>
 </blockquote></div>
Hmm, what&#39;s wrong with \
object-&gt;ID3DXFileEnumObject_<u></u>iface.lpVtbl-&gt;Release \
?<br></blockquote><div>What do you mean ? </div></div><br>





[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic