--- FeedConverter.js.orig 2008-04-02 08:50:52.000000000 +0900+++ FeedConverter.js 2008-04-04 18:34:43.000000000 +0900@@ -390,7 +390,10 @@ var FeedResultService = { switch (handler) { case "client":+ const PREF_SELECTED_APP_ARGS = "browser.feeds.handlers.application.args";+ var clientApp = prefs.getComplexValue(getPrefAppForType(feedType), Ci.nsILocalFile);+ var feedhandlerArgs = safeGetCharPref(PREF_SELECTED_APP_ARGS, Ci.nsILocalFile); // For the benefit of applications that might know how to deal with more // URLs than just feeds, send feed: URLs in the following format:@@ -403,17 +406,24 @@ var FeedResultService = { Cc["@mozilla.org/network/io-service;1"]. getService(Ci.nsIIOService); var feedURI = ios.newURI(spec, null, null);- if (feedURI.schemeIs("http")) {+ if (feedURI.schemeIs("http") && !(feedhandlerArgs)) { feedURI.scheme = "feed"; spec = feedURI.spec; } else spec = "feed:" + spec;- var ss =- Cc["@mozilla.org/browser/shell-service;1"].- getService(Ci.nsIShellService);- ss.openApplicationWithURI(clientApp, spec);+ var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);+ file.initWithPath(clientApp.persistentDescriptor);+ var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);+ process.init(file);++ if (feedhandlerArgs)+ var args = [feedhandlerArgs, spec];+ else+ var args = [spec];++ process.run(false, args, args.length); break; default: