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=31897... ============================================================================== --- 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; }