diff -up mozilla-central/browser/components/preferences/advanced.xul.default mozilla-central/browser/components/preferences/advanced.xul --- mozilla-central/browser/components/preferences/advanced.xul.default 2011-01-22 01:24:21.000000000 +0100 +++ mozilla-central/browser/components/preferences/advanced.xul 2011-01-22 16:48:18.522166468 +0100 @@ -194,10 +194,11 @@ #ifdef HAVE_SHELL_SERVICE +#ifdef MOZ_CRASHREPORTER - +#ifdef 0 +#endif #ifdef MOZ_CRASHREPORTER #endif +#endif diff -up mozilla-central/browser/components/shell/src/nsGNOMEShellService.cpp.default mozilla-central/browser/components/shell/src/nsGNOMEShellService.cpp --- mozilla-central/browser/components/shell/src/nsGNOMEShellService.cpp.default 2011-01-22 01:24:22.000000000 +0100 +++ mozilla-central/browser/components/shell/src/nsGNOMEShellService.cpp 2011-01-22 16:51:39.616884957 +0100 @@ -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); if (gconf) { - nsCAutoString appKeyValue(mAppPath); - appKeyValue.Append(" \"%s\""); + nsCAutoString appKeyValue(MOZ_APP_NAME); + appKeyValue.Append(" %s"); for (unsigned int i = 0; i < NS_ARRAY_LENGTH(appProtocols); ++i) { if (appProtocols[i].essential || aClaimAllTypes) { gconf->SetAppForProtocol(nsDependentCString(appProtocols[i].name), diff -up mozilla-central/browser/components/shell/src/nsGNOMEShellService.h.default mozilla-central/browser/components/shell/src/nsGNOMEShellService.h --- mozilla-central/browser/components/shell/src/nsGNOMEShellService.h.default 2011-01-22 01:24:22.000000000 +0100 +++ mozilla-central/browser/components/shell/src/nsGNOMEShellService.h 2011-01-22 16:48:18.523166485 +0100 @@ -43,7 +43,7 @@ class nsGNOMEShellService : public nsIShellService { public: - nsGNOMEShellService() : mCheckedThisSession(PR_FALSE) { } + nsGNOMEShellService() : mCheckedThisSession(PR_TRUE) { } NS_DECL_ISUPPORTS NS_DECL_NSISHELLSERVICE