Andrew Eikum : oleaut32: Improve MEMBERID assignment in ICreateTypeInfo:: LayOut.

Alexandre Julliard julliard at winehq.org
Mon Aug 23 10:50:14 CDT 2010


Module: wine
Branch: master
Commit: 3788a080cf5b0f5e67cc5da9ff31510b96700162
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=3788a080cf5b0f5e67cc5da9ff31510b96700162

Author: Andrew Eikum <aeikum at codeweavers.com>
Date:   Fri Aug 20 14:59:17 2010 -0500

oleaut32: Improve MEMBERID assignment in ICreateTypeInfo::LayOut.

---

 dlls/oleaut32/typelib2.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/dlls/oleaut32/typelib2.c b/dlls/oleaut32/typelib2.c
index 84c51a2..77f072a 100644
--- a/dlls/oleaut32/typelib2.c
+++ b/dlls/oleaut32/typelib2.c
@@ -2638,13 +2638,13 @@ static HRESULT WINAPI ICreateTypeInfo2_fnLayOut(
             for(iter2=This->typedata->next->next; iter2!=This->typedata->next; iter2=iter2->next) {
                 if(iter == iter2) continue;
                 if(iter2->indice == iter->indice) {
-                    iter->indice = 0x5fffffff + This->typeinfo->cElement + i + (This->typeinfo->datatype2<<16);
+                    iter->indice = 0x60000000 + This->typeinfo->cElement + (This->typeinfo->datatype2<<16);
 
                     for(iter2=This->typedata->next->next; iter2!=This->typedata->next; iter2=iter2->next) {
                         if(iter == iter2) continue;
                         if(iter2->indice == iter->indice) {
-                            HeapFree(GetProcessHeap(), 0, typedata);
-                            return E_ACCESSDENIED;
+                            ++iter->indice;
+                            iter2 = This->typedata->next;
                         }
                     }
 




More information about the wine-cvs mailing list