Fix for bug 155468: Installation of c11n build crash due to incorrect

attributes for Viewpoint (r=smeredith)
This commit is contained in:
shrutiv%netscape.com 2002-07-12 23:48:13 +00:00
Родитель 0bb56f3274
Коммит c1b8eb8401
3 изменённых файлов: 72 добавлений и 41 удалений

Просмотреть файл

@ -131,7 +131,12 @@ int BuildComponentList(COMPONENT *comps, int *compNum, CString iniSrcPath,
comps[*compNum].forceupgrade = (strstr(attr, "FORCE_UPGRADE") != NULL);
comps[*compNum].uncompress = (strstr(attr, "UNCOMPRESS") != NULL);
comps[*compNum].downloadonly = (strstr(attr, "DOWNLOAD_ONLY") != NULL);
comps[*compNum].supersede = (strstr(attr, "SUPERSEDE") != NULL);
comps[*compNum].ignoreerror = (strstr(attr, "IGNORE_DOWNLOAD_ERROR") != NULL);
comps[*compNum].unselected = (strstr(attr, "UNSELECTED") != NULL);
// using strcmp for VISIBLE attrib instead of strstr since ststr returns
// true for INVISIBLE attribs also (VISIBLE is a part of INVISIBLE)
comps[*compNum].visible = (strcmp(attr, "VISIBLE") == 0);
comps[*compNum].empty = strcmp(attr, "");
if (!(comps[*compNum].selected && comps[*compNum].invisible &&

Просмотреть файл

@ -12,6 +12,9 @@ typedef struct s_component {
BOOL uncompress;
BOOL downloadonly;
BOOL unselected;
BOOL supersede;
BOOL ignoreerror;
BOOL visible;
BOOL empty;
} COMPONENT;

Просмотреть файл

@ -1750,7 +1750,7 @@ void init_components()
Components[i].selected = FALSE;
}
else
if ((Components[i].additional) || !(Components[i].empty))
if ((Components[i].additional) || (Components[i].visible))
Components[i].selected = TRUE;
}
}
@ -1788,36 +1788,54 @@ void invisible()
Cee.Format("C%d", componentOrder);
WritePrivateProfileString("Setup Type0",(LPCTSTR)Cee,(LPCTSTR)component, iniDstPath);
WritePrivateProfileString("Setup Type1",(LPCTSTR)Cee,(LPCTSTR)component, iniDstPath);
if (Components[i].additional && !(Components[i].launchapp) &&
!Components[i].forceupgrade && !(Components[i].invisible))
WritePrivateProfileString(Components[i].compname, "Attributes",
"SELECTED|ADDITIONAL", iniDstPath);
else if (Components[i].additional && !(Components[i].launchapp) &&
Components[i].forceupgrade && !(Components[i].unselected) &&
!(Components[i].invisible))
WritePrivateProfileString(Components[i].compname, "Attributes",
"SELECTED|ADDITIONAL|FORCE_UPGRADE", iniDstPath);
else if (Components[i].additional && !(Components[i].launchapp) &&
Components[i].forceupgrade && Components[i].unselected &&
!(Components[i].invisible))
WritePrivateProfileString(Components[i].compname, "Attributes",
"UNSELECTED|ADDITIONAL|FORCE_UPGRADE", iniDstPath);
else if (!(Components[i].disabled) && !(Components[i].additional) &&
Components[i].forceupgrade && !(Components[i].invisible))
WritePrivateProfileString(Components[i].compname, "Attributes",
"SELECTED|FORCE_UPGRADE", iniDstPath);
else if (Components[i].additional && Components[i].launchapp &&
Components[i].uncompress && !(Components[i].invisible))
WritePrivateProfileString(Components[i].compname, "Attributes",
"SELECTED|UNCOMPRESS|LAUNCHAPP|ADDITIONAL", iniDstPath);
else if (!(Components[i].additional) &&
!(Components[i].forceupgrade) && !(Components[i].invisible))
WritePrivateProfileString(Components[i].compname, "Attributes",
"SELECTED|INVISIBLE", iniDstPath);
componentOrder++;
CString strAttributes = "SELECTED";
CString strSep = "|";
if (Components[i].disabled)
strAttributes += strSep + "DISABLED";
if (Components[i].invisible)
strAttributes += strSep + "INVISIBLE";
if (Components[i].visible)
strAttributes += strSep + "VISIBLE";
if (Components[i].uncompress)
strAttributes += strSep + "UNCOMPRESS";
if (Components[i].launchapp)
strAttributes += strSep + "LAUNCHAPP";
if (Components[i].additional)
strAttributes += strSep + "ADDITIONAL";
if (Components[i].forceupgrade)
strAttributes += strSep + "FORCE_UPGRADE";
if (Components[i].supersede)
strAttributes += strSep + "SUPERSEDE";
if (Components[i].downloadonly)
strAttributes += strSep + "DOWNLOAD_ONLY";
if (Components[i].ignoreerror)
strAttributes += strSep + "IGNORE_DOWNLOAD_ERROR";
if (Components[i].unselected)
{
// UNSELECTED attribute must not appear with SELECTED attribute
if ( (strAttributes.Find("SELECTED")) != -1 )
strAttributes.Replace("SELECTED", "UNSELECTED");
}
WritePrivateProfileString(Components[i].compname, "Attributes",
strAttributes, iniDstPath);
componentOrder++;
}
else
WritePrivateProfileString(Components[i].compname, "Attributes", "INVISIBLE", iniDstPath);
WritePrivateProfileString(Components[i].compname, "Attributes",
"INVISIBLE", iniDstPath);
}
}
@ -1855,18 +1873,23 @@ void LinuxInvisible()
WritePrivateProfileString("Setup Type1",(LPCTSTR)Cee,
(LPCTSTR)component,iniDstPath);
if ((Components[i].invisible) && (Components[i].downloadonly))
WritePrivateProfileString(Components[i].compname,"Attributes",
"SELECTED|INVISIBLE|DOWNLOAD_ONLY",iniDstPath);
else if ((Components[i].invisible) && !(Components[i].downloadonly))
WritePrivateProfileString(Components[i].compname,"Attributes",
"SELECTED|INVISIBLE",iniDstPath);
else if (!Components[i].empty)
WritePrivateProfileString(Components[i].compname,"Attributes",
"",iniDstPath);
else
WritePrivateProfileString(Components[i].compname,"Attributes",
"SELECTED",iniDstPath);
CString strAttributes = "SELECTED";
CString strSep = "|";
if (Components[i].invisible)
strAttributes += strSep + "INVISIBLE";
if (Components[i].downloadonly)
strAttributes += strSep + "DOWNLOAD_ONLY";
if (Components[i].visible)
// VISIBLE attribute must appear by itself
// this may require change in future if VISIBLE attribute in the
// browser installer appears with other attributes
strAttributes = "VISIBLE";
WritePrivateProfileString(Components[i].compname, "Attributes",
strAttributes, iniDstPath);
componentOrder++;
}
else