Actually, CmdUtils.parserVersion was added to 0.1.9 too, and will always return 1. You are right that it will break for versions prior to 0.1.9.
On Jul 10, 3:55 am, garyhodgson <[email protected]> wrote: > Hi, > > I'm glad that the parserVersion hack is useful, but it's worth noting > that this is only useful for people who have upgraded to 0.5 or > greater. To cater for people who have not upgraded, the function > still has to be defined in the command itself. And if you do > implement it in the command itself please note the following... > > The function added in CmdUtils (https://ubiquity.mozilla.com/hg/ > ubiquity-firefox/rev/651ba8eea7bf) leaves out the following check: > > return (branch.getPrefType("parserVersion") != 0) ? branch.getIntPref > ("parserVersion") == 2 : false; > > Versions prior to 0.5 of course do not have this parserVersion > preference and so getIntPref fails with an exception: > > [Exception... "Component returned failure code: 0x8000ffff > (NS_ERROR_UNEXPECTED) [nsIPrefBranch.getIntPref]" nsresult: > "0x8000ffff (NS_ERROR_UNEXPECTED)" location: "JS frame :: file:/// > ... /extensions/[email protected]/modules/ > sandboxfactory.js#ubiquity://command-editor-code :: parserVersion :: > line 5" data: no] > > nsIPrefBranch seems to lack some basic functionality such as a > "hasPref" function, or even a nice degradation on the getPref > functions, and so using the following function works with versions > prior to 0.5: > > function parserVersion() { > var prefs = > Components.classes["@mozilla.org/preferences-service; > 1"].getService(Components.interfaces.nsIPrefService); > var branch = prefs.getBranch("extensions.ubiquity."); > return (branch.getPrefType("parserVersion") != 0) ? > branch.getIntPref > ("parserVersion") == 2 : false; > } > > Cheers, > Gary --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "ubiquity-firefox" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/ubiquity-firefox?hl=en -~----------~----~----~----~------~----~------~--~---
