diff --git a/mozilla/extensions/spatialnavigation/src/nsSpatialNavigation.cpp b/mozilla/extensions/spatialnavigation/src/nsSpatialNavigation.cpp index bcd1326d7db..d134115ffff 100755 --- a/mozilla/extensions/spatialnavigation/src/nsSpatialNavigation.cpp +++ b/mozilla/extensions/spatialnavigation/src/nsSpatialNavigation.cpp @@ -84,6 +84,11 @@ nsSpatialNavigation::KeyUp(nsIDOMEvent* aEvent) NS_IMETHODIMP nsSpatialNavigation::KeyPress(nsIDOMEvent* aEvent) { + nsCOMPtr prefBranch = do_GetService(NS_PREFSERVICE_CONTRACTID); + PRBool enabled; + prefBranch->GetBoolPref("snav.enabled", &enabled); + if (!enabled) // this doesn't work. wtf? if (!mService->mEnabled) + return NS_OK; PRInt32 formControlType = -1; // check to see if we are in a text field. @@ -517,9 +522,6 @@ nsSpatialNavigation::handleMove(int direction) { PRUint32 type = FOCUS; - if (!mService->mEnabled) - return NS_OK; - nsCOMPtr focusedContent; getFocusedContent(direction, getter_AddRefs(focusedContent)); diff --git a/mozilla/extensions/spatialnavigation/src/nsSpatialNavigationService.cpp b/mozilla/extensions/spatialnavigation/src/nsSpatialNavigationService.cpp index 1d17d0993de..0b8b2c22516 100755 --- a/mozilla/extensions/spatialnavigation/src/nsSpatialNavigationService.cpp +++ b/mozilla/extensions/spatialnavigation/src/nsSpatialNavigationService.cpp @@ -101,7 +101,7 @@ nsSpatialNavigationService::Observe(nsISupports *aSubject, const char *aTopic, c } - if (!strcmp(aTopic,"xpcom-startup")) + if (!strcmp(aTopic,"app-startup")) { nsCOMPtr windowWatcher = do_GetService(NS_WINDOWWATCHER_CONTRACTID, &rv); NS_ENSURE_SUCCESS(rv, rv); @@ -209,7 +209,7 @@ static NS_METHOD SpatialNavigationServiceRegistration(nsIComponentManager *aComp return rv; char* previous = nsnull; - rv = catman->AddCategoryEntry("xpcom-startup", + rv = catman->AddCategoryEntry("app-startup", "SpatialNavigationService", SpatialNavigationService_ContractID, PR_TRUE, @@ -240,7 +240,7 @@ static NS_METHOD SpatialNavigationServiceUnregistration(nsIComponentManager *aCo if (NS_FAILED(rv)) return rv; - rv = catman->DeleteCategoryEntry("xpcom-startup", + rv = catman->DeleteCategoryEntry("app-startup", "SpatialNavigationService", PR_TRUE);