Fixed two bugs (this fixes Diablo II download) :

- Check if returned structure for dependency is null, to avoid crash
- Compare good fields to get dependency. According to xml file, it's regname that should be used.

svn path=/trunk/; revision=31897
This commit is contained in:
Pierre Schweitzer 2008-01-19 21:32:39 +00:00
parent 9e2b8d350c
commit b83306cd61

View file

@ -654,7 +654,7 @@ struct Application* GetDependency(const WCHAR* Dependency)
{ {
while (Category->Apps) while (Category->Apps)
{ {
if(StrCmpW(Category->Apps->Name, Dependency) == 0) if(StrCmpW(Category->Apps->RegName, Dependency) == 0)
return Category->Apps; return Category->Apps;
Category->Apps = Category->Apps->Next; Category->Apps = Category->Apps->Next;
} }
@ -721,6 +721,7 @@ WndProc (HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)
{ {
AppToInstall = SelectedApplication; AppToInstall = SelectedApplication;
SelectedApplication = GetDependency(SelectedApplication->Depends); SelectedApplication = GetDependency(SelectedApplication->Depends);
if (SelectedApplication)
if (!IsApplicationInstalled(SelectedApplication)) if (!IsApplicationInstalled(SelectedApplication))
{ {
LoadString(GetModuleHandle(NULL), IDS_INSTALL_DEP, InstallDep, sizeof(InstallDep) / sizeof(WCHAR)); LoadString(GetModuleHandle(NULL), IDS_INSTALL_DEP, InstallDep, sizeof(InstallDep) / sizeof(WCHAR));