From 17d7433c04cf836c11a3733ffee6a3eb08d29bca Mon Sep 17 00:00:00 2001 From: Mike Hommey <mh+mozilla@glandium.org> Date: Thu, 23 Oct 2008 18:19:03 +0200 Subject: [PATCH] Bug 460599 - Allow external web feed application to work without gnome libraries; r=(gavin.sharp + myk) --- browser/components/feeds/src/FeedConverter.js | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/browser/components/feeds/src/FeedConverter.js b/browser/components/feeds/src/FeedConverter.js index e9531d44ef9fe..cd192906f223c 100644 --- a/browser/components/feeds/src/FeedConverter.js +++ b/browser/components/feeds/src/FeedConverter.js @@ -447,10 +447,22 @@ var FeedResultService = { else spec = "feed:" + spec; - var ss = - Cc["@mozilla.org/browser/shell-service;1"]. - getService(Ci.nsIShellService); - ss.openApplicationWithURI(clientApp, spec); + // Retrieving the shell service might fail on some systems, most + // notably systems where GNOME is not installed. + try { + var ss = + Cc["@mozilla.org/browser/shell-service;1"]. + getService(Ci.nsIShellService); + ss.openApplicationWithURI(clientApp, spec); + } catch(e) { + // If we couldn't use the shell service, fallback to using a + // nsIProcess instance + var p = + Cc["@mozilla.org/process/util;1"]. + createInstance(Ci.nsIProcess); + p.init(clientApp); + p.run(false, [spec], 1); + } break; default: -- GitLab