if LoadInstallDataSource fails, nsChromeRegistry::CheckForNewChrome should load installed-chrome

NEW
Assigned to

Status

()

Core
XUL
--
minor
15 years ago
10 months ago

People

(Reporter: timeless, Assigned: timeless)

Tracking

Trunk
x86
Windows 2000
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Assignee)

Description

15 years ago
tested: mozilla 1.4 final, a cvs build from trunk

the first hundred or so times that i ran mozilla 1.4 it crashed or quit very 
early because there wasn't enough memory to run anything.

unfortunately somehow one of those runs resulted in a 0 byte chrome.rdf file.

There are a few problems here:
4. If the InstallDataSource option fails, then it's critical that installed-
chrome.txt be parsed. It isn't currently:

nsChromeRegistry::CheckForNewChrome()
{
  nsresult rv;

  rv = LoadInstallDataSource();
  if (NS_FAILED(rv)) return rv;

  // open the installed-chrome file

stack:
nsChromeRegistry::CheckForNewChrome(nsChromeRegistry * const 0x0109c028) line 
3489 + 8 bytes
nsChromeRegistry::Init() line 428
nsChromeRegistryConstructor(nsISupports * 0x00000000, const nsID & {...}, void 
* * 0x0012f1f4) line 50 + 128 bytes
nsGenericFactory::CreateInstance(nsGenericFactory * const 0x03ba9010, 
nsISupports * 0x00000000, const nsID & {...}, void * * 0x0012f1f4) line 86 + 21 
bytes
nsComponentManagerImpl::CreateInstanceByContractID(nsComponentManagerImpl * 
const 0x0043e010, const char * 0x07d5ac24, nsISupports * 0x00000000, const nsID 
& {...}, void * * 0x0012f1f4) line 2062 + 24 bytes
nsComponentManagerImpl::GetServiceByContractID(nsComponentManagerImpl * const 
0x0043e014, const char * 0x07d5ac24, const nsID & {...}, void * * 0x0012f258) 
line 2499 + 50 bytes
nsGetServiceByContractID::operator()(const nsID & {...}, void * * 0x0012f258) 
line 121 + 38 bytes
nsCOMPtr<nsIChromeRegistry>::assign_from_helper(const nsCOMPtr_helper & {...}, 
const nsID & {...}) line 965 + 18 bytes
nsCOMPtr<nsIChromeRegistry>::operator=(const nsCOMPtr_helper & {...}) line 588
nsChromeProtocolHandler::NewURI(nsChromeProtocolHandler * const 0x03b44410, 
const nsACString & {...}, const char * 0x00000000, nsIURI * 0x00000000, nsIURI 
* * 0x0012f850) line 604 + 30 bytes
nsIOService::NewURI(nsIOService * const 0x03b93e78, const nsACString & {...}, 
const char * 0x00000000, nsIURI * 0x00000000, nsIURI * * 0x0012f850) line 405 + 
39 bytes
NS_NewURI(nsIURI * * 0x0012f850, const nsACString & {...}, const char * 
0x00000000, nsIURI * 0x00000000, nsIIOService * 0x03b93e78) line 114 + 28 bytes
NS_NewURI(nsIURI * * 0x0012f850, const char * 0x03b9ab70, nsIURI * 0x00000000, 
nsIIOService * 0x00000000) line 134 + 33 bytes
nsWindowWatcher::URIfromURL(const char * 0x03b9ab70, nsIDOMWindow * 0x00000000, 
nsIURI * * 0x0012f850) line 1148 + 24 bytes
nsWindowWatcher::OpenWindowJS(nsWindowWatcher * const 0x03b8df0c, nsIDOMWindow 
* 0x00000000, const char * 0x03b9ab70, const char * 0x0741ea0c, const char * 
0x0741e614, int 1, unsigned int 1, long * 0x010a2460, nsIDOMWindow * * 
0x0012fa20) line 491 + 40 bytes
nsWindowWatcher::OpenWindow(nsWindowWatcher * const 0x03b8df08, nsIDOMWindow * 
0x00000000, const char * 0x03b9ab70, const char * 0x0741ea0c, const char * 
0x0741e614, nsISupports * 0x03b55db8, nsIDOMWindow * * 0x0012fa20) line 452 + 
48 bytes
nsProfile::LoadDefaultProfileDir(nsCString & 
{"chrome://communicator/content/profile/profileSelection.xul"}, int 1) line 540 
+ 94 bytes
nsProfile::StartupWithArgs(nsProfile * const 0x010aed38, nsICmdLineService * 
0x01049168, int 1) line 356 + 16 bytes
nsAppShellService::DoProfileStartup(nsAppShellService * const 0x0108e310, 
nsICmdLineService * 0x01049168, int 1) line 265 + 31 bytes
InitializeProfileService(nsICmdLineService * 0x01049168) line 928 + 31 bytes
main1(int 1, char * * 0x00444340, nsISupports * 0x010490b8) line 1203 + 14 bytes
main(int 1, char * * 0x00444340) line 1670 + 37 bytes
mainCRTStartup() line 338 + 17 bytes
KERNEL32! SetUnhandledExceptionFilter + 92 bytes
(Assignee)

Updated

10 years ago
Component: XP Toolkit/Widgets: XUL → XUL
QA Contact: shrir → xptoolkit.widgets
You need to log in before you can comment on or make changes to this bug.