Changeset 3501 for trunk/src/kernel32/winimgres.cpp
- Timestamp:
- May 9, 2000, 8:56:59 PM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kernel32/winimgres.cpp
r3275 r3501 1 /* $Id: winimgres.cpp,v 1.3 4 2000-03-29 17:17:18sandervl Exp $ */1 /* $Id: winimgres.cpp,v 1.35 2000-05-09 18:56:10 sandervl Exp $ */ 2 2 3 3 /* … … 16 16 */ 17 17 #include <os2win.h> 18 #include <winnls.h> 18 19 #include <stdio.h> 19 20 #include <stdlib.h> … … 151 152 if(*nodeData == 0xFFFFFFFF) {//shouldn't happen! 152 153 dprintf(("ProcessResSubDir: *nodeData == 0xFFFFFFFF!\n")); 154 DebugInt3(); 153 155 return(NULL); 154 156 } … … 159 161 //level 3 (lang) -> get first language? 160 162 if(*nodeData == IDLANG_GETFIRST) { 161 nrres = prdType->NumberOfNamedEntries + prdType->NumberOfIdEntries;162 fNumId = (prdType->NumberOfNamedEntries == 0);163 nrres = prdType->NumberOfNamedEntries + prdType->NumberOfIdEntries; 164 fNumId = (prdType->NumberOfNamedEntries == 0); 163 165 } 164 166 else { 165 fNumId = HIWORD(*nodeData) == 0;166 167 if(fNumId) {//numeric or string id?168 nrres = prdType->NumberOfIdEntries;169 prde += prdType->NumberOfNamedEntries; //skip name entries170 }171 else nrres = prdType->NumberOfNamedEntries;167 fNumId = HIWORD(*nodeData) == 0; 168 169 if(fNumId) {//numeric or string id? 170 nrres = prdType->NumberOfIdEntries; 171 prde += prdType->NumberOfNamedEntries; //skip name entries 172 } 173 else nrres = prdType->NumberOfNamedEntries; 172 174 } 173 175 … … 177 179 178 180 if(*nodeData == IDLANG_GETFIRST) { 179 fFound = TRUE; //always take the first one180 }181 else181 fFound = TRUE; //always take the first one 182 } 183 else 182 184 if(!fNumId) {//name or id entry? 183 185 nameOffset = prde->u1.Name; … … 222 224 PIMAGE_RESOURCE_DATA_ENTRY pData = NULL; 223 225 226 switch(lang) { 227 case LOCALE_SYSTEM_DEFAULT: 228 lang = GetSystemDefaultLangID(); 229 break; 230 case LOCALE_USER_DEFAULT: 231 lang = GetUserDefaultLangID(); 232 break; 233 case LOCALE_NEUTRAL: 234 //TODO: Not correct; should take language associated with current thread 235 lang = IDLANG_GETFIRST; 236 break; 237 } 238 224 239 pData = getPEResourceEntry(id, type, lang); 225 240 if(pData == NULL) { … … 260 275 else type = (ULONG)lpszType; 261 276 277 switch(lang) { 278 case LOCALE_SYSTEM_DEFAULT: 279 lang = GetSystemDefaultLangID(); 280 break; 281 case LOCALE_USER_DEFAULT: 282 lang = GetUserDefaultLangID(); 283 break; 284 case LOCALE_NEUTRAL: 285 //TODO: Not correct; should take language associated with current thread 286 lang = IDLANG_GETFIRST; 287 break; 288 } 262 289 id = (ULONG)lpszName; 263 290
Note:
See TracChangeset
for help on using the changeset viewer.