Depending on where an external protocol handler is specified, the target app will receive different commandline arguments. The examples below use "mailto:" but the behavior described applies to all supported protocols.
If you use os2.ini->DefaultMailParameters, specifying either "-compose" or "-compose %url%" will produce the same commandline:
e.g. " -compose mailto:firstname.lastname@example.org".
Using prefs.js->applications.mailto.parameters will produce different results. Entering just "-compose" results in the same commandline as above. However, entering "-compose %url%" produces:
e.g. " -compose email@example.com mailto:firstname.lastname@example.org".
Created attachment 294574 [details] [diff] [review]
don't append URL if already replaced full URL
This should fix this. At least on the 1.8 branch where this feature still works. (I would check the same change into trunk but there this method was moved to nsMIMEInfoOS2 so I would patch nsMIMEInfoOS2.cpp instead when checking it in.)
Fix checked into trunk (uriloader/exthandler/os2/nsMIMEInfoOS2.cpp v1.11) and 1.8 branch (uriloader/exthandler/os2/nsOSHelperAppService.cpp v22.214.171.124).