Author: pschweitzer
Date: Sun Jan 20 00:32:39 2008
New Revision: 31897
URL:
http://svn.reactos.org/svn/reactos?rev=31897&view=rev
Log:
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.
Modified:
trunk/rosapps/downloader/main.c
Modified: trunk/rosapps/downloader/main.c
URL:
http://svn.reactos.org/svn/reactos/trunk/rosapps/downloader/main.c?rev=3189…
==============================================================================
--- trunk/rosapps/downloader/main.c (original)
+++ trunk/rosapps/downloader/main.c Sun Jan 20 00:32:39 2008
@@ -654,7 +654,7 @@
{
while (Category->Apps)
{
- if(StrCmpW(Category->Apps->Name, Dependency) == 0)
+ if(StrCmpW(Category->Apps->RegName, Dependency) == 0)
return Category->Apps;
Category->Apps = Category->Apps->Next;
}
@@ -721,16 +721,17 @@
{
AppToInstall = SelectedApplication;
SelectedApplication = GetDependency(SelectedApplication->Depends);
- if (!IsApplicationInstalled(SelectedApplication))
- {
- LoadString(GetModuleHandle(NULL), IDS_INSTALL_DEP, InstallDep, sizeof(InstallDep)
/ sizeof(WCHAR));
- LoadString(GetModuleHandle(NULL), IDS_WINDOW_TITLE, Title, sizeof(Title) /
sizeof(WCHAR));
- _snwprintf(InstallDepBuffer, sizeof(InstallDepBuffer) / sizeof(WCHAR),
InstallDep, SelectedApplication->Name, AppToInstall->Name,
SelectedApplication->Name);
- if (MessageBox(hwnd, InstallDepBuffer, Title, MB_YESNO | MB_ICONINFORMATION) ==
IDYES)
+ if (SelectedApplication)
+ if (!IsApplicationInstalled(SelectedApplication))
{
- DialogBoxW(GetModuleHandle(NULL), MAKEINTRESOURCEW(IDD_DOWNLOAD), 0,
DownloadProc);
+ LoadString(GetModuleHandle(NULL), IDS_INSTALL_DEP, InstallDep,
sizeof(InstallDep) / sizeof(WCHAR));
+ LoadString(GetModuleHandle(NULL), IDS_WINDOW_TITLE, Title, sizeof(Title) /
sizeof(WCHAR));
+ _snwprintf(InstallDepBuffer, sizeof(InstallDepBuffer) / sizeof(WCHAR),
InstallDep, SelectedApplication->Name, AppToInstall->Name,
SelectedApplication->Name);
+ if (MessageBox(hwnd, InstallDepBuffer, Title, MB_YESNO | MB_ICONINFORMATION) ==
IDYES)
+ {
+ DialogBoxW(GetModuleHandle(NULL), MAKEINTRESOURCEW(IDD_DOWNLOAD), 0,
DownloadProc);
+ }
}
- }
SelectedApplication = AppToInstall;
}