diff -up firefox-24.0/mozilla-esr24/browser/components/preferences/advanced.xul.default firefox-24.0/mozilla-esr24/browser/components/preferences/advanced.xul --- firefox-24.0/mozilla-esr24/browser/components/preferences/advanced.xul.default 2013-09-11 05:22:18.000000000 +0200 +++ firefox-24.0/mozilla-esr24/browser/components/preferences/advanced.xul 2013-10-31 12:51:28.597413904 +0100 @@ -40,7 +40,7 @@ #endif -#ifdef HAVE_SHELL_SERVICE +#ifdef 0 @@ -72,7 +72,7 @@ type="bool"/> -#ifdef MOZ_UPDATER +#ifdef 0 #ifdef XP_WIN @@ -106,7 +106,7 @@ type="bool"/> -#ifdef HAVE_SHELL_SERVICE +#ifdef 0 #endif @@ -174,7 +174,7 @@ preference="layout.spellcheckDefault"/> -#ifdef HAVE_SHELL_SERVICE +#ifdef 0 diff -up firefox-24.0/mozilla-esr24/browser/components/shell/src/Makefile.in.default firefox-24.0/mozilla-esr24/browser/components/shell/src/Makefile.in --- firefox-24.0/mozilla-esr24/browser/components/shell/src/Makefile.in.default 2013-10-31 12:49:11.279309914 +0100 +++ firefox-24.0/mozilla-esr24/browser/components/shell/src/Makefile.in 2013-10-31 12:52:27.772465355 +0100 @@ -13,7 +13,7 @@ include $(DEPTH)/config/autoconf.mk FORCE_STATIC_LIB = 1 USE_STATIC_LIBS = 1 -DISABLED_EXTRA_COMPONENTS = nsSetDefaultBrowser.js nsSetDefaultBrowser.manifest +#DISABLED_EXTRA_COMPONENTS = nsSetDefaultBrowser.js nsSetDefaultBrowser.manifest include $(topsrcdir)/config/rules.mk diff -up firefox-24.0/mozilla-esr24/browser/components/shell/src/nsGNOMEShellService.cpp.default firefox-24.0/mozilla-esr24/browser/components/shell/src/nsGNOMEShellService.cpp --- firefox-24.0/mozilla-esr24/browser/components/shell/src/nsGNOMEShellService.cpp.default 2013-09-11 05:22:18.000000000 +0200 +++ firefox-24.0/mozilla-esr24/browser/components/shell/src/nsGNOMEShellService.cpp 2013-10-31 12:56:17.450679146 +0100 @@ -149,8 +149,8 @@ nsGNOMEShellService::GetAppPathFromLaunc bool nsGNOMEShellService::KeyMatchesAppName(const char *aKeyValue) const { + nsAutoCString appName; - gchar *commandPath; if (mUseLocaleFilenames) { gchar *nativePath = g_filename_from_utf8(aKeyValue, -1, NULL, NULL, NULL); if (!nativePath) { @@ -158,17 +158,13 @@ nsGNOMEShellService::KeyMatchesAppName(c return 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 false; - - bool matches = mAppPath.Equals(commandPath); - g_free(commandPath); + bool matches = mAppPath.Equals(appName); return matches; } @@ -253,16 +249,7 @@ nsGNOMEShellService::SetDefaultBrowser(b nsCOMPtr gconf = do_GetService(NS_GCONFSERVICE_CONTRACTID); nsCOMPtr giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID); if (gconf) { - nsAutoCString appKeyValue; - if (mAppIsInPath) { - // mAppPath is in the users path, so use only the basename as the launcher - gchar *tmp = g_path_get_basename(mAppPath.get()); - appKeyValue = tmp; - g_free(tmp); - } else { - appKeyValue = mAppPath; - } - + nsAutoCString appKeyValue(MOZ_APP_NAME); appKeyValue.AppendLiteral(" %s"); for (unsigned int i = 0; i < ArrayLength(appProtocols); ++i) { diff -up firefox-24.0/mozilla-esr24/browser/components/shell/src/nsGNOMEShellService.h.default firefox-24.0/mozilla-esr24/browser/components/shell/src/nsGNOMEShellService.h --- firefox-24.0/mozilla-esr24/browser/components/shell/src/nsGNOMEShellService.h.default 2013-09-11 05:22:18.000000000 +0200 +++ firefox-24.0/mozilla-esr24/browser/components/shell/src/nsGNOMEShellService.h 2013-10-31 12:49:11.280309915 +0100 @@ -13,7 +13,7 @@ class nsGNOMEShellService MOZ_FINAL : public nsIShellService { public: - nsGNOMEShellService() : mCheckedThisSession(false), mAppIsInPath(false) { } + nsGNOMEShellService() : mCheckedThisSession(true), mAppIsInPath(true) { } NS_DECL_ISUPPORTS NS_DECL_NSISHELLSERVICE