зеркало из https://github.com/mozilla/gecko-dev.git
Fix for .xpi file deletion upon completion of install.
This commit is contained in:
Родитель
02a83c388c
Коммит
89a3e6ba5b
Двоичные данные
xpinstall/wizard/mac/rsrc/MIWCommon.rsrc
Двоичные данные
xpinstall/wizard/mac/rsrc/MIWCommon.rsrc
Двоичный файл не отображается.
Двоичные данные
xpinstall/wizard/mac/rsrc/Mozilla.rsrc
Двоичные данные
xpinstall/wizard/mac/rsrc/Mozilla.rsrc
Двоичный файл не отображается.
Двоичные данные
xpinstall/wizard/mac/rsrc/Netscape.rsrc
Двоичные данные
xpinstall/wizard/mac/rsrc/Netscape.rsrc
Двоичный файл не отображается.
|
@ -188,6 +188,11 @@ pascal void* Install(void* unused)
|
|||
/* launch the downloaded apps who had the LAUNCHAPP attr set */
|
||||
LaunchApps(vRefNum, dirID);
|
||||
|
||||
#if MOZILLA == 0
|
||||
/* cleanup downloaded .xpis */
|
||||
DeleteXPIs(vRefNum, dirID); /* temp folder location is supplied */
|
||||
#endif
|
||||
|
||||
/* wind down app */
|
||||
gDone = true;
|
||||
|
||||
|
@ -509,6 +514,50 @@ LaunchApps(short vRefNum, long dirID)
|
|||
}
|
||||
}
|
||||
|
||||
void
|
||||
DeleteXPIs(short vRefNum, long dirID)
|
||||
{
|
||||
int compsDone = 0, i;
|
||||
int instChoice = gControls->opt->instChoice - 1;
|
||||
OSErr err = noErr;
|
||||
StringPtr pArchiveName;
|
||||
FSSpec fsCurr;
|
||||
|
||||
// loop through 0 to kMaxComponents
|
||||
for(i=0; i<kMaxComponents; i++)
|
||||
{
|
||||
// general test: if component in setup type
|
||||
if ( (gControls->cfg->st[instChoice].comp[i] == kInSetupType) &&
|
||||
(compsDone < gControls->cfg->st[instChoice].numComps) )
|
||||
{
|
||||
// if custom and selected, or not custom setup type
|
||||
if ( ((instChoice == gControls->cfg->numSetupTypes-1) &&
|
||||
(gControls->cfg->comp[i].selected == true)) ||
|
||||
(instChoice < gControls->cfg->numSetupTypes-1) )
|
||||
{
|
||||
HLock(gControls->cfg->comp[i].archive);
|
||||
pArchiveName = CToPascal(*gControls->cfg->comp[i].archive);
|
||||
HUnlock(gControls->cfg->comp[i].archive);
|
||||
|
||||
err = FSMakeFSSpec(vRefNum, dirID, pArchiveName, &fsCurr);
|
||||
if (err == noErr)
|
||||
{
|
||||
err = FSpDelete(&fsCurr);
|
||||
#ifdef MIW_DEBUG
|
||||
if (err != noErr)
|
||||
SysBeep(10);
|
||||
#endif
|
||||
}
|
||||
|
||||
if (pArchiveName)
|
||||
DisposePtr((Ptr)pArchiveName);
|
||||
}
|
||||
}
|
||||
|
||||
compsDone++;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
InitProgressBar(void)
|
||||
{
|
||||
|
|
|
@ -249,7 +249,7 @@ void MainEventLoop(void)
|
|||
|
||||
if (!gDone) /* after cx switch back ensure not done */
|
||||
{
|
||||
if(WaitNextEvent(everyEvent, &evt, 0, mouseRgn))
|
||||
if(WaitNextEvent(everyEvent, &evt, 1, mouseRgn))
|
||||
{
|
||||
if (mouseRgn)
|
||||
SetRectRgn(mouseRgn, evt.where.h, evt.where.v, evt.where.h + 1, evt.where.v + 1);
|
||||
|
|
|
@ -552,6 +552,7 @@ Boolean GenerateIDIFromOpt(Str255, long, short, FSSpec *);
|
|||
void AddKeyToIDI(short, Handle, char *);
|
||||
Boolean ExistArchives(short, long);
|
||||
void LaunchApps(short, long);
|
||||
void DeleteXPIs(short, long);
|
||||
void InitProgressBar(void);
|
||||
Boolean InitSDLib(void);
|
||||
Boolean LoadSDLib(FSSpec, SDI_NETINSTALL *, EventProc *, CFragConnectionID *);
|
||||
|
|
Загрузка…
Ссылка в новой задаче