Changeset 12965
- Timestamp:
- Jan 9, 2000, 3:15:08 PM (25 years ago)
- Location:
- tags/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified tags/trunk/ChangeLog ¶
r12963 r12965 1 /* $Id: ChangeLog,v 1.624 2000-01-09 14:12:37 cbratschi Exp $ */ 1 /* $Id: ChangeLog,v 1.625 2000-01-09 14:15:08 davidr Exp $ */ 2 3 2000-01-09: David Raison <djr@lemur.co.uk> 4 - OLEAUT32: Typelib - Updated TKIND_ALIAS handling. 2 5 3 6 2000-01-09: Christoph Bratschi <cbratschi@datacomm.ch> -
TabularUnified tags/trunk/src/oleaut32/typelib.cpp ¶
r12914 r12965 1 /* $Id: typelib.cpp,v 1. 9 2000-01-05 19:44:34 sandervlExp $ */1 /* $Id: typelib.cpp,v 1.10 2000-01-09 14:12:19 davidr Exp $ */ 2 2 /* 3 3 * ITypelib interface … … 1061 1061 pTypeInfo->TypeAttr.cImplTypes = pBase->cImplTypes; 1062 1062 pTypeInfo->TypeAttr.cbSizeVft = pBase->cbSizeVft; // FIXME: this is only the non inherited part 1063 if (pTypeInfo->TypeAttr.typekind == TKIND_ALIAS)1064 GetTypedesc(pBase->datatype1, &pTypeInfo->TypeAttr.tdescAlias) ;1065 1063 1066 1064 /* FIXME: */ … … 1078 1076 */ 1079 1077 1078 // ImplTypes {DR: not sure this is OK yet} 1079 switch(pTypeInfo->TypeAttr.typekind) 1080 { 1081 case TKIND_ALIAS: 1082 GetTypedesc(pBase->datatype1, &pTypeInfo->TypeAttr.tdescAlias) ; 1083 break; 1084 1085 case TKIND_COCLASS: 1086 ParseImplemented(pTypeInfo, pBase); 1087 break; 1088 1089 case TKIND_DISPATCH: 1090 break; 1091 1092 default: 1093 if (pBase->datatype1 != 0xffffffff) 1094 { 1095 TLBRefType * pNew = new TLBRefType; 1096 memset(pNew, 0, sizeof(*pNew)); // Ensure that unset fields get nulled out. 1097 1098 ParseReference(pBase->datatype1, pNew); 1099 pTypeInfo->pImplements.AddAtEnd(pNew); 1100 } 1101 1102 } 1103 1080 1104 #if defined(DEBUG) 1081 1105 dprintfLine2(); … … 1084 1108 TypeKindAsString(pTypeInfo->TypeAttr.typekind))); 1085 1109 char guid[128]; 1110 char buf[1024]; 1086 1111 WINE_StringFromCLSID(&pTypeInfo->TypeAttr.guid, guid); 1087 1112 dprintf((LOG, " .GUID: %s", guid)); … … 1098 1123 dprintf((LOG, " .cImplTypes: %08x", pTypeInfo->TypeAttr.cImplTypes)); 1099 1124 dprintf((LOG, " .cbSizeVft: %08x", pTypeInfo->TypeAttr.cbSizeVft)); 1125 if (pTypeInfo->TypeAttr.typekind == TKIND_ALIAS) 1126 { 1127 sprintfTypeDesc(buf, &pTypeInfo->TypeAttr.tdescAlias); 1128 dprintf((LOG, " .tdesc %s", buf)); 1129 } 1130 dprintf((LOG, " .DocString %s", pTypeInfo->szDocString)); 1131 dprintf((LOG, " .HelpStrCtx %08x", pTypeInfo->lHelpStringContext)); 1132 dprintf((LOG, " .HelpCtx %08x", pTypeInfo->lHelpContext)); 1133 1134 dprintf((LOG, "pBase")); 1135 dprintf((LOG, " .res2 %08x", pBase->res2)); 1136 dprintf((LOG, " .res3 %08x", pBase->res3)); 1137 dprintf((LOG, " .res4 %08x", pBase->res4)); 1138 dprintf((LOG, " .res5 %08x", pBase->res5)); 1139 dprintf((LOG, " .res7 %08x", pBase->res7)); 1140 dprintf((LOG, " .res8 %08x", pBase->res8)); 1141 dprintf((LOG, " .res9 %08x", pBase->res9)); 1142 dprintf((LOG, " .resA %08x", pBase->resA)); 1143 dprintf((LOG, " .datatype1 %08x", pBase->datatype1)); 1144 dprintf((LOG, " .datatype2 %08x", pBase->datatype2)); 1145 dprintf((LOG, " .res18 %08x", pBase->res18)); 1146 dprintf((LOG, " .res19 %08x", pBase->res19)); 1147 1100 1148 #endif 1101 1149 … … 1103 1151 ParseMembers(pTypeInfo, pBase); 1104 1152 1105 // ImplTypes {DR: not sure this is OK yet}1106 if (pTypeInfo->TypeAttr.typekind == TKIND_COCLASS)1107 ParseImplemented(pTypeInfo, pBase);1108 1109 // RefTypes {DR: not sure this is OK yet}1110 else if (pTypeInfo->TypeAttr.typekind != TKIND_DISPATCH)1111 {1112 if (pBase->datatype1 != 0xffffffff)1113 {1114 TLBRefType * pNew = new TLBRefType;1115 memset(pNew, 0, sizeof(*pNew)); // Ensure that unset fields get nulled out.1116 1117 dprintf((LOG, "Datatype1: %08x", pBase->datatype1));1118 ParseReference(pBase->datatype1, pNew);1119 pTypeInfo->pImplements.AddAtEnd(pNew);1120 }1121 }1122 1153 1123 1154 // Load Custom data
Note:
See TracChangeset
for help on using the changeset viewer.