diff -up firefox-4.0/mozilla-central/browser/components/preferences/advanced.xul.default firefox-4.0/mozilla-central/browser/components/preferences/advanced.xul --- firefox-4.0/mozilla-central/browser/components/preferences/advanced.xul.default 2010-08-06 03:08:58.000000000 +0200 +++ firefox-4.0/mozilla-central/browser/components/preferences/advanced.xul 2010-08-30 16:35:21.000000000 +0200 @@ -183,10 +183,11 @@ #ifdef HAVE_SHELL_SERVICE +#ifdef MOZ_CRASHREPORTER - +#ifdef 0 +#endif #ifdef MOZ_CRASHREPORTER #endif +#endif diff -up firefox-4.0/mozilla-central/browser/components/shell/src/nsGNOMEShellService.cpp.default firefox-4.0/mozilla-central/browser/components/shell/src/nsGNOMEShellService.cpp --- firefox-4.0/mozilla-central/browser/components/shell/src/nsGNOMEShellService.cpp.default 2010-08-06 03:08:59.000000000 +0200 +++ firefox-4.0/mozilla-central/browser/components/shell/src/nsGNOMEShellService.cpp 2010-08-30 16:37:41.000000000 +0200 @@ -140,27 +140,21 @@ NS_IMPL_ISUPPORTS1(nsGNOMEShellService, PRBool nsGNOMEShellService::KeyMatchesAppName(const char *aKeyValue) const { + nsCAutoString appName; - gchar *commandPath; if (mUseLocaleFilenames) { gchar *nativePath = g_filename_from_utf8(aKeyValue, -1, NULL, NULL, NULL); if (!nativePath) { NS_ERROR("Error converting path to filesystem encoding"); return PR_FALSE; } - - commandPath = g_find_program_in_path(nativePath); + appName.Assign(nativePath); g_free(nativePath); } else { - commandPath = g_find_program_in_path(aKeyValue); + appName.Assign(aKeyValue); } - - if (!commandPath) - return PR_FALSE; - - PRBool matches = mAppPath.Equals(commandPath); - g_free(commandPath); - return matches; + // Compare default browser command retrieved from gconf with MOZ_APP_NAME + return appName.EqualsLiteral(MOZ_APP_NAME); } NS_IMETHODIMP @@ -215,8 +209,8 @@ nsGNOMEShellService::SetDefaultBrowser(P nsCOMPtr gconf = do_GetService(NS_GCONFSERVICE_CONTRACTID); - nsCAutoString appKeyValue(mAppPath); - appKeyValue.Append(" \"%s\""); + nsCAutoString appKeyValue(MOZ_APP_NAME); + appKeyValue.Append(" %s"); unsigned int i; for (i = 0; i < NS_ARRAY_LENGTH(appProtocols); ++i) { diff -up firefox-4.0/mozilla-central/browser/components/shell/src/nsGNOMEShellService.h.default firefox-4.0/mozilla-central/browser/components/shell/src/nsGNOMEShellService.h --- firefox-4.0/mozilla-central/browser/components/shell/src/nsGNOMEShellService.h.default 2010-08-06 03:08:59.000000000 +0200 +++ firefox-4.0/mozilla-central/browser/components/shell/src/nsGNOMEShellService.h 2010-08-30 16:35:22.000000000 +0200 @@ -43,7 +43,7 @@ class nsGNOMEShellService : public nsIShellService { public: - nsGNOMEShellService() : mCheckedThisSession(PR_FALSE) { } + nsGNOMEShellService() : mCheckedThisSession(PR_TRUE) { } NS_DECL_ISUPPORTS NS_DECL_NSISHELLSERVICE